Corion

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
}
FieldTypeRequiredNotes
modelstringYesPublic model identifier: kimi-k3, deepseek-v4-pro-0813 or deepseek-v4-flash-0731. Availability depends on deployed providers.
messagesarrayYesOrdered chat messages with a supported role and string content.
temperaturenumberNoSampling control. Upstream support and bounds may vary.
max_tokensintegerNoMaximum generated tokens, subject to model and account limits.
streambooleanNoSet 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.