API overview
The exchange has one public API. An OpenAI client, an Anthropic client or plain HTTP can call it. Each endpoint page of this reference comes from the OpenAPI document of the exchange, so it always agrees with the exchange.
Send a request
Send an API key and a model. The exchange auctions the request, sets a price cap and charges for the tokens used. The price cap is the most that the job can cost.
curl https://router.inference.ai.exchange/v1/chat/completions \
-H "Authorization: Bearer $LIQUID_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "liquid.auto", "messages": [{"role": "user", "content": "Hello"}]}'
The response has the usual fields of the format, and one more: the exchange block. See What each job returns. The Quickstart shows how to get a key.
Endpoints
Buy inference
| Endpoint | Page | Description |
|---|---|---|
POST /v1/chat/completions |
Chat Completions | OpenAI Chat Completions. |
POST /v1/responses |
Responses | OpenAI Responses, without stored state. |
POST /v1/messages |
Messages | Anthropic Messages, and a token count estimate. |
POST /v1/systemone |
Decisions | Typed questions, with a probability for each option. In beta. |
POST /v1/embeddings |
Embeddings | Vectors for text. |
POST /v1/images/generations |
Images | Generated images. |
POST /v1/audio/speech |
Speech | Spoken audio. |
POST /v1/videos |
Video | Generated video, with a status and a download. |
GET /v1/models |
Models | The names that you can use as model now. |
Read the market
The Market data page lists the public book, depth, routers and the live feed. These endpoints need no key.
Sell inference
The Provider API page lists the catalogue calls and the session. Provider credentials are different from API keys. See Provider credentials.
If you already have a client, read What changed in the API.
Field order
The tables and the examples of this documentation list the fields of a request in one order:
model.- The content:
messages,prompt,inputorfile. - The references:
input_references. - The shape of the output: for example
n,size,voice,response_format,output_format. - The controls: for example
temperature,top_p,seed,stop,quality. - The delivery:
stream,callback_url. exchange, always last.
The order is for the reader. The exchange reads a JSON body in any order.
Authentication
Send an API key in one of two headers. Both headers work on every endpoint.
| Header | Used by |
|---|---|
Authorization: Bearer sk-liquid-… |
OpenAI clients, curl |
x-api-key: sk-liquid-… |
Anthropic clients |
The scope of the key decides what it can do. A spend key can place jobs. A read key can read receipts and the balance. See API keys.
What each job returns
Each job response has the shape of the format that you used, with one more field: the exchange block. It names the job, the provider handle, the price cap and the charge.
Two headers arrive before the first token:
| Header | Meaning |
|---|---|
x-liquid-job-id |
The job id. Use it to read the receipt. |
x-liquid-cap-usd |
The maximum charge for this job, set before the output starts. |
To read the block again later, call GET /v1/jobs/{job_id}. It returns only the block. GET /v1/exchange/jobs/{job_id} returns the whole receipt, with the charge breakdown. See the Quickstart.
To see how the exchange chose the offer, send the x-liquid-explain: true request header. The block then has a routing object.
To choose the models, the strategy or the limits, send an exchange block in the request body, or x-liquid-* headers. See Purchasing rules. For failures, see Errors.
Reference
Base URLs
| Format | Base URL |
|---|---|
| OpenAI | https://router.inference.ai.exchange/v1 |
| Anthropic | https://router.inference.ai.exchange |
An Anthropic client adds /v1/messages to its base URL. An OpenAI client adds only the endpoint name.
The OpenAPI document
The document is at /v1/openapi.json on the exchange. It needs no credential. You can load it into a client generator, Postman, Insomnia or Bruno. It lists only the public API.