#

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 summary
  • aiTags — 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 created
  • content:updated — an item was modified
  • content: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.