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 key as a bearer token. 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

Credentials are resolved per tenant: your configured key for that provider, or a tenant default.

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.