API reference

Chat completions

The OpenAI Chat Completions format. Point any OpenAI SDK at the base URL below, including the /v1.

POST/v1/chat/completions
Base URLhttps://api.overagent.cc/v1

Request body

FieldTypeDescription
modelrequiredstringA model id from the catalog.
messagesrequiredarrayStandard OpenAI chat messages. Text and image parts are both accepted.
max_tokensintegerOutput ceiling. Enforced — generation stops here and finish_reason comes back as length. Defaults to 16384.
streambooleanStream SSE chunks, terminated by data: [DONE]. See Streaming.
toolsarrayFunction tool definitions, in OpenAI's shape.
thinkingboolean | objectTurn on extended reasoning. Accepts true or Anthropic's { type: "enabled" }.
reasoning_effortstringlow, medium, or high. thinking_effort is accepted as an alias.
fastbooleanPrefer the fast variant where the model has one. speed: "fast" is an accepted alias.
fallbacks"default" | arrayRetry behaviour on a classifier refusal. See Models.

Examples

curl https://api.overagent.cc/v1/chat/completions \
  -H "Authorization: Bearer $OVERAGENT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "messages": [{"role": "user", "content": "Hello"}],
    "max_tokens": 512
  }'

Extended thinking

Reasoning models can be asked to think before answering. In a streamed response the reasoning arrives separately from the answer, on delta.reasoning_content, so you can render or discard it without it contaminating the message body.

curl
curl https://api.overagent.cc/v1/chat/completions \
  -H "Authorization: Bearer $OVERAGENT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-opus-5",
    "messages": [{"role": "user", "content": "Prove that sqrt(2) is irrational."}],
    "thinking": true,
    "reasoning_effort": "high",
    "max_tokens": 2048
  }'

Tools

Function tools use the OpenAI shape. When the model calls one, finish_reason is tool_calls and the calls arrive on message.tool_calls.

curl
curl https://api.overagent.cc/v1/chat/completions \
  -H "Authorization: Bearer $OVERAGENT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "messages": [{"role": "user", "content": "What is the weather in Athens?"}],
    "tools": [{
      "type": "function",
      "function": {
        "name": "get_weather",
        "description": "Current weather for a city",
        "parameters": {
          "type": "object",
          "properties": { "city": { "type": "string" } },
          "required": ["city"]
        }
      }
    }]
  }'