Clevermation
Documentation

API Reference

Endpoints, Header, Error-Codes — OpenAI-kompatibel.

Base-URL: https://cleverouter.eu/v1. Authentifizierung über Authorization: Bearer <key>.

POST /v1/chat/completions

Erstellt eine Chat-Completion, optional gestreamt. Wire-kompatibel zur OpenAI-API.

Headers

HeaderRequiredBeschreibung
Authorization: Bearer <key>yesAPI-Key
Content-Type: application/jsonyes
X-CleverRouter-Strategynodefault cheapest fastest best
X-CleverRouter-ProvidernoPinning, z.B. scaleway
X-CleverRouter-Provider-PrefernoSoft-Preference mit Failover
X-CleverRouter-Max-Hopsno05, default 2
X-Idempotency-KeynoSchutz gegen Doppel-Calls bei Failover

Request-Body

FeldTypDefaultBeschreibung
modelstring<family>/<model>
messagesarrayChat-History
streambooleanfalseSSE aktivieren
temperaturenumber1.00–2
max_tokensintegerHard-Limit für Completion
toolsarraysiehe Tool Use
tool_choicestring | objectauto
response_formatobject{ type: 'json_object' } oder JSON-Schema
reasoning_effortstringlow medium high
seedintegerreproduzierbar, soweit Provider unterstützt

Beispiel

curl https://cleverouter.eu/v1/chat/completions \
  -H "Authorization: Bearer $CLEVERROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-CleverRouter-Strategy: cheapest" \
  -d '{
    "model": "mistral/mistral-small-3.2",
    "messages": [{ "role": "user", "content": "Hallo." }]
  }'

Response

{
  "id": "chatcmpl-9f8c…",
  "object": "chat.completion",
  "created": 1747000000,
  "model": "mistral/mistral-small-3.2",
  "choices": [
    {
      "index": 0,
      "finish_reason": "stop",
      "message": { "role": "assistant", "content": "Hallo, wie kann ich helfen?" }
    }
  ],
  "usage": { "prompt_tokens": 12, "completion_tokens": 7, "total_tokens": 19 }
}

Response-Header verraten den gewählten Provider:

X-CleverRouter-Provider: scaleway
X-CleverRouter-Region: par1
X-CleverRouter-Strategy: cheapest
X-CleverRouter-Routing-Hops: 0

Error-Codes

HTTPerror.codeBedeutung
400invalid_requestBody-Schema falsch
400model_not_foundModell-ID existiert nicht
400provider_unsupportedPinning auf Provider ohne Hosting
401invalid_api_keyAuth fehlt oder abgelaufen
402quota_exceededWorkspace-Budget erschöpft
429rate_limitedRate-Limit, Retry-After beachten
502upstream_unavailableAlle Provider failed
504upstream_timeoutRead-Timeout, Idempotency-Key bei Retry

GET /v1/models

Gibt alle für deinen Workspace freigeschalteten Modelle zurück — mit Provider-Routes, Capability-Flags und Live-Preisen.

curl https://cleverouter.eu/v1/models \
  -H "Authorization: Bearer $CLEVERROUTER_API_KEY"
{
  "object": "list",
  "data": [
    {
      "id": "mistral/mistral-small-3.2",
      "owned_by": "mistral",
      "providers": ["mistral", "scaleway"],
      "regions": ["par1"],
      "capabilities": ["streaming", "tools", "json"],
      "context_window": 128000,
      "pricing": { "prompt_per_1m": 0.1, "completion_per_1m": 0.3, "currency": "EUR" }
    }
  ]
}

Query-Filter: ?family=mistral, ?capability=vision, ?provider=scaleway. Detail-Endpoint: GET /v1/models/{model_id} (Slash URL-encoden: mistral%2Fmistral-large-2).

POST /v1/embeddings

Coming Soon — Phase 5

Embeddings sind aktuell in Private Beta. Zugriff anfragen unter /app/early-access.

OpenAI-kompatibler Embeddings-Endpoint. Unterstützte Beta-Modelle: cohere/embed-multilingual-v3 (OVH), mistral/mistral-embed, voyage/voyage-3-large:eu.

curl https://cleverouter.eu/v1/embeddings \
  -H "Authorization: Bearer $CLEVERROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "cohere/embed-multilingual-v3",
    "input": ["Hallo aus der EU."],
    "encoding_format": "float"
  }'

Beta-Limits: 500 Requests/Minute pro Workspace, max. 200k Tokens/Minute.