openai.chat.completions.create.
The response is wire-compatible with OpenAI’s chat completions. Any SDK that points at
https://www.orgo.ai/api/v1 works unchanged - the only required extension is passing a computer_id to bind the agent to a running VM.Endpoint
Authorization: Bearer sk_live_...
Request
string
required
UUID of a running Orgo computer - returned as the
id field by Create computer. The authenticated user must own the computer or be a member of its workspace.array
required
Array of
{ role, content } objects. role must be user or assistant. The first message must have role user. When continuing a thread, only the new messages need to be passed - prior history is loaded from the thread.string
default:"claude-sonnet-5"
Model identifier. One of
claude-sonnet-5, claude-opus-5, claude-opus-4.8, claude-sonnet-4.6, or claude-opus-4.6. See Models below.boolean
default:"false"
If
true, responses are streamed as OpenAI-format Server-Sent Events. The connection stays open until the agent finishes or the request is cancelled.string
Continue a previous multi-turn session. When set, the server loads the thread’s history, runs the agent with full context, and appends new messages on completion. If omitted, a new thread is created automatically and its ID returned in the response.
integer
default:"100"
Maximum number of agent steps (screenshot → action → observation) before the run stops. Increase for long, multi-phase workflows.
Headers
string
required
Bearer sk_live_... - your Orgo API key. Get one at orgo.ai/settings/api-keys.string
Bring-your-own Anthropic key. When present, requests bill directly to your Anthropic account instead of drawing from your Orgo credit balance. Enterprise plans can omit this and still bypass metering.
Response
Non-streaming
string
Request identifier (
chatcmpl-...). Also returned as the X-Request-Id response header.string
Always
chat.completion.integer
Unix timestamp (seconds).
string
The model ID used for the request.
array
Single-element array containing the final assistant message.
object
Token counts for the full agent loop (all intermediate turns, not just the final message).
object
Orgo-specific metadata not in the OpenAI spec.
Response headers
Streaming
Whenstream: true, the server returns text/event-stream with standard OpenAI chat.completion.chunk events:
X-Thread-Id header is set on the initial response so clients can associate the stream with a thread before the first chunk arrives.
Examples
Streaming with raw SSE
Continuing a thread
Pass thethread_id returned by a previous response. The agent loads the prior conversation and picks up where it left off.
Bring your own Anthropic key
Passx-anthropic-key to bill the request against your own Anthropic account. Orgo credits are not consumed and orgo.cost_cents is 0.
Example response
Models
Orgo’s OpenAI-compatible endpoint uses dotted model IDs (
claude-sonnet-4.6). If you’re calling Anthropic’s native SDK directly in the Claude Computer Use guide, use the hyphenated form (claude-sonnet-4-6) - that’s Anthropic’s canonical identifier.Billing
Requests are metered after the agent loop finishes. For non-BYOK, non-enterprise users, Orgo places a credit hold at request start and settles against actual token usage on completion. If the request errors before any tokens are consumed, the hold is refunded. Pricing matches Anthropic’s token rates plus a small platform margin; exact per-request cost is returned inorgo.cost_cents.
Errors
All error responses have the shape: