#
The Content API lets you create, read, and manage your notes, voice memos, and photos programmatically.
#
https://api.xentropy.ai/api/content
All endpoints require authentication.
#
GET /api/content
Returns a paginated list of your content items.
#
| Param | Type | Default | Description |
|-------|------|---------|-------------|
| limit | integer | 20 | Items per page (max 100) |
| offset | integer | 0 | Pagination offset |
| type | string | — | Filter: note, voice_note, photo, post |
| folderId | UUID | — | Filter by folder |
| q | string | — | Text search (substring match) |
#
{
"data": [
{
"id": "uuid",
"type": "note",
"title": "Q3 Planning Ideas",
"body": "We should consider...",
"createdAt": "2026-06-01T12:00:00Z",
"updatedAt": "2026-06-01T12:00:00Z",
"folderId": "uuid-or-null",
"tags": ["planning", "q3"],
"summary": "Notes about Q3 planning priorities",
"mediaKind": null
}
],
"total": 42
}
#
GET /api/content/:id
Returns a single content item by ID, including full transcription for voice notes.
#
Same shape as a single item from the list endpoint, plus:
transcription— full transcript (voice notes only)mediaUrl— audio/photo URL (media items only)aiSummary— AI-generated summaryaiTags— AI-extracted tags
#
POST /api/content/notes
Content-Type: application/json
{
"body": "Your note content here",
"folderId": "optional-folder-uuid",
"title": "Optional title"
}
#
POST /api/content/voice-notes
Content-Type: multipart/form-data
audio: <audio-file>
The audio file is uploaded, transcribed via Whisper, and processed through the full AI pipeline.
#
GET /api/content/:id/related
Returns semantically similar items using pgvector similarity search.
#
{
"data": [
{
"id": "uuid",
"title": "Related Note",
"similarity": 0.89,
"...": "..."
}
]
}
#
GET /api/content/search?q=natural+language+query
Status: This endpoint exists but is currently gated. It enables natural-language search over your entire knowledge graph using pgvector similarity.
#
| Tier | Requests per minute | |------|---------------------| | Free | 60 | | Pro | 600 |
#
Content changes are pushed in real-time via WebSocket:
content:created— a new item was createdcontent:updated— an item was modifiedcontent:processed— AI processing is complete
Connect to the WebSocket server at:
wss://api.xentropy.ai
With authentication via the token query parameter or the first message.