Zum Hauptinhalt springen
ccsio.ai

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.

RegionGateway-EndpointKonsole
EUhttps://api.eu.ccsio.ai/v1console.eu.ccsio.ai
LATAMhttps://api.latam.ccsio.ai/v1console.latam.ccsio.ai
USAhttps://api.us.ccsio.ai/v1console.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.

  1. POST/v1/chat/completionsoperationId: chatCompletionsSSE

    Stream 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

    nameinrequireddescription
    X-Data-RegionheaderPflichtfeldDeclared data region used during placement.
    X-Request-IDheaderPflichtfeldRequired request ULID. Lowercase input is accepted; the response X-Request-ID header uses the canonical uppercase form.
    X-ResidencyheaderPflichtfeldDeclared request residency used during placement.
    X-Trace-IDheaderPflichtfeldRequired trace correlation identifier.

    Request-Body: application/json — schema ChatRequest

    Antworten

    • 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"}]}'
  2. POST/v1/responsesoperationId: createResponsesSSE

    Create 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

    nameinrequireddescription
    X-Data-RegionheaderPflichtfeldDeclared data region used during placement.
    X-Request-IDheaderPflichtfeldRequired request ULID. Lowercase input is accepted; the response X-Request-ID header uses the canonical uppercase form.
    X-ResidencyheaderPflichtfeldDeclared request residency used during placement.
    X-Trace-IDheaderPflichtfeldRequired trace correlation identifier.

    Request-Body: application/json — schema ResponsesRequest

    Antworten

    • 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"}'
  3. POST/v1/embeddingsoperationId: createEmbeddings

    Create 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

    nameinrequireddescription
    X-Data-RegionheaderPflichtfeldDeclared data region used during placement.
    X-Request-IDheaderPflichtfeldRequired request ULID. Lowercase input is accepted; the response X-Request-ID header uses the canonical uppercase form.
    X-ResidencyheaderPflichtfeldDeclared request residency used during placement.
    X-Trace-IDheaderPflichtfeldRequired trace correlation identifier.

    Request-Body: application/json — schema EmbeddingsRequest

    Antworten

    • 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"}'
  4. GET/v1/modelsoperationId: listModels

    List 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

    nameinrequireddescription
    X-Request-IDheaderoptionalOptional 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 ansehen

Developer-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.