API surface
Route-level inventory of the public, tenant, organization, service, and platform APIs.
All /v1/* routes require authentication except the browser hops used by the
OAuth connect flow. /, /healthz, and /readyz are public.
Compatibility APIs
| Method | Path | Purpose |
|---|---|---|
GET | /v1/models | List models available to the caller |
POST | /v1/chat/completions | OpenAI-compatible chat, streaming, tools, RAG, conversations, and knowledge agent |
POST | /v1/messages | Anthropic-compatible Messages |
POST | /v1/messages/count_tokens | Deterministic Anthropic-shaped token estimate |
GET | /v1/usage | Organization balance and month-to-date usage |
POST | /v1/embeddings | Internal memory-service embeddings; not a tenant API |
The OpenAI route accepts Deeplinq extensions including dataset_ids,
project_id, conversation_id, and agent_mode. The Anthropic route supports
the corresponding governed conversation, project, and knowledge-agent paths.
Datasets and retrieval
POST /v1/datasets
GET /v1/datasets
PATCH /v1/datasets/{id}
DELETE /v1/datasets/{id}
POST /v1/datasets/{id}/grants
GET /v1/datasets/{id}/grants
DELETE /v1/datasets/{id}/grants/{grant_id}
POST /v1/datasets/{id}/files
GET /v1/datasets/{id}/files
POST /v1/datasets/{id}/resources
GET /v1/datasets/{id}/resources
DELETE /v1/datasets/{id}/resources/{resource_id}
POST /v1/datasets/{id}/ingest
GET /v1/datasets/{id}/ingest/runs
GET /v1/datasets/{id}/ingest/runs/{run_id}
PUT /v1/datasets/{id}/ingest/schedule
GET /v1/datasets/{id}/ingest/schedule
DELETE /v1/datasets/{id}/ingest/scheduleProjects
POST /v1/projects
GET /v1/projects
GET /v1/projects/{id}
PATCH /v1/projects/{id}
DELETE /v1/projects/{id}
POST /v1/projects/{id}/grants
GET /v1/projects/{id}/grants
DELETE /v1/projects/{id}/grants/{grant_id}
PUT /v1/projects/{id}/datasets/{dataset_id}
DELETE /v1/projects/{id}/datasets/{dataset_id}Project attachments mirror dataset files, resources, ingestion runs, and
ingestion schedules under /v1/projects/{id}/....
Conversations and memory
POST /v1/conversations
GET /v1/conversations
GET /v1/conversations/{id}
PATCH /v1/conversations/{id}
DELETE /v1/conversations/{id}
GET /v1/memory/settings
PUT /v1/memory/settings
GET /v1/memories
POST /v1/memories
DELETE /v1/memories/{id}
POST /v1/memory/optout
DELETE /v1/memory/optoutConversation and personal-memory routes require a user identity. Memory
settings require org-admin.
Agents and runs
POST /v1/agents
GET /v1/agents
GET /v1/agents/{id}
PATCH /v1/agents/{id}
DELETE /v1/agents/{id}
PUT /v1/agents/{id}/tools
GET /v1/agents/{id}/tools
PUT /v1/agents/{id}/datasets
GET /v1/agents/{id}/datasets
POST /v1/agents/{id}/invoke
POST /v1/agents/{id}/runs
GET /v1/runs
GET /v1/runs/{id}
POST /v1/runs/{id}/approve
POST /v1/runs/{id}/deny
POST /v1/runs/{id}/cancel
GET /v1/agents/knowledge/policy
PUT /v1/agents/knowledge/policyRun reads and approvals are owner-only even when another caller can manage the agent.
Teams
POST /v1/teams
GET /v1/teams
GET /v1/teams/{id}
PATCH /v1/teams/{id}
DELETE /v1/teams/{id}
POST /v1/teams/{id}/members
GET /v1/teams/{id}/members
DELETE /v1/teams/{id}/members/{user_id}Roster mutations require org-admin. Members can see teams available to them.
Schedules and webhooks
POST /v1/schedules
GET /v1/schedules
GET /v1/schedules/{id}
PATCH /v1/schedules/{id}
POST /v1/schedules/{id}/pause
POST /v1/schedules/{id}/resume
DELETE /v1/schedules/{id}
GET /v1/schedule-events
POST /v1/webhook-endpoints
GET /v1/webhook-endpoints
PATCH /v1/webhook-endpoints/{id}
DELETE /v1/webhook-endpoints/{id}Webhook endpoint management requires org-admin.
Personal connections
POST /v1/integrations
GET /v1/integrations
PATCH /v1/integrations/{id}
DELETE /v1/integrations/{id}
POST /v1/connections/authorize
GET /v1/connect/start
GET /v1/connect/callback
GET /v1/connections
GET /v1/connections/{id}
DELETE /v1/connections/{id}
GET /v1/connections/{id}/tools
POST /v1/connections/{id}/invokeIntegration management requires org-admin. Start and callback are public
browser hops protected by one-time state, PKCE, and a binder cookie.
External MCP servers
POST /v1/mcp-servers
GET /v1/mcp-servers
GET /v1/mcp-servers/{id}
DELETE /v1/mcp-servers/{id}
POST /v1/mcp-servers/{id}/sync-tools
POST /v1/mcp-servers/{id}/attachRegistration, synchronization, and deletion require org-admin. Attachment
creates a personal connection for the authenticated user.
Organization governance
GET /v1/limits
PUT /v1/limits
DELETE /v1/limits
PUT /v1/limits/{user_id}
DELETE /v1/limits/{user_id}
GET /v1/guardrails
PUT /v1/guardrails
GET /v1/guardrails/effective
POST /v1/api-keys
GET /v1/api-keys
DELETE /v1/api-keys/{id}
POST /v1/org/connectors
GET /v1/org/connectors
PATCH /v1/org/connectors/{id}
POST /v1/org/connectors/discover-models
POST /v1/org/connectors/{id}/verify
POST /v1/org/connectors/{id}/default
POST /v1/org/connectors/{id}/disableLimits, guardrails, and organization connectors require org-admin.
User-bound API key self-service requires a JWT principal.
Platform administration
POST /v1/admin/orgs
POST /v1/admin/orgs/{id}/bind
POST /v1/admin/orgs/{id}/credits
POST /v1/admin/orgs/{id}/keys
DELETE /v1/admin/orgs/{id}/keys/{kid}
POST /v1/admin/orgs/{id}/api-keys
GET /v1/admin/orgs/{id}/api-keys
DELETE /v1/admin/orgs/{id}/api-keys/{key_id}
POST /v1/admin/orgs/{id}/models
DELETE /v1/admin/orgs/{id}/models/{model}
GET /v1/admin/pricing
PUT /v1/admin/pricing/{model}
DELETE /v1/admin/pricing/{model}
GET /v1/admin/usage
GET /v1/admin/guardrails/baseline
PUT /v1/admin/guardrails/baseline
GET /v1/admin/orgs/{id}/guardrails
GET /v1/admin/orgs/{id}/guardrails/effective
PUT /v1/admin/orgs/{id}/guardrails
GET /v1/admin/agents/knowledge/policy
PUT /v1/admin/agents/knowledge/policy
POST /v1/admin/secrets/reseal
GET /v1/admin/audit/verify
POST /v1/admin/audit/reanchor
GET /v1/admin/audit/exportPlatform connector routes live at /v1/connectors with register, list,
discover, verify, update, default, and disable operations.
Billing service
POST /v1/billing/topupsThis route accepts the reserved BILLING_TOKEN credential and requires an
Idempotency-Key.
MCP
POST /mcpThe Streamable HTTP MCP endpoint uses the authenticated tenant principal and exposes read-only model and usage tools.
Pagination
Inventory routes use opaque descending keyset cursors. Unless a route documents otherwise:
- default
limitis50; - maximum
limitis100; - pass
next_cursorback unchanged; - do not parse, synthesize, or compare cursors.
Error and correlation contract
Common statuses:
| Status | Meaning |
|---|---|
400 | Invalid request or missing user context |
401 | Missing, expired, or invalid credential |
402 | Credit balance or hard spend limit exhausted |
403 | Authenticated but not entitled |
404 | Missing or intentionally concealed resource |
409 | State or uniqueness conflict |
412 | Stale conditional update |
428 | Required conditional header missing |
429 | Throttling or organization concurrency ceiling |
502 | Upstream provider failure |
503 | Required configured dependency unavailable |
Every response includes X-Request-ID.