Skip to main content
The Pareto application programming interface (API) uses JavaScript Object Notation (JSON). Streaming responses use server-sent events. The Authorization header carries the API key. The word Bearer tells the API to use the next value as the key.

List models

GET /models This endpoint does not require an API key. The response contains a data list of public model IDs. Chat requests require an active API key with access to the selected model. Use z-ai/glm-5.3-flash for this offer. Pareto also accepts the alias glm-5.3-flash. The model catalog does not grant access to a model. Use an ID exactly as listed.

Model prices

Each model in the data list has a pricing object. The object uses the OpenRouter format. Each value is a decimal string in USD per token.
  • prompt: the input price.
  • completion: the output price.
  • input_cache_read: the cached input price.
To get USD per 1 million tokens, multiply the value by 1,000,000. Without an API key, the values agree with the token prices. With an API key, the values are the prices for the account of that key. These prices can be different if the account has a special price agreement. Routers can read pricing to update their prices automatically. Read the list again at a regular interval to get price changes.

Model precision

Quantization can vary by deployment. Pareto does not guarantee a fixed precision. See why we do not disclose our serving system details.

Create a chat completion

POST /chat/completions Use z-ai/glm-5.3-flash as the model ID. The request body must contain:
  • model: the model ID.
  • messages: the input messages.
  • stream: true. Pareto serves streamed requests only.
The response is a server-sent event stream. See Streaming to read it.

Request parameters

Send only the parameters in this table. Support for optional parameters can differ by deployment. The API can reject unsupported values or combinations. Pareto serves this model on its own GPUs. Parameters outside the table are not supported. Include the conversation history in messages. See How Pareto works for serving and capacity behavior. Pareto offers zero data retention (ZDR) and does not keep request content after a request finishes, whatever store is set to. See the Zero Data Retention Policy and Privacy Policy.

Streaming

Every response arrives as events while it is generated. Read text from choices[0].delta.content. Tool calls arrive in choices[0].delta.tool_calls. With stream_options: {"include_usage": true}, the last JSON event contains usage and an empty choices list. A successful stream ends with data: [DONE].

Tool calls

With parallel_tool_calls set to false, a successful response contains zero or one tool call: GLM-5.3-Flash returns the first call the model writes. If a response still contains more tool calls, the request fails. For a stream, earlier events can arrive before the error. Read the function name and arguments from tool_calls. Send the tool result in a new request with role tool and the matching tool_call_id. Include the assistant tool call in messages.