Skip to main content

Runtime Request Families

Keeptrusts exposes public proxy, discovery, WebSocket, and MCP routes so clients can keep their native request shape while using one gateway. This page compares the primary text, embedding, and audio proxy families; it is not an exhaustive route inventory. Governance coverage is route-specific, so do not assume that every transport executes the same policy path.

Primary text, embedding, and audio routes

FamilyRouteUse it forResponse style
Chat completionsPOST /v1/chat/completionsOpenAI-style chat clientsJSON or streaming
ResponsesPOST /v1/responsesNew text integrations that prefer the Responses-style shapeJSON or streaming
MessagesPOST /v1/messagesAnthropic-style message envelopes and content blocksJSON or streaming
EmbeddingsPOST /v1/embeddingsVector generationJSON
Audio transcriptionPOST /v1/audio/transcriptionsSpeech-to-textJSON
Audio speechPOST /v1/audio/speechText-to-speechBinary audio

Other live gateway surfaces

SurfaceRouteOwning guidance
Legacy text completionsPOST /v1/completionsLegacy compatibility route; do not infer Chat/Responses governance parity
Unified Access chatPOST /v1/unified/chat/completionsUnified Access
ModerationPOST /v1/moderationsRuntime moderation configuration
Model discoveryGET /v1/models, GET /v1/models/:model_idRuntime models configuration
WebSocket proxyGET /v1/chat/completions/ws, GET /v1/responses/wsWebSocket Proxy
Published-host MCPGET /mcp, POST /mcpGateway MCP Surface

These surfaces keep their owning authentication, publication, routing, and governance boundaries. Their presence does not make the Chat/Responses policy path universal.

How to choose between text families

  • Use /v1/responses for new text-family work when you want the Responses-style request and output model.
  • Use /v1/chat/completions when the client already expects the OpenAI chat-completions shape.
  • Use /v1/messages only when the caller requires the Anthropic Messages shape and the current reduced governance boundary is acceptable.

Chat Completions and Responses execute the gateway's input and output policy path. Messages currently authenticates the client, performs connected billing and provider routing, and proxies the Anthropic-shaped request, but it does not execute that Chat/Responses policy evaluation path. Use Messages only when that current governance boundary is acceptable.

Route shape and provider readiness are separate. The public Messages-shaped route exists, but the native Anthropic provider adapter is not currently adoption-ready. Do not infer provider support or policy parity from the route's presence.

For streaming details and the related WebSocket frame-level limitation, see Streaming with SSE.

Structured outputs

On the OpenAI-style Chat Completions and Responses routes, structured outputs use response_format in the request body. The Anthropic-style Messages route does not currently advertise json_object or json_schema response-format capability; do not add this OpenAI field to a Messages request.

{
"response_format": {
"type": "json_object"
}
}

Or with a named schema:

{
"response_format": {
"type": "json_schema",
"json_schema": {
"name": "order_summary",
"strict": true,
"schema": {
"type": "object"
}
}
}
}

Request-time cache and session hints

Chat Completions and Responses support request-time cache and session hints. Do not infer equivalent handling on Messages from the shared field names.

FieldLocationWhat it does
cache_controlRequest bodyRequests prompt-caching behavior when runtime policy allows it
session_idRequest bodyGroups related requests onto the same session lane
x-session-idRequest headerHeader form of the same session identifier

If both session_id and x-session-id are present, they must match.

What is configured elsewhere

Some runtime behavior is not chosen per request. Use runtime configuration docs for:

  • default provider and fallback behavior
  • privacy and retention settings
  • organization-level plugin defaults
  • evaluation and traffic-mirroring controls

See Runtime Configuration for those defaults.

Next steps