Start here
Everything you can do
38 endpoints across 9 capability groups. This page is the human version of GET /api/public/capabilities, which returns the same map as JSON so a client — or an agent — can discover the surface at runtime.
Your box is the source of truth
Endpoints ship with the box firmware. If something here 404s, your box is on an older version — ask it directly withcurl BOX_URL/api/public/capabilities -H "x-api-key: …".Discovery#
Find out who a key belongs to and what the box can actually do right now — including which AI models have credentials configured.
- GET
/healthServer health - GET
/api/public/meIdentity and workspace behind the credential - GET
/api/public/modelsAvailable AI models and credential status - GET
/api/public/toolsBuilt-in tools an assistant can use - GET
/api/public/capabilitiesMachine-readable version of this page
External apps#
Run your application inside IntelligenceBox. It opens from the menu with the identity of whoever uses it, and the launch hands it an API key that acts on their behalf — with their visibility, not administrative access.
- POST
/api/integrations/embed/exchangeRedeem a launch ticket: identity
Notifications#
Reach a person at their desk. A notification is persisted before it is delivered, so it survives a closed app and reappears in the bell on the next launch.
- POST
/api/public/notificationsSend a notification - GET
/api/public/notificationsList notifications - GET
/api/public/notifications/unread-countUnread count - GET
/api/public/notifications/:idGet one notification - PATCH
/api/public/notifications/:idMark read or unread - POST
/api/public/notifications/read-allMark everything read - DELETE
/api/public/notifications/:idDelete a notification
Folders#
Knowledge collections. A folder holds documents plus the pipeline settings that decide how they are parsed, chunked and embedded.
- GET
/api/public/vectorsList folders - POST
/api/public/vectorsCreate a folder - GET
/api/public/vectors/:idGet a folder with its settings - PATCH
/api/public/vectors/:idUpdate a folder - DELETE
/api/public/vectors/:idDelete a folder and everything in it
Files#
Documents inside a folder. An upload returns immediately and is ingested in the background; the file's status tells you when it is searchable.
- GET
/api/public/vectors/:id/filesList files - POST
/api/public/vectors/:id/filesUpload a file (multipart) - GET
/api/public/vectors/:id/files/:fileIdGet file metadata - PUT
/api/public/vectors/:id/files/:fileIdReplace a file - DELETE
/api/public/vectors/:id/files/:fileIdDelete a file - GET
/api/public/vectors/:id/files/:fileId/contentDownload a file
Search#
Retrieval on its own, with no LLM in the loop. Returns the matching passages with their source document and page — the building block for your own RAG.
- POST
/api/public/vectors/:id/searchSemantic search inside a folder
Assistants#
Reusable AI configurations: a system prompt, the folders it may search, and the tools it may call. An assistant created here appears in the desktop app immediately.
- GET
/api/public/assistantsList assistants - POST
/api/public/assistantsCreate an assistant - GET
/api/public/assistants/:idGet an assistant - PATCH
/api/public/assistants/:idUpdate an assistant - DELETE
/api/public/assistants/:idDelete an assistant
Chat#
Ask questions. Answers stream back as Server-Sent Events, with citations pointing at the documents they came from.
- POST
/api/ai/chatSend a message and stream the answer - POST
/api/ai/chat/:id/stopStop an in-flight response - POST
/api/v1/chat/completionsOpenAI-compatible completions - GET
/api/v1/modelsOpenAI-compatible model list
Conversations#
Everything the box remembers about past chats — including which ones came from the API rather than from a person using the app.
- GET
/api/public/chatsList conversations - GET
/api/public/chats/:idGet a conversation with its messages - PATCH
/api/public/chats/:idRename a conversation - DELETE
/api/public/chats/:idDelete a conversation
Discover it at runtime#
The same map, as JSON, from your own box.
curl BOX_URL/api/public/capabilities \
-H "x-api-key: YOUR_API_KEY"{
"version": 1,
"authentication": {
"header": "x-api-key",
"alternative": "Authorization: Bearer <key>",
"workspaceHeaders": ["x-organization-id", "x-organization-scope"]
},
"capabilities": [
{
"group": "Notifications",
"description": "Push notifications into the IntelligenceBox desktop app.",
"endpoints": [
{ "method": "POST", "path": "/api/public/notifications", "summary": "Send a notification" }
]
}
]
}