Create a note
Creates a note and optionally links it to existing accounts by domain and existing contacts by email. Notes never create accounts or contacts: if any account_domains or contact_emails entry matches no record in the workspace, the request is rejected with 404, the response lists the unknown entries in errors.unknown_entities, and no note is created.
POST
/
v1
/
notes
Create a note
curl --request POST \
--url https://api.octolane.com/v1/notes \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"note": {
"title": "<string>",
"content": "<string>"
},
"account_domains": [
"<string>"
],
"contact_emails": [
"jsmith@example.com"
]
}
'import requests
url = "https://api.octolane.com/v1/notes"
payload = {
"note": {
"title": "<string>",
"content": "<string>"
},
"account_domains": ["<string>"],
"contact_emails": ["jsmith@example.com"]
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
note: {title: '<string>', content: '<string>'},
account_domains: ['<string>'],
contact_emails: ['jsmith@example.com']
})
};
fetch('https://api.octolane.com/v1/notes', 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.octolane.com/v1/notes",
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([
'note' => [
'title' => '<string>',
'content' => '<string>'
],
'account_domains' => [
'<string>'
],
'contact_emails' => [
'jsmith@example.com'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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.octolane.com/v1/notes"
payload := strings.NewReader("{\n \"note\": {\n \"title\": \"<string>\",\n \"content\": \"<string>\"\n },\n \"account_domains\": [\n \"<string>\"\n ],\n \"contact_emails\": [\n \"jsmith@example.com\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.octolane.com/v1/notes")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"note\": {\n \"title\": \"<string>\",\n \"content\": \"<string>\"\n },\n \"account_domains\": [\n \"<string>\"\n ],\n \"contact_emails\": [\n \"jsmith@example.com\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.octolane.com/v1/notes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"note\": {\n \"title\": \"<string>\",\n \"content\": \"<string>\"\n },\n \"account_domains\": [\n \"<string>\"\n ],\n \"contact_emails\": [\n \"jsmith@example.com\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "<string>",
"data": "<unknown>"
}{
"success": true,
"message": "<string>",
"data": "<unknown>"
}{
"success": false,
"message": "Validation failed",
"statusCode": 400
}{
"success": false,
"message": "Validation failed",
"statusCode": 400
}{
"success": false,
"message": "Validation failed",
"statusCode": 400
}Authorizations
Personal API key. Requests act as the workspace member who created the key, with that member's current access, and stop working when the key is disabled or its creator leaves the workspace.
Body
application/json
Note payload.
Was this page helpful?
⌘I
Create a note
curl --request POST \
--url https://api.octolane.com/v1/notes \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"note": {
"title": "<string>",
"content": "<string>"
},
"account_domains": [
"<string>"
],
"contact_emails": [
"jsmith@example.com"
]
}
'import requests
url = "https://api.octolane.com/v1/notes"
payload = {
"note": {
"title": "<string>",
"content": "<string>"
},
"account_domains": ["<string>"],
"contact_emails": ["jsmith@example.com"]
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
note: {title: '<string>', content: '<string>'},
account_domains: ['<string>'],
contact_emails: ['jsmith@example.com']
})
};
fetch('https://api.octolane.com/v1/notes', 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.octolane.com/v1/notes",
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([
'note' => [
'title' => '<string>',
'content' => '<string>'
],
'account_domains' => [
'<string>'
],
'contact_emails' => [
'jsmith@example.com'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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.octolane.com/v1/notes"
payload := strings.NewReader("{\n \"note\": {\n \"title\": \"<string>\",\n \"content\": \"<string>\"\n },\n \"account_domains\": [\n \"<string>\"\n ],\n \"contact_emails\": [\n \"jsmith@example.com\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.octolane.com/v1/notes")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"note\": {\n \"title\": \"<string>\",\n \"content\": \"<string>\"\n },\n \"account_domains\": [\n \"<string>\"\n ],\n \"contact_emails\": [\n \"jsmith@example.com\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.octolane.com/v1/notes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"note\": {\n \"title\": \"<string>\",\n \"content\": \"<string>\"\n },\n \"account_domains\": [\n \"<string>\"\n ],\n \"contact_emails\": [\n \"jsmith@example.com\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "<string>",
"data": "<unknown>"
}{
"success": true,
"message": "<string>",
"data": "<unknown>"
}{
"success": false,
"message": "Validation failed",
"statusCode": 400
}{
"success": false,
"message": "Validation failed",
"statusCode": 400
}{
"success": false,
"message": "Validation failed",
"statusCode": 400
}