Everything the platform exposes, in one place.
Auth, streaming chat, multimodal content, learnings, kanban, webhooks, publishing and observability. Every route lives under /api/v1.
The basics every route shares.
https://{your-host}/api/v1Authorization: Bearer <JWT>On every route — except the public allow-list below.
application/jsonExcept multipart uploads marked explicitly.
text/event-stream · frames: data: {...}\n\nEndpoints marked SSE return frames on the standard protocol.
{ "detail": "<msg>" }401 on invalid token, 429 on rate-limit, standard HTTP status codes.
/auth/login — 5/min per IPSensitive endpoints have their own limits. The rest inherits the global limiter.
Public allow-list
Endpoints reachable without a Bearer token.
/healthHealth check.
/auth/loginExchange email+password for a JWT. Rate-limited 5/min.
/auth/statusWhether auth is enabled on this deployment.
/auth/supabase-configPublic Supabase config (URL + anon key).
/auth/supabase-exchangeExchange a Supabase OAuth token for an internal JWT.
/approvals/public/*Tokenized approval pages — view and respond.
/screenshotsStatic previews for shared resources.
/assetsGenerated assets served to external reviewers.
/docsInteractive API docs (this page).
/openapi.jsonFull OpenAPI schema.
/redocReDoc rendering of the schema.
SSE endpoints
Streaming routes — all return text/event-stream with data: {...}\n\n frames.
/chat/conversations/{id}/messagesStreaming chat reply with tool calls.
/content/generateGenerate content via the agent.
/content/refineRefine an existing content.
/multimodal/planGenerate a multimodal production plan.
/multimodal/execute-planExecute the approved plan, asset by asset.
/planner/plans/{id}/generateGenerate items for an existing plan.
/planner/generateGenerate an autonomous plan from a brief.
/learnings/generateExtract writing_style + preferences from sources.
/learnings/generate-design-systemExtract the design system.
/learnings/generate-product-knowledgeExtract product knowledge.
/linkedin/structure-with-aiStructure raw text via AI.
/chat/conversations/{id}/eventsReal-time participant events.
Event catalogs
Self-describing catalogs — call them to list available triggers, actions and webhook events.
/automations/triggersEvery trigger (task.created, task.moved, …) automations listen to.
/automations/actionsEvery action an automation can run.
/webhooks/eventsEvery event_type a webhook can subscribe to.
Chat frames
Shapes streamed by POST /chat/conversations/{id}/messages, one per data: line.
{ content }A chunk of streamed content.
{ tool_use, status }The agent is invoking a tool. status ∈ started | finished | failed.
{ done: true }The message is complete.
{ error }Generation failed; payload carries the reason.
Conversations, sharing, upload, transcription, and the streaming message with tool calling.
/chat
/chat/conversationsList conversations.
/chat/conversationsCreate a conversation.
/chat/conversations/{id}Update title/metadata.
/chat/conversations/{id}Delete conversation. 204.
/chat/conversations/{id}/shareShare with another user_id.
/chat/conversations/{id}/participantsList participants.
/chat/conversations/{id}/participants/{user_id}Remove participant.
/chat/conversations/{id}/eventsReal-time events (new messages from other participants).
/chat/conversations/{id}/uploadAttach a file (PDF/DOCX/TXT/MD/CSV + images).
/chat/conversations/{id}/transcribeTranscribe audio (Whisper).
/chat/conversations/{id}/messagesSend a message and receive a streaming reply. Frames: {content}, {tool_use, status}, {done: true}, {error}.
/chat/conversations/{id}/messagesFull history.
Generate, refine, templates, multimodal (plan/execute), and the Content Planner.
/content
/content/generateGenerate content via the agent.
/content/refineRefine an existing content.
/content/List contents.
/content/{id}Detail with assets + feedback.
/content/{id}Update draft_content, status, etc.
/content/{id}Delete. 204.
/content/{id}/feedbackRecord score/summary/tags.
/content/templatesList built-in templates (creative_brief, media_brief, email, etc.).
/content/templatesCreate a custom template.
/content/templates/{id}Delete template.
/multimodal
Providers, multimodal production plans and asset-by-asset execution.
/multimodal/providers[/{id}]CRUD providers (DALL-E, Gemini Imagen/Veo, GPT Image…).
/multimodal/providers/knownKnown-provider templates.
/multimodal/providers/{id}/testTest credentials.
/multimodal/planGenerate a production plan (text + assets array).
/multimodal/execute-planExecute the approved plan. Frames: asset_start, asset_complete, asset_failed, done.
/multimodal/generate-assetGenerate a single asset.
/multimodal/content/{id}/assets/{asset_id}/regenerateRegenerate a specific asset.
/multimodal/content/{id}/assets[/{asset_id}]List/delete assets of the content.
/planner
Editorial plans — created, AI-generated, or autonomous.
/planner/plans[/{id}]CRUD editorial plans.
/planner/plans/{id}/generateGenerate plan items via AI.
/planner/generateGenerate an autonomous plan (no plan_id) from a brief.
/planner/items/{id}Update/delete item.
Learnings (patterns), skills, personas and the memory log — what the agent knows about your work.
/learnings
/learnings/generateExtract writing_style + preferences from sources.
/learnings/generate-design-systemExtract the design system.
/learnings/generate-product-knowledgeExtract product knowledge.
/learnings/List learnings (Patterns).
/learnings/{id}Update.
/learnings/{id}Delete.
/learnings/bulk-deleteDelete many.
/learnings/custom-rulesReturn the client's dos/don'ts.
/learnings/custom-rulesUpdate dos/don'ts.
/learnings/{id}/feedbackRecord feedback on the pattern.
/learnings/mergeConsolidate N patterns into a single merged_*.
/skills
/skills/List skills (12 seeded on first call).
/skills/generateGenerate a skill via AI from a description.
/skills[/{id}]CRUD.
/skills/{id}/toggleEnable/disable.
/skills/{id}/moveMove to a folder.
/skills/folders[/{id}]CRUD folders.
/skills/active-instructionsReturn the combined prompt of active skills.
/personas
/personas/List (5 seeded).
/personas/generateGenerate a persona via AI.
/personas[/{id}]CRUD.
/personas/{id}/simulateSimulate the persona's reaction to a content. Returns relevance_score, reaction, strengths, weaknesses, suggestions.
/memory
/memory/List recent events.
/memory/searchSemantic search (RAG).
/memory/{id}Delete entry.
/memory/statsTotal, by type, latest_at.
Importers (paste, URL, file, folders, per-platform) and vector collections.
/sources
/sources/import/pasteImport pasted text.
/sources/import/urlImport from a URL (trafilatura).
/sources/import/fileUpload a file.
/sources/import/folderImport a directory.
/sources/List.
/sources/{id}Detail with chunks/metadata.
/sources/{id}Delete.
/sources/bulk-deleteDelete many.
/sources/{id}/analyzeReprocess source.
/collections
/collections[/{id}]CRUD.
/collections/{id}/cross-referenceVector search crossing collections.
/platforms
Per-platform typed importers. POST /platforms/{type}/import with type ∈ substack, medium, twitter, youtube, rss, notion, github, website, visual-scan.
/platforms/{type}/importImport from a specific platform. type ∈ substack | medium | twitter | youtube | rss | notion | github | website | visual-scan.
/linkedin
LinkedIn-dedicated pipeline, with cookie-based and AI-based extraction.
/linkedin/import/urlA single profile/post URL.
/linkedin/import/multi-urlMultiple URLs.
/linkedin/import/batch-pasteBatch of pasted texts.
/linkedin/import/data-exportImport the official LinkedIn data export (zip).
/linkedin/auto-extractAutomatic cookie-based extraction.
/linkedin/cookie-status, /linkedin/save-cookieManage the li_at cookie.
/linkedin/sections/{source_id}List profile sections.
/linkedin/structure-with-aiStructure raw text via AI.
Kanban (tasks, columns, subtasks, timers), enterprise (clients/projects/teams/org chart), and timesheets.
/tasks
/tasks/columnsList Kanban columns.
/tasks/columnsCreate a column.
/tasks/columns/{id}Update/delete.
/tasks/List tasks. Default hides subtasks; each card includes subtask_count.
/tasks/Create a task (or subtask via parent_task_id).
/tasks/{id}Detail.
/tasks/{id}Update.
/tasks/{id}Delete (cascades to subtasks).
/tasks/{id}/moveMove column/position.
/tasks/{id}/timerStart/Stop timer.
/tasks/productivity-reportcompletion_rate, on_time_rate, variance_pct, breakdowns.
/tasks/check-overdueFire task.overdue for overdue tasks.
/tasks/{id}/commentsList/create comments.
/tasks/comments/{id}Delete comment.
/enterprise
Clients, projects, project groups, users, teams, shares and orgchart.
/enterprise/clients[/{id}]CRUD clients.
/enterprise/clients/{client_id}/projectsCreate a project.
/enterprise/projectsList projects (with filters).
/enterprise/clients/{client_id}/projectsProjects of the client.
/enterprise/projects/{id}CRUD.
/enterprise/clients/{client_id}/groupsCreate a project group.
/enterprise/clients/{client_id}/groupsList groups.
/enterprise/groups/{id}Update/delete.
/enterprise/users[/{id}]CRUD.
/enterprise/projects/{id}/subtasksLegacy. Kept for compatibility. Kanban subtasks live under /tasks/ with parent_task_id.
/enterprise/share, /enterprise/shares[/{id}]Share resources (source/content/collection/plan/learning) with another client/project.
/enterprise/associateAssociate a resource to a client+project.
/enterprise/teams[/{id}]CRUD teams.
/enterprise/allocationResource allocation.
/enterprise/orgchartHierarchical tree (reports_to).
/timesheets
/timesheets/Create a manual time entry.
/timesheets/List entries.
/timesheets/{id}Update/delete.
/timesheets/reportAggregated. Returns by_user, by_client, by_project, daily, billable/non-billable split.
Automations (trigger→action), HMAC-signed webhooks, notifications, publishing and approvals.
/automations
/automations/triggersTrigger catalog (task.created, task.moved, etc.).
/automations/actionsAction catalog.
/automations[/{id}]CRUD.
/automations/{id}/runsRun history.
/automations/{id}/testExecute with a test payload.
/webhooks
/webhooks/eventsAvailable event_types.
/webhooks[/{id}]CRUD.
/webhooks/{id}/testSend a sample payload.
/webhooks/{id}/deliveriesDelivery history with status code, duration, response body.
/notifications
/notifications/List (per-user + broadcast).
/notifications/unread-count{count}.
/notifications/{id}/readMark as read.
/notifications/read-allMark all as read.
/notifications/{id}Delete.
/publishing
/publishing/accounts[/{id}]Connected social accounts.
/publishing/linkedin/auth-urlStart LinkedIn OAuth.
/publishing/linkedin/callbackLinkedIn OAuth callback.
/publishing/linkedin/statusConnection status.
/publishing/linkedin/publishPublish a content to LinkedIn.
/publishing/meta/auth-urlMeta (FB+IG) OAuth — init.
/publishing/meta/callbackMeta OAuth callback.
/publishing/meta/statusMeta connection status.
/publishing/meta/publish/facebookPublish to Facebook.
/publishing/meta/publish/instagramPublish to Instagram.
/publishing/scheduled[/{id}]Scheduled posts CRUD + cancel.
/approvals
/approvals/content/{content_id}Create an approval link with a token.
/approvals/content/{content_id}List approvals of the content.
/approvals/public/{token}Approval page (view).
/approvals/public/{token}Approve/reject with a comment.
AI logs, token usage, leaderboard and the knowledge graph.
/ai-logs
/ai-logsList logs.
/ai-logs/statsSummary.
/ai-logs/token-usageDaily + by model + by user + by function.
/ai-logs/leaderboardScore + badges (champion, top3, power_user).
/graph
/graph/knowledgeFull graph (nodes + edges).
/graph/statsPipeline counts.
/graph/influenceInfluence analysis across sources/learnings/contents.
Settings, default providers, embedding model and internal Claude Code helpers.
/settings
/settings/Return settings (secrets masked).
/settings/Update API keys, default providers, embedding model/provider, frontend_url, etc.
/settings/test-providerValidate a provider's credentials.
/settings/test-githubValidate a GitHub PAT.
/settings/available-modelsModels available by provider.
/settings/claude-code/auth-statusLocal Claude Code CLI status.
/settings/claude-code/save-tokenSave the Claude Code OAuth token.
/claude-code
Internal reasoning helpers.
/claude-code/contextBuild a context block for the agent.
/claude-code/queryVector query.
/claude-code/generateGenerate from a brief.
/claude-code/patterns/{collection_id}Patterns of a collection.
/claude-code/memoryPersist an event to the memory log.
Login, identity, Supabase OAuth exchange and TOTP (MFA).
/auth
/auth/loginExchange email+password for a JWT. Rate-limited 5/min.
/auth/meReturn the current user.
/auth/status{auth_enabled: bool} — used by the frontend to decide whether to require login.
/auth/supabase-configPublic Supabase config (URL + anon key).
/auth/supabase-exchangeExchange a Supabase OAuth token for an internal JWT.
/auth/change-passwordChange the authenticated user's password.
/mfa
/mfa/statusWhether the user has TOTP enabled.
/mfa/enrollGenerate TOTP secret + backup codes.
/mfa/verify-enrollmentConfirm the first TOTP code.
/mfa/disableRemove TOTP (rate-limited).