Skip to content

Protocols

Single reference for ProxAI protocol values: what they are, where they are accepted, and which conversion pairs are supported. Provider names are user labels; protocol values are the semantic identifiers.

Protocol valueWire protocolRequest path
openai_responsesOpenAI Responses API/v1/responses
openai_chat_completionsOpenAI Chat Completions API/v1/chat/completions
anthropic_messagesAnthropic Messages API/v1/messages
Config / phase locationAccepted valuesNotes
`routing.default_provider_names.<key>`one of the three protocol valuesKey is the inbound request protocol; value is a provider name.
`[[routing.routes]].request_protocol`optional, one of the threeOptional inbound protocol guard; omitted means match any inbound protocol.
`[providers.<name>].protocol`one of the three protocol valuesControls outbound wire format and selects the translation pair.
`inbound_request.protocol`detected from request pathSet by ingress, not configured directly.
`provider_request.protocol`equals selected provider protocolSet after routing selects a provider.
`upstream_response.protocol`equals provider protocolDetermined by the provider implementation.
`outbound_response.protocol`equals inbound request protocolTranslation restores the client-facing protocol.
Inbound \ ProviderResponsesChatAnthropic
openai_responsesPass-throughSupportedSupported
openai_chat_completionsUnsupportedPass-throughSupported
anthropic_messagesSupportedUnsupportedPass-through

All other pairs fail explicitly. Notable intentionally unsupported pairs:

  • anthropic_messagesopenai_chat_completions
  • openai_chat_completionsopenai_responses

Each new pair must add runtime routing, request/response conversion, streaming conversion, and focused tests. The routing rules implement Behavior Contract C7–C10.

src/translation/<inbound_protocol>/to_<provider_protocol>/

Examples:

src/translation/openai_responses/to_anthropic_messages/
src/translation/anthropic_messages/to_openai_responses/
src/translation/openai_chat_completions/to_anthropic_messages/

For the conversion design rules, see Protocol Conversion.