Endpoints

Responses

POST /v1/responses: the OpenAI Responses API, for Codex CLI and Responses-mode clients.

For clients that speak the Responses wire, notably Codex CLI (wire_api = responses) and OpenClaw's responses mode. Requests pass through to the model natively, so the request and response shapes match the OpenAI Responses API.

POSThttps://api.roteo.ai/v1/responses
  • Base URL: https://api.roteo.ai/v1
  • Auth: Authorization: Bearer sk_your_key

This endpoint serves GPT models (gpt-*); a Claude model here returns 400. For Claude, use Chat Completions.

Request parameters

modelstringrequired

A gpt-* model ID, for example gpt-5.6-sol. See Models.

inputstring | arrayrequired

The prompt: a string, or an array of Responses input items ({ type: "message", role, content: [...] }). A system-role item is folded into instructions for you.

instructionsstring

System-level guidance for the model.

toolsarray

Function tools in Responses shape ({ type: "function", name, parameters }). Tool calls come back as function_call items in the output.

tool_choicestring | object

auto, none, or a specific tool.

streambooleandefault: false

When true, the Responses event stream is returned (response.created, response.output_text.delta, ... response.completed).

Example

curl https://api.roteo.ai/v1/responses \
-H "Authorization: Bearer sk_your_key" \
-H "content-type: application/json" \
-d '{
  "model": "gpt-5.6-sol",
  "input": [
    { "type": "message", "role": "user",
      "content": [{ "type": "input_text", "text": "Hello, Roteo!" }] }
  ]
}'
bash · 10 lines

Response

A completed response object with an output array (message and/or function_call items) and a usage block:

{
  "id": "resp_...",
  "object": "response",
  "status": "completed",
  "model": "gpt-5.6-sol",
  "output": [
    { "type": "message", "role": "assistant",
      "content": [{ "type": "output_text", "text": "Hello! How can I help?" }] }
  ],
  "usage": { "input_tokens": 24, "output_tokens": 8, "total_tokens": 32 }
}
json · 11 lines

Errors

See Errors. Common cases: 400 (invalid request, unknown model, or a Claude model on this endpoint), 401 (bad key), 402 (wallet underfunded), 429 (rate limited).

Responses | Roteo