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:

ParameterWhat it does
modelThe ASI:One model to use. See Models.
messagesThe conversation so far.
temperatureSampling temperature, 0 to 2.
top_pNucleus sampling probability mass.
max_tokensUpper bound on the tokens generated.
stopUp to four strings that end generation when produced.
streamStream the reply as server-sent events.
tools, tool_choiceSee Tool Calling.
parallel_tool_callsWhether the model may call several tools in one turn.
response_formatSee Structured Data.

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. The one exception is stop, which belongs to /v1/chat/completions. 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.

Set temperature explicitly on requests where the value matters, rather than relying on a default. It is the one parameter whose default is worth pinning down for reproducible output.

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:

1{
2 "error": {
3 "message": "unknown parameter: max_token",
4 "type": "invalid_request_error",
5 "code": "unknown_parameter",
6 "param": "max_token",
7 "status": 400
8 }
9}

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.

ParameterEndpointWhat it does
planner_mode/v1/chat/completionsRoutes the request to the planner. See Planner Mode.
agents/v1/chat/completionsAgentverse addresses the planner may use. See Planner Mode.
enable_thinkingBothWhether the model reasons first. See Reasoning.
thinking_budgetBothHow many tokens it may spend reasoning. See Reasoning.

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.

Next steps

  1. Chat Completions API - The default endpoint in full, including streaming
  2. Responses API - The stateful endpoint, with retrieve and chaining
  3. Reasoning - The ASI:One parameters alongside OpenAI’s reasoning object
  4. Planner Mode - Multi-step work against Agentverse agents and tools