---
title: AI API contract
description: What the AI API is, its endpoints, the key format, the error envelope and the three request encodings.
type: reference
product: ai
summary: Every endpoint of the AI API, with keys, errors and encodings
updated: 2026-10-01
order: 6
---

The AI API at `https://api.sylphx.ai/v1` is three things you can build on.

- **A model store.** The catalogue lists the models we sell with their context
  windows and data policy. You call a model id from it.
- **One inference document.** Requests are the official OpenAI Responses
  document, and responses are official Responses objects with metered `usage`.
- **One Sylphx key.** Keys start with `sylphx_sk_` and are created and revoked
  in the console. Apps read the key from `SYLPHX_API_KEY`.

## Endpoints

Inference, catalogue and file calls take your bearer key; the public catalogue
endpoints do not.

| Method | Path | Purpose |
| --- | --- | --- |
| `POST` | `/responses` | Create a response. Add `stream: true` for server-sent events. |
| `POST` | `/responses/compact` | Compact a stored response. |
| `GET` | `/responses/{response_id}` | Retrieve a stored response while it is retained. |
| `GET` | `/responses/{response_id}/input_items` | List a response's stored input items. |
| `DELETE` | `/responses/{response_id}` | Forget a stored response. |
| `POST` | `/responses/{response_id}/cancel` | The official cancel route; responses are not background jobs. |
| `POST` | `/chat/completions` | The Chat Completions encoding. |
| `POST` | `/messages` | The Anthropic Messages encoding. |
| `POST` | `/embeddings` | Text embeddings. |
| `POST` | `/images/generations` | Image generation. |
| `POST` | `/audio/speech` | Text to speech. |
| `POST` | `/audio/transcriptions` | Speech to text. |
| `POST` | `/audio/translations` | Speech to English text. |
| `GET` | `/realtime/transcription` | Live transcription over a WebSocket upgrade. |
| `POST` | `/decisions` | A structured decision from a model. |
| `GET` | `/models` | The full catalogue for your key. |
| `GET` | `/models/{model}` | One model document for your key. |
| `GET` | `/public/models` | The catalogue without authentication. |
| `GET` | `/public/models/{model}` | One public model. |
| `POST` | `/files` | Multipart upload. |
| `GET` | `/files` | List your key's files. |
| `GET` | `/files/{file_id}` | File metadata, no bytes. |
| `GET` | `/files/{file_id}/content` | Raw file bytes. |
| `DELETE` | `/files/{file_id}` | Delete a file you own. |

This API does not create keys or hold accounts: create and revoke
`sylphx_sk_` keys in the console.

## Keys

One credential shape: a Sylphx API key sent as a bearer token.

```http
POST /responses HTTP/1.1
Host: api.sylphx.ai
Authorization: Bearer sylphx_sk_…
Content-Type: application/json
```

- A key is shown once when created and can be revoked at any time; a revoked
  key stops authenticating.
- A key sees only its own organization's stored responses, files and usage.
  Another organization's object id is a `404`.
- Never ship a key to a browser.

## Errors

Failures return one JSON envelope: an official error object plus the typed
fields a client needs to decide what to do next. The status codes, the code
table, the retry rules and the rate-limit headers are on [errors and
retries](/docs/ai/errors).

## Encodings

Three request encodings, one document underneath.

- **Responses** is the primary wire. Use it for new code.
- **Messages** accepts the Anthropic Messages format and can call any model in
  the catalogue.
- **Chat Completions** accepts the OpenAI Chat Completions format and answers
  `chat.completion` objects and `chat.completion.chunk` streams.

## Limits

Free-tier keys share one envelope across every model: 300 burst requests per
minute, 180 sustained requests per minute and 32 requests in flight. Every
denial carries `Retry-After` and a typed envelope.

<RelatedDocs
	links={[
		{
			href: '/docs/ai/responses',
			label: 'Responses API',
			description: 'The fields, events, storage and compaction behind these endpoints.',
		},
		{
			href: '/ai/models',
			label: 'Model pages',
			description: 'The catalogue this API serves.',
		},
	]}
/>
