API reference
Chat Completions
Send messages and receive text, tool calls, or structured data.
Request
POST
/chat/completionsCreates a response using a model available to the key.
cURL
curl https://code.verboo.ai/router/v1/chat/completions \
-H "Authorization: Bearer $VERBOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "<MODEL_ID>",
"messages": [{"role": "user", "content": "Explain why low latency matters for developer tools."}]
}'| Field | Required | Description |
|---|---|---|
| model | yes | An ID returned by GET /models. |
| messages | yes | Ordered message history. |
| stream | no | When true, returns SSE events. |
| temperature | no | Sampling; support and range depend on the provider. |
| max_tokens / max_completion_tokens | no | Output limit, depending on the model. |
| tools / tool_choice | no | Functions available to the model. |
| reasoning_effort | no | Only for models with reasoning. |
| response_format | no | JSON object or JSON schema; may depend on the plan. |
Messages
| Role | Use |
|---|---|
| system | Defines global behavior and constraints. |
| user | User input; may contain text or multimodal parts. |
| assistant | A previous answer or tool call request. |
| tool | Function result associated through tool_call_id. |
Response
200 · application/json
{
"id": "chatcmpl_...",
"object": "chat.completion",
"created": 1786752000,
"model": "model-id",
"choices": [{
"index": 0,
"message": {"role": "assistant", "content": "Low latency keeps feedback loops short."},
"finish_reason": "stop"
}],
"usage": {"prompt_tokens": 18, "completion_tokens": 10, "total_tokens": 28}
}Read choices[0].message.content for text, choices[0].message.tool_calls for functions, and usage for measured consumption.
Model-specific compatibility
Not every field is universal
The router normalizes the core flow, but providers may ignore or reject specific parameters. Use the guides and test your selected model before production.