> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Inference proxy overview

> Use one OpenAI-compatible endpoint for task routing, provider credentials, and trace capture.

The inference proxy is the only component on your application's online path. It exposes:

```text theme={"system"}
POST https://proxy.training.wandb.ai/v1/chat/completions
Authorization: Bearer <wandb-api-key>
```

Your existing OpenAI client continues to work. The `model` value decides whether the request uses task routing or calls a registered provider directly.

## What the proxy adds

<CardGroup cols={2}>
  <Card title="Task routing" icon="shuffle">
    Resolve a task version, choose a weighted target, apply its parameters, and keep conversations sticky.
  </Card>

  <Card title="Credential isolation" icon="key">
    Replace the W\&B bearer key with the selected provider credential without forwarding client headers.
  </Card>

  <Card title="Training-grade traces" icon="wave-square">
    Record the complete dispatched request and response with task and provider identity.
  </Card>

  <Card title="OpenAI-compatible transport" icon="code">
    Preserve non-streaming and streaming Chat Completions response behavior.
  </Card>
</CardGroup>

## Supported routes

| `model` value       | Result                                    |
| ------------------- | ----------------------------------------- |
| `task-alias`        | Weighted routing for task version 1       |
| `task-alias@v2`     | Weighted routing pinned to version 2      |
| `provider/model-id` | Direct call through a registered provider |

Task requests are traced automatically. Direct provider calls are not traced unless `metadata["wandb.project"]` selects a destination.

<Accordion title="API: Send a task-routed request (POST /chat/completions)">
  ```bash theme={"system"}
  curl --request POST \
    --url "https://proxy.training.wandb.ai/v1/chat/completions" \
    --header "Authorization: Bearer $WANDB_API_KEY" \
    --header "Content-Type: application/json" \
    --data '{
      "model": "ticket-classifier",
      "messages": [{"role": "user", "content": "Classify this request"}],
      "metadata": {"wandb.entity": "your-team"}
    }'
  ```

  See [Create a routed chat completion](/model-distillation/reference/proxy) for the complete request and response schema.
</Accordion>

## Fail closed behavior

The proxy rejects unknown W\&B keys, entities, tasks, versions, and providers before calling an arbitrary endpoint. Provider URLs and credentials come only from server-managed materialization; callers cannot supply them in request headers or tokens.
