Skip to main content
POST
/
v3
/
compat
/
chat
/
completions
Chat Completions API
curl --request POST \
  --url https://api.opper.ai/v3/compat/chat/completions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "messages": [
    {
      "content": "<unknown>",
      "role": "<string>",
      "name": "<string>",
      "tool_call_id": "<string>",
      "tool_calls": [
        {
          "function": {
            "arguments": "<string>",
            "name": "<string>"
          },
          "id": "<string>",
          "type": "<string>",
          "thought_signature": "<string>"
        }
      ]
    }
  ]
}
'
{
  "choices": [
    {
      "finish_reason": "<string>",
      "index": 123,
      "message": {
        "content": "<string>",
        "role": "<string>",
        "tool_calls": [
          {
            "function": {
              "arguments": "<string>",
              "name": "<string>"
            },
            "id": "<string>",
            "type": "<string>",
            "thought_signature": "<string>"
          }
        ]
      }
    }
  ],
  "created": 123,
  "id": "<string>",
  "model": "<string>",
  "object": "<string>",
  "usage": {
    "completion_tokens": 123,
    "prompt_tokens": 123,
    "total_tokens": 123,
    "cache_creation_tokens": 123,
    "cache_read_tokens": 123,
    "completion_tokens_details": {
      "reasoning_tokens": 123
    },
    "server_tool_use": {}
  },
  "cost": 123
}

Authorizations

Authorization
string
header
required

API key authentication. Pass your API key as a Bearer token.

Headers

X-Opper-Name
string

Function name for tracing and routing.

X-Opper-Parent-Span-Id
string<uuid>

Parent span ID for distributed tracing context.

X-Opper-Guard-Input
string

Comma-separated input guardrail checks (e.g. "pii,secrets").

X-Opper-Guard-Output
string

Comma-separated output guardrail checks (e.g. "toxicity").

X-Opper-Guard-Action
enum<string>
default:flag

Action for guardrail violations: "flag" (default), "block", or "redact".

Available options:
flag,
block,
redact

Body

application/json
messages
object[]
required
max_completion_tokens
integer
max_tokens
integer
model
string
output_schema
object
reasoning_effort
string
response_format
object
stop
string[]
stream
boolean
stream_options
object
temperature
number
tool_choice
any

Any value

tools
object[]
top_p
number

Response

Successful response

choices
object[]
required
created
integer
required
id
string
required
model
string
required
object
string
required
usage
object
required
cost
number