SylphxModels

The API contract

One API serves the whole product: the catalog and the inference document at https://api.models.sylphx.ai/v1, authenticated with an organization key. Your client speaks the official OpenAI Responses document, and the machine-readable schema below is the contract generated clients are built from.

Base URLhttps://api.models.sylphx.ai/v1Every endpoint below is relative to it.
AuthBearer sk-sx-One key per organization.
WireOpenAI Responses (JSON)Streams are text/event-stream.
SchemaOpenAPI 3.1 · Product ContractVersioned with the product.

What the API isLink to this section

Three sentences you can build on.

  • A model store. The catalog lists the models we sell with their published prices, context windows, and data posture. You call a model id from that catalog.
  • One inference document. Requests are the official OpenAI Responses document — the same shape as the SDKs you already use — and responses are official Responses objects with metered usage.
  • Keyed by organization. Keys start with sk-sx-, belong to one organization, and are minted and revoked in the console. Platforms can provision them per tenant — see platform keys.

Download the contractLink to this section

The download is a static JSON document; diff it in CI and generate a client from it.

OpenAPI/contract/ai.product.openapi.json

The document describes the endpoints, the accepted request fields, the stored-response operations, the file surface, the retired route, and the error envelope. It is the same source the generated TypeScript and Rust clients use.

Fetch it from a terminal
curl -o ai.product.openapi.json https://models.sylphx.ai/contract/ai.product.openapi.json

EndpointsLink to this section

Everything is relative to the base URL. Inference, catalog, and file calls take your Bearer key; the public catalog endpoints do not.

Inference

Catalog

Files

Retired

NoteConsole and platform routes
Human console routes (usage, key minting, organization reads) and the machine provisioning route POST /v1/admin/tenants/{org}/keys live on the same host with their own authentication. The platform keys page documents machine provisioning.

KeysLink to this section

One credential shape on the inference surface: an organization-scoped service key.

Every request
POST /responses HTTP/1.1
Host: api.models.sylphx.ai
Authorization: Bearer sk-sx-…
Content-Type: application/json
  • Keys are shown once when minted and can be revoked at any time; a revoked key stops authenticating immediately.
  • A key sees only its own organization’s stored responses, files, and usage — another organization’s object id is a 404, not a leak.
  • Machine keys for tenants use the same wire credential, minted through the platform route with an organization-scoped access token.

ErrorsLink to this section

Failures return one JSON envelope: an official error object plus the typed fields a client needs to decide what to do next.

429 · envelope shape
{
  "code": "rate_limit_exceeded",
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Client request rate limit for this key was reached.",
    "param": null,
    "type": "rate_limit_exceeded"
  },
  "summary": "…",
  "retryable": true,
  "retry_after_seconds": 3,
  "next_action": "Reduce request rate for this key, then retry after the advertised window."
}

Status codes, the full code table, retry rules, and rate-limit headers are on errors and retries.

EncodingsLink to this section

Two request encodings, one document underneath. Pick the one your client already speaks.

  • Responses — the primary wire and the schema in the download. Use it for new code.
  • Messages — a second public encoding: POST /messages accepts the Anthropic Messages format, normalizes once into the same Responses document, and can call any catalog model.
  • Chat Completions is retired POST /chat/completions returns 404 chat_completions_retired with the replacement path in the message.

Limits and pricesLink to this section

Prices come from the catalog the API serves; the rate-limit envelope is documented in the protocol reference. Both are public, neither is a hidden plan.

Rate limits

Free-tier keys share one envelope: 300 burst RPM, 180 sustained RPM, 32 in flight. Every denial carries Retry-After and a typed envelope.

Rate-limit details
Prices

The catalog is the rate sheet: input, cached input, and output per million tokens for every model we sell.

Live prices