curl --request GET \
--url https://api.blinq.me/v1/notes/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.blinq.me/v1/notes/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.blinq.me/v1/notes/{id}', 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.blinq.me/v1/notes/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.blinq.me/v1/notes/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.blinq.me/v1/notes/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blinq.me/v1/notes/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "note-id",
"title": "Meeting notes",
"created_at": "2026-10-01T00:00:00.000Z",
"updated_at": "2026-10-01T00:00:00.000Z",
"deleted_at": null,
"status": "ready",
"type": "voice_note",
"share_url": "https://note.blinq.me/share-id",
"linked_contacts": [
{
"id": "contact-id",
"full_name": "Jane Doe",
"workspace_id": "workspace-id"
}
],
"content": "## Next steps\n\n- Share the project proposal.",
"content_format": null,
"source": "mobile"
}Get note
Gets a note owned by the authenticated user, including its content or AI summary when available.
Missing notes and notes owned by another user both return 404.
Requires the blinq:notes:read scope.
curl --request GET \
--url https://api.blinq.me/v1/notes/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.blinq.me/v1/notes/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.blinq.me/v1/notes/{id}', 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.blinq.me/v1/notes/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.blinq.me/v1/notes/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.blinq.me/v1/notes/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blinq.me/v1/notes/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "note-id",
"title": "Meeting notes",
"created_at": "2026-10-01T00:00:00.000Z",
"updated_at": "2026-10-01T00:00:00.000Z",
"deleted_at": null,
"status": "ready",
"type": "voice_note",
"share_url": "https://note.blinq.me/share-id",
"linked_contacts": [
{
"id": "contact-id",
"full_name": "Jane Doe",
"workspace_id": "workspace-id"
}
],
"content": "## Next steps\n\n- Share the project proposal.",
"content_format": null,
"source": "mobile"
}Authorizations
Send a Blinq API key as Authorization: Bearer <api-key>; enter only the key in the documentation playground.
Create and revoke keys in the Blinq web app under Settings > API keys.
The key needs the scopes required by the operation, and public API access requires a Pro or Business plan.
Path Parameters
The note ID.
1Response
The requested note.
The requested note.
The ID of the note.
The custom title set by the user, otherwise the generated title, or null when the note has neither.
When the user's device created the note, as an ISO 8601 timestamp.
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$When the note was last updated, as an ISO 8601 timestamp.
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$Always null. Deleted notes are not returned.
The processing state of the note.
processing: recording or processing is in progress.
ready: no recording or processing is pending. Content may be empty or null.
failed: processing failed. Partial content may be available.
blocked: processing is blocked by the account plan or usage limits.
processing, ready, failed, blocked How the note was captured: a recorded voice_note, a recorded phone_call, or a typed text note. null when the type is unavailable.
voice_note, phone_call, text A URL for viewing the note in a browser, or null when the note has no share link. Reading a note never creates a share link or changes sharing settings.
The contacts linked to the note, or an empty array when there are none. Retrieving a linked contact requires blinq:contacts:read and contact access.
Show child attributes
Show child attributes
The stored body: an AI summary for a recording or saved text for a text note. null means no body is stored; an empty stored body remains "". Use status to determine processing state.
Always null: the backend does not record the content format. Treat the stored body as plain text unless your integration explicitly supports its markup.
The device type that recorded the note: a mobile phone, a watch, or the Blinq notetaker device. null when unknown.
mobile, watch, device 