SylphxModels

The API contract

One API serves the whole product: the catalog and the inference document at https://api.sylphx.ai/v1, authenticated with a Sylphx API 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.sylphx.ai/v1Every endpoint below is relative to it.
AuthBearer sylphx_sk_…Created in the Sylphx console.
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.
  • One Sylphx key. Keys start with sylphx_sk_ and are created and revoked in the Sylphx console. Apps read the key from SYLPHX_API_KEY.

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://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

NoteKeys and accounts
This API does not create keys or hold accounts. Create and revoke sylphx_sk_ keys in the Sylphx console.

KeysLink to this section

One credential shape on the inference surface: a Sylphx API key sent as a bearer token.

Every request
POST /responses HTTP/1.1
Host: api.sylphx.ai
Authorization: Bearer sylphx_sk_…
Content-Type: application/json
  • Keys are shown once when created in the Sylphx console and can be revoked there at any time; a revoked key stops authenticating.
  • A key sees only its own account’s stored responses, files, and usage — another account’s object id is a 404, not a leak.
  • Apps read the key from the SYLPHX_API_KEY environment variable and never ship it to a browser.

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 — a second public encoding too: POST /chat/completions accepts the OpenAI Chat Completions format, normalizes once into the same Responses document, and answers chat.completion objects and chat.completion.chunk streams.

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