Dokumentation
Developers
Einmal integrieren. Das öffentliche Gateway ist OpenAI-kompatibel, regionengebunden und wird unten genau so dokumentiert, wie der Vertrag es definiert.
Quickstart
Wähle deine Region — EU, USA oder LATAM — und das Beispiel folgt: die exakte Gateway-Base-URL, der OpenAI-kompatible Standard-Client und ein klar beschrifteter Platzhalter-Key. Deinen API-Key erstellst und verwaltest du in der Console deiner Region. Das erste verfügbare Modell ist qwen-3-8 (Qwen 3.8, 320K Kontext). Der Zugang läuft über die Warteliste: einsteigen, Region wählen, und dein Key kommt, wenn deine Region öffnet.
# Region endpoint — OpenAI-compatible /v1 base URL
export CCSIO_AI_BASE_URL=https://api.eu.ccsio.ai/v1
export CCSIO_AI_API_KEY=<your-api-key> # placeholder, issued with your region
import os
from openai import OpenAI # the standard OpenAI client
client = OpenAI(
base_url=os.environ["CCSIO_AI_BASE_URL"],
api_key=os.environ["CCSIO_AI_API_KEY"],
)
response = client.chat.completions.create(
model="qwen-3-8", # first available model, 320K context
messages=[{"role": "user", "content": "Hello"}],
)Regionale Endpoints und Consoles
Deine Region bildet sich eins-zu-eins auf Gateway und Console ab: EU — https://api.eu.ccsio.ai/v1 mit https://console.eu.ccsio.ai; USA — https://api.us.ccsio.ai/v1 mit https://console.us.ccsio.ai; LATAM — https://api.latam.ccsio.ai/v1 mit https://console.latam.ccsio.ai. Kein stiller Cross-Region-Routing: dein Key, deine Aufrufe und deine Daten bleiben in der Region, die du gewählt hast.
| Region | Gateway-Endpoint | Konsole |
|---|---|---|
| EU | https://api.eu.ccsio.ai/v1 | console.eu.ccsio.ai |
| LATAM | https://api.latam.ccsio.ai/v1 | console.latam.ccsio.ai |
| USA | https://api.us.ccsio.ai/v1 | console.us.ccsio.ai |
Live-Gateway-Referenz
Die Operationen unten werden aus dem veröffentlichten Gateway-Vertrag generiert — Methode, Pfad, Parameter und Fehlervertrag genau so, wie deployed. Wir dokumentieren nur, was du heute aufrufen kannst; nichts Spekulatives wird als Anweisung ausgeliefert.
Authentifizierung
Authorization: Bearer <JWT>x-api-key: <api-key>Liefere pro Anfrage ein Credential — nie beide. Credentials erstellst und verwaltest du in der Konsole deiner Region; die Beispiele verwenden nur Platzhalter.
- POST
/v1/chat/completionsoperationId: chatCompletionsSSEStream a chat completion
Accepts only streaming requests. stream must be true; false or omitted returns 400 with code non-streaming-not-supported before any SSE headers are committed. Successful responses contain SSE data frames and terminate with data: [DONE]. Pre-commit failures use the JSON ErrorEnvelope rather than SSE.
Parameter
name in required description X-Data-Region header Pflichtfeld Declared data region used during placement. X-Request-ID header Pflichtfeld Required request ULID. Lowercase input is accepted; the response X-Request-ID header uses the canonical uppercase form. X-Residency header Pflichtfeld Declared request residency used during placement. X-Trace-ID header Pflichtfeld Required trace correlation identifier. Request-Body:
application/json— schemaChatRequestAntworten
200SSE stream. Frames are data: {"content":"..."}, data: {"usage":{"prompt_tokens":n,"completion_tokens":n}}, data: {"content":"...","usage":{"prompt_tokens":n,"completion_tokens":n}}, or after a committed-stream failure data: {"error":"..."}. The terminal frame is data: [DONE].400Client refusal unrelated to authentication, including malformed input, a denied or failed request.401Step-1 credential refusal: missing credentials, rejected or invalid credentials, or duplicate/both credential forms.404The requested resource or path was not found.405The path is claimed but the request method is not allowed. Go ServeMux returns its standard plain-text response and lists permitted methods in Allow.500Platform failure, rendered without internal cause details.502Failure in an external dependency or malformed provider response.
Beispiel
curl -N https://api.eu.ccsio.ai/v1/chat/completions \ -H "Authorization: Bearer $CCSIO_AI_API_KEY" -H "X-Request-ID: 01J9ZK8WQ3V6X4M2T5R7N1B8C0" -H "X-Trace-ID: <your-trace-id>" -H "X-Residency: <your-region>" -H "X-Data-Region: <your-region>" -H "Content-Type: application/json" -d '{"model":"qwen-3-8","stream":true,"messages":[{"role":"user","content":"Hello"}]}' - POST
/v1/responsesoperationId: createResponsesSSECreate a response (OpenAI-compatible)
Creates a response through a qualified responses deployment. The input is reduced to a single prompt at decode time (the authority rule): a string input is verbatim; an items input is the items in array order, each item's string content verbatim or its input_text parts concatenated in order, item texts joined by a blank line; a non-empty instructions string is prepended before a blank line. The twelve functional fields (tools, tool_choice, tool_usage, parallel_tool_calls, previous_response_id, conversation, background, text, reasoning, truncation, safety, store) are refused on presence with the pinned responses-<field>-not-supported code; inert parameters (metadata, user) are tolerated and ignored. Malformed or empty provider response data returns 502 with code responses-body-malformed or responses-output-missing. Unknown provider usage is represented by zero for all three usage fields.
Parameter
name in required description X-Data-Region header Pflichtfeld Declared data region used during placement. X-Request-ID header Pflichtfeld Required request ULID. Lowercase input is accepted; the response X-Request-ID header uses the canonical uppercase form. X-Residency header Pflichtfeld Declared request residency used during placement. X-Trace-ID header Pflichtfeld Required trace correlation identifier. Request-Body:
application/json— schemaResponsesRequestAntworten
200The SSE stream (stream: true) or the final response object (stream: false).400Client refusal unrelated to authentication, including malformed input, a denied or failed request.401Step-1 credential refusal: missing credentials, rejected or invalid credentials, or duplicate/both credential forms.404The requested resource or path was not found.405The path is claimed but the request method is not allowed. Go ServeMux returns its standard plain-text response and lists permitted methods in Allow.500Platform failure, rendered without internal cause details.502Failure in an external dependency or malformed provider response.
Beispiel
curl https://api.eu.ccsio.ai/v1/responses \ -H "Authorization: Bearer $CCSIO_AI_API_KEY" -H "X-Request-ID: 01J9ZK8WQ3V6X4M2T5R7N1B8C0" -H "X-Trace-ID: <your-trace-id>" -H "X-Residency: <your-region>" -H "X-Data-Region: <your-region>" -H "Content-Type: application/json" -d '{"model":"qwen-3-8","input":"Hello"}' - POST
/v1/embeddingsoperationId: createEmbeddingsCreate embeddings
Creates embeddings through a qualified embeddings deployment. Malformed or empty provider embedding data returns 502 with code embedding-body-malformed or embedding-data-missing. Unknown provider usage is represented by zero for all three usage fields.
Parameter
name in required description X-Data-Region header Pflichtfeld Declared data region used during placement. X-Request-ID header Pflichtfeld Required request ULID. Lowercase input is accepted; the response X-Request-ID header uses the canonical uppercase form. X-Residency header Pflichtfeld Declared request residency used during placement. X-Trace-ID header Pflichtfeld Required trace correlation identifier. Request-Body:
application/json— schemaEmbeddingsRequestAntworten
200Embedding list and the usage from the metered provider attempt.400Client refusal unrelated to authentication, including malformed input, a denied or failed request.401Step-1 credential refusal: missing credentials, rejected or invalid credentials, or duplicate/both credential forms.404The requested resource or path was not found.405The path is claimed but the request method is not allowed. Go ServeMux returns its standard plain-text response and lists permitted methods in Allow.500Platform failure, rendered without internal cause details.502Failure in an external dependency or malformed provider response.
Beispiel
curl https://api.eu.ccsio.ai/v1/embeddings \ -H "Authorization: Bearer $CCSIO_AI_API_KEY" -H "X-Request-ID: 01J9ZK8WQ3V6X4M2T5R7N1B8C0" -H "X-Trace-ID: <your-trace-id>" -H "X-Residency: <your-region>" -H "X-Data-Region: <your-region>" -H "Content-Type: application/json" -d '{"model":"qwen-3-8","input":"Hello"}' - GET
/v1/modelsoperationId: listModelsList active published models
Returns the verified tenant's active published models, deduplicated by model id. Enumeration is authenticated but is not grant-gated. A catalog read failure such as bundle-not-cached returns 400.
Parameter
name in required description X-Request-ID header optional Optional case-insensitive ULID for model listing. Lowercase input is accepted and canonicalized to uppercase in the response X-Request-ID header; when the header is absent or invalid, middleware mints the request context and response id. Antworten
200The tenant's model list.400Client refusal unrelated to authentication, including malformed input, a denied or failed request.401Step-1 credential refusal: missing credentials, rejected or invalid credentials, or duplicate/both credential forms.404The requested resource or path was not found.405The path is claimed but the request method is not allowed. Go ServeMux returns its standard plain-text response and lists permitted methods in Allow.500Platform failure, rendered without internal cause details.502Failure in an external dependency or malformed provider response.
Beispiel
curl https://api.eu.ccsio.ai/v1/models \ -H "Authorization: Bearer $CCSIO_AI_API_KEY"
Authentifizierung
Der Gateway definiert zwei Credential-Alternativen — liefere eine, nie beide: ein Bearer-JWT, verifiziert gegen das JWKS deines Issuers, oder den x-api-key-Header mit deinem Tenant-API-Key. Credentials erstellst und verwaltest du in der Console deiner Region. Auf dieser Seite ist nichts ein Live-Credential: jeder Key in den Beispielen ist ein beschrifteter Platzhalter.
Plattform-APIs, die folgen
Identity, Memory, Metering, Models und Audit sind konzipiert und in Arbeit; sie sind noch nicht öffentlich, und es gibt hier keinen Live-Endpoint für sie. Die Roadmap sagt dir, was als Nächstes kommt und in welcher Stufe.
Roadmap ansehenDeveloper-FAQ
- Ist die API OpenAI-kompatibel?
- Ja. Das Gateway spricht OpenAI-kompatible Verträge: Chat-Completions und Responses als SSE-Streams, Embeddings als JSON und eine Modellliste. Zeige den Standard-OpenAI-Client auf die /v1-Base-URL deiner Region.
- Wie authentifiziere ich mich?
- Mit Bearer-JWT oder x-api-key-Header — eines der beiden, verifiziert gegen deine Region. Credentials erstellst und verwaltest du in der Console deiner Region: console.eu.ccsio.ai, console.us.ccsio.ai oder console.latam.ccsio.ai. Die Beispiele auf dieser Seite verwenden nur Platzhalter.
- Welche Operationen existieren im öffentlichen Gateway?
- POST /v1/chat/completions (SSE-Stream), POST /v1/responses, POST /v1/embeddings und GET /v1/models — die vier Operationen des veröffentlichten Vertrags. Die Control-Plane-Oberflächen (Identity, Memory, Metering, Models, Audit) stehen auf der Roadmap, sie sind nicht öffentlich.
- Wo läuft die Datenverarbeitung meiner Region?
- Gebunden an deine gewählte Region — EU, USA oder LATAM. Dein Key ist auf den Endpoint dieser Region beschränkt, und Aufrufe werden nie still zwischen Regionen verschoben.
Deinen ersten API-Key holen
Die Warteliste ist der Weg: Konto, Region, Key.