OpenAI Compatibility
Overview
ASI:One implements both of OpenAI’s request formats, so you can use the existing OpenAI client libraries and change only the base URL:
/v1/chat/completions- the Chat Completions format. The default, and what every example in these docs uses unless it says otherwise./v1/responses- the Responses format, including retrieving, chaining, cancelling and deleting a response by id.
Each endpoint supports its own OpenAI parameter set. Where they differ, the sections below say which endpoint to use.
API compatibility
Standard OpenAI parameters
These take the same values on /v1/chat/completions as they do on OpenAI’s API:
On /v1/responses the same set applies, with input in place of messages and
max_output_tokens in place of max_tokens, plus store, metadata,
background and reasoning.
stop, reasoning_effort and web_search_options belong to
/v1/chat/completions alone. On /v1/responses the depth goes in the nested
reasoning.effort, and a top-level reasoning_effort there is rejected with a
400; search is the hosted web_search tool instead. See Responses
API.
Structured output is the one parameter that changes shape between the two:
response_format on /v1/chat/completions, text.format on /v1/responses.
Structured Data
shows both.
Each model is tuned for the sampling values it was evaluated at, so send
temperature and top_p only when you have a reason to move them. See
Sampling defaults for the values
and for when deviating helps.
Unrecognized parameters
A request carrying a top-level field the endpoint does not recognize is rejected
with a 400, and the error names the field:
This is deliberate. A misspelled max_token fails immediately and tells you
what to fix, rather than being dropped and leaving you to work out why the reply
ignored your limit.
In planner mode the planner manages
its own model calls and takes temperature alone.
Custom parameters
These are specific to ASI:One and have no OpenAI equivalent.
All four are top-level fields. With the OpenAI SDK, pass them through
extra_body so they land at the top level of the request body. reasoning_effort
is not one of them: it is a standard OpenAI field, so the SDK sends it directly.
Next steps
- Chat Completions API - The default endpoint in full, including streaming
- Responses API - The stateful endpoint, with retrieve and chaining
- Reasoning - The ASI:One parameters alongside OpenAI’s
reasoningobject - Planner Mode - Multi-step work against Agentverse agents and tools