Skip to main content
The proxy accepts a JSON Chat Completions body. model and messages are required; other fields are forwarded when supported by the selected provider.

Streaming

Set stream: true as usual. The provider’s server-sent events are forwarded as they arrive, including [DONE]. For traced streams, the proxy may request stream usage internally so token counts are available; this does not change the client-visible message content.

Tools and structured output

Tool definitions, tool choices, response-format JSON schemas, chat-template controls, log probabilities, multimodal content, provider extensions, and reasoning fields are preserved in the raw trace contract. Unknown request fields are forwarded unless routing replaces or removes them.

Precedence

For a task route, the effective provider request is built in this order:
  1. start with the client body;
  2. replace the task alias with the selected provider model;
  3. merge the target’s params_override values, which win on conflict;
  4. remove wandb.* routing metadata before provider dispatch;
  5. add trace-supporting stream options when needed.
The proxy does not forward client headers other than those it constructs itself. Cookies, provider API keys, organization headers, and unrelated authorization headers cannot leak to the selected provider.

Vapi requests

The proxy recognizes Vapi’s request wrapper, removes Vapi-only fields before forwarding, and uses call.id as a conversation fallback. Explicit wandb.thread_id still takes precedence.
Last modified on August 25, 2026