CXOPIN API

Unified gateway

One CXOPIN API key for every connected model.

Customers send Authorization: Bearer with a CXOPIN API key. The gateway resolves the key, project, permission, and requested model. Provider credentials never appear in the response.

Operational in this stage

  • GET /v1/models lists verified catalog rows.
  • POST /v1/chat/completions authenticates the key and resolves an exact model. Unconnected models return provider_not_connected. No completion text is generated.
  • GET /v1/api-key reports the key prefix, project, and permissions.

Prepared, not mounted

  • POST /v1/responses and POST /v1/embeddings
  • POST /v1/images/generations
  • POST /v1/audio/speech and POST /v1/audio/transcriptions
  • POST /v1/videos and GET /v1/videos/{job_id}

Local example

curl http://127.0.0.1:3010/v1/chat/completions \
  -H "Authorization: Bearer $CXOPIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-6-astra","messages":[{"role":"user","content":"Hello"}]}'

Python and JavaScript use the same CXOPIN_API_KEY variable. The model id stays the one the customer requested. This stage does not substitute another model.