# Responses

The OpenAPI 3.1 document is the full description, including schemas:

https://router.inference.ai.exchange/v1/openapi.json

## `POST /v1/responses`

Buy one response at auction, in the OpenAI Responses format.

Point an OpenAI client at the router and send `model` and `input`. Use
`liquid.auto` as the model to let the exchange choose. The smallest request
is `{"model": "liquid.auto", "input": "Hello"}`.

The exchange ranks the offers by estimated charge and fixes a price cap
before the first token. It charges for the tokens used. The reply is a
normal Responses object with an extra `exchange` field, which names the
provider, the cap and the charge. Set purchasing rules in the `exchange`
field of the request.

The exchange stores nothing, so send the whole conversation in `input`.
`previous_response_id`, `conversation`, `background: true`, `logprobs` and
`prompt` get `400 unsupported_parameter`. Function tools work. A hosted
`web_search` tool is dropped, and the reply has `x-liquid-notice:
web_search_dropped`. Other hosted tools get `400 unsupported_parameter`.
