MarkDB
Proxy API

Proxy API overview

The OpenAI-compatible surfaces MarkDB exposes and how to authenticate.

The MarkDB proxy exposes several LLM API surfaces at https://proxy.markdb.cloud. Each is captured into memory and dispatched natively to the underlying provider.

Authentication

Send your mk_live_... key as a bearer token (see Authentication). Depending on the surface, clients use different headers; all are accepted:

  • Authorization: Bearer mk_live_... (Chat Completions, Responses)
  • x-api-key: mk_live_... or ANTHROPIC_AUTH_TOKEN -> bearer (Messages)

Surfaces

Chat Completions

POST /v1/chat/completions

The standard OpenAI shape. Used by Cursor, the OpenAI SDK, and most tools. Supports streaming and tool calls.

Responses

POST /v1/responses

The OpenAI Responses API, used by Codex CLI. MarkDB translates the Responses wire format (including function_call tool use) to the underlying provider.

Messages

POST /v1/messages

The Anthropic Messages API, used by Claude Code. MarkDB translates Messages (including tool_use / tool_result blocks) to the underlying provider.

Embeddings

POST /v1/embeddings

OpenAI-compatible embeddings, dispatched to the provider that owns the model.

Routing

The provider is chosen from the model name (claude-* -> Anthropic, gpt-* / o* -> OpenAI, gemini-* -> Gemini, grok-* -> xAI). Credentials are resolved per tenant: your configured key for that provider, or a tenant default.

See Models & routing for the full routing table, the curated model catalog, and the enrichment/embedding defaults.

Chat continuity headers

To control how turns group into sessions, optionally send:

  • X-MarkDB-Chat-Key: <stable id> - the conversation thread id.
  • X-MarkDB-External-Session-ID: <id> - the client's session id.

If omitted, MarkDB derives a stable chat key from the opening messages.