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

# Send Chat Completions

> Send OpenAI-compatible requests through a router.

```bash theme={null}
curl https://routing.dari.dev/v1/chat/completions \
  -H "Authorization: Bearer $DARI_ROUTING_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "dari/routing",
    "messages": [{"role": "user", "content": "Hello from Dari"}]
  }'
```

`model` must be `dari/routing`, and `messages` must contain at least one OpenAI-style message. Common optional fields include `stream`, `temperature`, `max_tokens`, `tools`, `tool_choice`, `response_format`, and `reasoning_effort`.

This example uses your organization's default router at `/v1`. To address a specific [router](/router/create-a-router) instead, send the same body to `https://routing.dari.dev/{router_id}/chat/completions`.

The response uses the standard Chat Completions shape and adds `dari_routing`:

```json theme={null}
{
  "model": "openai/gpt-5.6-sol",
  "choices": [{"message": {"role": "assistant", "content": "Hello!"}}],
  "dari_routing": {
    "selected_model": "openai/gpt-5.6-sol",
    "reasoning_effort": "medium",
    "reason": "Selected for this request."
  }
}
```

See the [Chat Completions API reference](/api-reference/router/chat-completions) for fields.
