API reference

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

MethodPathPurpose
GET/v1/modelsList models available to the caller
POST/v1/chat/completionsOpenAI-compatible chat, streaming, tools, RAG, conversations, and knowledge agent
POST/v1/messagesAnthropic-compatible Messages
POST/v1/messages/count_tokensDeterministic Anthropic-shaped token estimate
GET/v1/usageOrganization balance and month-to-date usage
POST/v1/embeddingsInternal 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/schedule

Projects

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/optout

Conversation 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/policy

Run 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}/invoke

Integration 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}/attach

Registration, 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}/disable

Limits, 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/export

Platform connector routes live at /v1/connectors with register, list, discover, verify, update, default, and disable operations.

Billing service

POST /v1/billing/topups

This route accepts the reserved BILLING_TOKEN credential and requires an Idempotency-Key.

MCP

POST /mcp

The 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 limit is 50;
  • maximum limit is 100;
  • pass next_cursor back unchanged;
  • do not parse, synthesize, or compare cursors.

Error and correlation contract

Common statuses:

StatusMeaning
400Invalid request or missing user context
401Missing, expired, or invalid credential
402Credit balance or hard spend limit exhausted
403Authenticated but not entitled
404Missing or intentionally concealed resource
409State or uniqueness conflict
412Stale conditional update
428Required conditional header missing
429Throttling or organization concurrency ceiling
502Upstream provider failure
503Required configured dependency unavailable

Every response includes X-Request-ID.

On this page