API reference
Chat completions
POST /v1/chat/completions
The public endpoint accepts an OpenAI-compatible chat-completions request at https://api.corion.ai/v1/chat/completions. Use the API base URL shown in the dashboard.
Authentication
Send the complete virtual key as a bearer token:
Authorization: Bearer your-key
Content-Type: application/json
Request
{
"model": "kimi-k3",
"messages": [
{ "role": "system", "content": "Answer concisely." },
{ "role": "user", "content": "What is continuous batching?" }
],
"temperature": 0.7,
"max_tokens": 512,
"stream": false
}
| Field | Type | Required | Notes |
|---|---|---|---|
model | string | Yes | Public model identifier: kimi-k3, deepseek-v4-pro-0813 or deepseek-v4-flash-0731. Availability depends on deployed providers. |
messages | array | Yes | Ordered chat messages with a supported role and string content. |
temperature | number | No | Sampling control. Upstream support and bounds may vary. |
max_tokens | integer | No | Maximum generated tokens, subject to model and account limits. |
stream | boolean | No | Set true for server-sent event chunks. |
Unknown optional OpenAI fields may be dropped by the gateway. Do not assume a field is supported until it is reflected in a response or published compatibility matrix.
Non-streaming response
{
"id": "chatcmpl_example",
"object": "chat.completion",
"created": 0,
"model": "kimi-k3",
"choices": [
{
"index": 0,
"message": { "role": "assistant", "content": "..." },
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 18,
"completion_tokens": 42,
"total_tokens": 60
}
}
Response fields are OpenAI-compatible, but provider-specific metadata can differ. Treat unknown fields as additive.
Streaming
With "stream": true, the response content type is text/event-stream. Each event begins with data: and contains a JSON chunk. The stream ends with data: [DONE].
Consumers should tolerate comment/heartbeat lines, incremental UTF-8 content, and a connection that closes before [DONE]. Do not retry a partial stream automatically unless duplicate output is acceptable.
Limits
Limits are provisional during MVP preview and are not an SLA. The application helper defaults to 10 BFF requests per 10 seconds per identifier; the planned public-key baseline is 100 requests per minute. Distributed enforcement at the gateway may differ until shared rate-limit storage is configured. A 429 response and its Retry-After header are authoritative.
The BFF JSON body target is 100 KiB, except chat completions, which permit up to 1 MiB. The public gateway may impose an equal or lower upstream limit.
Pagination
Chat completion responses are not paginated. Dashboard collection endpoints are internal application APIs and are not part of the public v1 compatibility contract.
See Errors for the common error envelope and retry guidance.
