Save a clip as an idea in the content library
curl --request POST \
--url https://api.sydium.com/v1/ideas \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"text": "<string>",
"source": {
"url": "<string>",
"title": "<string>"
}
}
'import requests
url = "https://api.sydium.com/v1/ideas"
payload = {
"text": "<string>",
"source": {
"url": "<string>",
"title": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({text: '<string>', source: {url: '<string>', title: '<string>'}})
};
fetch('https://api.sydium.com/v1/ideas', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sydium.com/v1/ideas",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'text' => '<string>',
'source' => [
'url' => '<string>',
'title' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sydium.com/v1/ideas"
payload := strings.NewReader("{\n \"text\": \"<string>\",\n \"source\": {\n \"url\": \"<string>\",\n \"title\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sydium.com/v1/ideas")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"text\": \"<string>\",\n \"source\": {\n \"url\": \"<string>\",\n \"title\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sydium.com/v1/ideas")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"text\": \"<string>\",\n \"source\": {\n \"url\": \"<string>\",\n \"title\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"ideaId": "<string>"
},
"meta": {}
}{
"success": false,
"error": {
"code": "bad_request",
"message": "<string>"
},
"meta": {}
}{
"success": false,
"error": {
"code": "bad_request",
"message": "<string>"
},
"meta": {}
}{
"success": false,
"error": {
"code": "bad_request",
"message": "<string>"
},
"meta": {}
}API Reference
Save a clip as an idea in the content library
Used by the Sydium Chrome extension. The text is saved verbatim, with the page it came from, and appears in the app’s Ideas tab at once.
POST
/
v1
/
ideas
Save a clip as an idea in the content library
curl --request POST \
--url https://api.sydium.com/v1/ideas \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"text": "<string>",
"source": {
"url": "<string>",
"title": "<string>"
}
}
'import requests
url = "https://api.sydium.com/v1/ideas"
payload = {
"text": "<string>",
"source": {
"url": "<string>",
"title": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({text: '<string>', source: {url: '<string>', title: '<string>'}})
};
fetch('https://api.sydium.com/v1/ideas', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sydium.com/v1/ideas",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'text' => '<string>',
'source' => [
'url' => '<string>',
'title' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sydium.com/v1/ideas"
payload := strings.NewReader("{\n \"text\": \"<string>\",\n \"source\": {\n \"url\": \"<string>\",\n \"title\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sydium.com/v1/ideas")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"text\": \"<string>\",\n \"source\": {\n \"url\": \"<string>\",\n \"title\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sydium.com/v1/ideas")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"text\": \"<string>\",\n \"source\": {\n \"url\": \"<string>\",\n \"title\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"ideaId": "<string>"
},
"meta": {}
}{
"success": false,
"error": {
"code": "bad_request",
"message": "<string>"
},
"meta": {}
}{
"success": false,
"error": {
"code": "bad_request",
"message": "<string>"
},
"meta": {}
}{
"success": false,
"error": {
"code": "bad_request",
"message": "<string>"
},
"meta": {}
}Authorizations
Opaque API key (sk_live_... / sk_test_...), or an OAuth access token issued for the REST API
Body
application/json
The selected text, or the page title for a page clip. Saved verbatim.
Required string length:
1 - 5000Show child attributes
Show child attributes
Was this page helpful?

