API Reference
The ORVYX public API is OpenAI-compatible. Every customer endpoint lives under a single base URL and speaks the same contract your OpenAI client already understands.
Base URL
https://api.orvyx-ai.com/v1Authentication
All customer endpoints require an API key sent as a bearer token:
Authorization: Bearer oryx_live…GET /v1/models and GET /health are the exceptions,they require no key.
Endpoints
| Method | Path | Auth | Description |
|---|---|---|---|
GET | /v1/models | none | List available models |
POST | /v1/chat/completions | chat scope | Chat, streaming and non-streaming |
POST | /v1/embeddings | embeddings scope | Text embeddings |
GET | /health | none | Liveness / readiness probe |
Every authenticated call travels the same path, which is why one client shape covers the whole catalogue.
- Your client
- Key and scope
- Route to a model
- OpenAI-shaped response
Authentication-related exclusions
GET /v1/models and GET /health are intentionally unauthenticated so they remain reachable during an incident. They expose only the public model catalogue and a process liveness signal,never account data.
Common headers
| Header | Direction | Notes |
|---|---|---|
Authorization | request | Bearer oryx_… |
Content-Type | request | application/json on all POSTs |
x-request-id | request (optional) | Client correlation id; echoed as x-client-request-id |
x-request-id | response | Server-minted request id (always present) |
X-RateLimit-Limit | response | Budget for the current window |
X-RateLimit-Remaining | response | Remaining budget |
X-RateLimit-Reset | response | Window reset indicator |
Rate-limit headers are attached to all responses, not just rejections, so you can track budget proactively.
Response conventions
- Responses are normalized to the OpenAI schema.
id,createdandmodelare issued or rewritten by ORVYX.modelalways echoes the model id you requested.- All timestamps are Unix seconds (UTC).
Errors
Every error uses one envelope, defined in Errors:
{
"error": {
"message": "…",
"type": "invalid_request_error",
"code": "invalid_request",
"param": null,
"request_id": "req_…"
}
}Pagination
The public API has no paginated endpoints,callers request one completion or one embedding batch at a time. Account-level resources such as usage history are available in the dashboard, not through the API.
Versioning
The /v1 prefix is the API version. The OpenAI contract is stable, so breaking changes are not introduced inside a version. Additive fields may appear at any time; treat unknown fields as forward-compatible.
