Skip to main content

REST reference

The most-used endpoints, grouped by area. Auth column abbreviations: P = public · U = user JWT · A = admin JWT · S = signed (HMAC / AppAPI).

Health

MethodPathAuthPurpose
GET/api/healthP{status, version, tier}
GET/apiPAPI info
GET/metricsPrometheus metrics (gated by METRICS_BASIC_AUTH)

¹ Optional Basic-auth via METRICS_BASIC_AUTH=user:pass.

Auth & sessions

MethodPathAuthPurpose
GET/auth/setup-statusPIs the org bootstrapped? OAuth providers configured? Available locales
POST/auth/setupPFirst-time admin password setup (one-shot)
POST/auth/admin-loginPUsername/password login
POST/auth/signupPUser registration (if enabled)
GET/auth/invite/:tokenPResolve invite token
POST/auth/logoutUEnd session
GET/auth/userUCurrent user record
GET/auth/my-permissionsUPermissions, groups, orgs, beta features
POST/auth/update-profileUUpdate profile (name, avatar, language)
POST/api/session-tokenUIssue popup→iframe session token
GET/auth/admin/signup-settingsARead signup config
PUT/auth/admin/signup-settingsAWrite signup config
GET/auth/admin/waitlistAList pending signups
POST/auth/admin/waitlist/:userId/approveAApprove waitlist entry
POST/auth/admin/waitlist/:userId/rejectAReject waitlist entry
POST/auth/pending-signupPAdd to waitlist
GET/auth/organizations/publicPPublic organisations (for embedded chat)

OAuth & SSO

MethodPathAuthPurpose
GET/auth/google/loginPStart Google OAuth
GET/auth/google/callbackPGoogle OAuth callback
GET/auth/microsoft/loginPStart Microsoft OAuth
GET/auth/microsoft/callbackPMicrosoft OAuth callback
GET/auth/github/loginPStart GitHub OAuth
GET/auth/github/callbackPGitHub OAuth callback
GET/auth/nextcloud/loginPStart NC OAuth (standalone)
GET/auth/nextcloud/callbackPNC OAuth callback
GET/auth/saml/metadataPSAML SP metadata XML
POST/auth/saml/acsPSAML assertion consumer
GET/auth/login-pickupPOAuth callback redirect handler

Connector handshake

MethodPathAuthPurpose
POST/auth/connector/bootstrapSNC connector → SaaS first-time tenant provisioning
GET/auth/nc-handshakeSNC SPA → SaaS short-lived JWT issuance
POST/auth/webhook/nc-user-syncSNC events forwarded by the connector
POST/auth/nc-consentURecord user's first-load privacy consent

Users & API keys

MethodPathAuthPurpose
GET/api/usersAList org users
POST/api/usersAInvite user
PATCH/api/users/:idAUpdate user
DELETE/api/users/:idADelete user (soft)
GET/api/api-keysUList my keys
POST/api/api-keysUCreate new key (returned once)
DELETE/api/api-keys/:idURevoke key

Organisations

MethodPathAuthPurpose
GET/api/organisationUCurrent org settings
PATCH/api/organisationAUpdate org settings
GET/api/organisation/groupsUList groups
POST/api/organisation/groupsACreate group
PATCH/api/organisation/groups/:idAUpdate group
DELETE/api/organisation/groups/:idADelete group
POST/api/organisation/groups/:id/membersAAdd member
DELETE/api/organisation/groups/:id/members/:userIdARemove member

Agents

MethodPathAuthPurpose
GET/api/agentsUList visible agents
POST/api/agentsUCreate agent
GET/api/agents/:idURead agent
PATCH/api/agents/:idUUpdate agent
DELETE/api/agents/:idUDelete agent
POST/api/agents/:id/publishUPublish to Marketplace
POST/api/agents/:id/duplicateUFork an existing agent
GET/api/agents/:id/toolsUResolved tool list for this agent + user
GET/api/marketplace/agentsPBrowse public agents

Conversations & messages

MethodPathAuthPurpose
GET/api/conversationsUList my conversations
POST/api/conversationsUStart a new conversation
GET/api/conversations/:idURead
DELETE/api/conversations/:idUSoft delete
GET/api/conversations/:id/messagesUPaginated message history
POST/api/conversations/:id/titleURe-generate title
POST/api/conversations/:id/branchUBranch into a thread

Chat (streaming)

MethodPathAuthPurpose
POST/api/chatUStream a turn (SSE) — see Streaming
POST/api/chat/:msgId/cancelUCancel an in-flight turn
POST/api/chat/:msgId/dlp-decisionUResolve a dlp_finding (allow/redact/block)
POST/api/chat/:msgId/feedbackUThumbs up/down + optional comment

Knowledge bases

MethodPathAuthPurpose
GET/api/knowledgeUList KBs
POST/api/knowledgeUCreate KB
GET/api/knowledge/:idURead KB
PATCH/api/knowledge/:idUUpdate settings
DELETE/api/knowledge/:idUDelete KB
GET/api/knowledge/:id/documentsUList documents
POST/api/knowledge/:id/documentsUAdd document (multipart)
DELETE/api/knowledge/:id/documents/:docIdURemove document
POST/api/knowledge/:id/searchUSearch query
POST/api/knowledge/:id/reindexURe-embed all chunks
GET/api/marketplace/knowledgePPublic KBs

Automations (Pro+)

MethodPathAuthPurpose
GET/api/automationUList automations
POST/api/automationUCreate
GET/api/automation/:idURead
PATCH/api/automation/:idUUpdate
DELETE/api/automation/:idUDelete
POST/api/automation/:id/runsUTrigger a manual run
GET/api/automation/:id/runsUList runs
GET/api/automation/:id/runs/:runIdURun detail (steps, logs)
POST/api/automation/:id/runs/:runId/cancelUCancel running
POST/api/automation/:id/runs/:runId/resumeUResume from awaiting step
POST/api/automation/:id/runs/:runId/retry-from/:stepIdURetry from a specific step
POST/api/automation/webhook/:idWebhook trigger entry
POST/api/automation/builder/validateUValidate a draft graph

¹ Auth via webhook token in URL or header.

Webpages (Pro+)

MethodPathAuthPurpose
GET/api/webpagesUList crawled pages
POST/api/webpagesUAdd a URL to crawl
GET/api/webpages/:idURead
DELETE/api/webpages/:idURemove

Meeting notes & transcriptions (Pro+)

MethodPathAuthPurpose
GET/api/transcriptionsUList
POST/api/transcriptionsUSubmit audio
GET/api/transcriptions/:idURead
POST/api/meet-bot/joinUSend the meeting bot to a URL
POST/api/meet-bot/:id/leaveURecall the bot

Skills (Pro+)

MethodPathAuthPurpose
GET/api/skillsUList installed skills
POST/api/skillsUInstall a skill
DELETE/api/skills/:idUUninstall
GET/api/marketplace/skillsPBrowse public skills

Ticket assistant (Pro+)

MethodPathAuthPurpose
GET/api/ticket-assistant/ticketsUList tickets
POST/api/ticket-assistant/ticketsUCreate from email
GET/api/email-kb/inboxUInbox view

Integrations

MethodPathAuthPurpose
GET/api/integrationsUList my connected integrations
POST/api/integrations/:id/connectUStart OAuth/key flow
DELETE/api/integrations/:idUDisconnect
GET/admin/:orgId/nc-integrationsAOrg-level NC integration toggles
PUT/admin/:orgId/nc-integrationsAUpdate org-level toggles
GET/admin/:orgId/nc-integrations/groupsAPer-group disable lists
PUT/admin/:orgId/nc-integrations/groups/:groupIdAUpdate per-group disables

License

MethodPathAuthPurpose
GET/api/license/statusUActive tier + features + limits
POST/api/license/applyAApply a JWT licence key
DELETE/api/licenseARevert to Community

Audit & compliance (Enterprise+)

MethodPathAuthPurpose
GET/api/guardrails/eventsAQuery the guardrail audit log
GET/api/guardrails/events.csvACSV export
GET/api/compliance/gdpr/requestsAList DSRs
POST/api/compliance/gdpr/requestsAOpen a DSR
GET/api/compliance/gdpr/archive/:userIdAArchive download

Webhooks

MethodPathAuthPurpose
POST/webhook/audit-eventsSReceive SIEM-bound audit events (self)
POST/webhook/license-revocationSReceive licence revocation push

Health & metrics (operations)

MethodPathAuthPurpose
GET/api/healthPLiveness + readiness
GET/api/health/dbADatabase connectivity check
GET/api/health/redisARedis connectivity check
GET/api/health/integrationsAPer-integration health

Notes

  • All POST create endpoints accept Idempotency-Key (details).
  • Errors are JSON (format).
  • Streaming endpoints (/api/chat, /api/voice/turn) speak SSE — see Streaming.