Ultrac
Developer API

Use Cosmic 1 through the API.

Use this site's OpenAI-compatible API at /v1 with the cosmic-1 model ID. The CLI signs in through your browser; scripts and SDKs use an API key.

Quickstart

Send a chat completion request.

Set the SDK base URL and API key, then call Chat Completions with model: cosmic-1.

Base URL

https://ultrac.io/v1

Auth

Authorization: Bearer ultrac_sk_...

Model

cosmic-1

curl https://ultrac.io/v1/chat/completions \
  -H "Authorization: Bearer $ULTRAC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "cosmic-1",
    "messages": [{"role": "user", "content": "Analyze this incident."}]
  }'

Sign in with ultrac login and the CLI creates a key for your machine. For scripts and SDKs, create a key on the API keys page after your account is approved. Copy it when it is created; it is shown once. We store only a hash, and you can revoke the key at any time.

Set stream: true to receive server-sent events. Send tools to offer functions the model can call; use tool_choice to control tool selection. Calls are returned in tool_calls. The request reference includes a worked example.

For work that may outlast one request, create a task with POST /v1/runs. It returns a run ID before a worker starts the model. Follow the task over server-sent events. If the stream disconnects, reconnect with Last-Event-ID to receive missed events; the task keeps running. Event-stream requests remain subject to API rate limits. See Long-running tasks for the endpoints and a copyable loop.

Limits

What each plan allows.

Limits apply to the plan confirmed on your account. Free limits apply until a plan is confirmed. Each API key also has a per-minute limit. Additional keys do not increase the account limit. Requests that exceed a limit are rejected until the window resets.

Session, daily, and weekly limits apply together. The daily limit is the maximum for one day; multiplying it by seven does not increase your weekly allowance. A request is rejected when any applicable limit is reached.

PlanAPI requests / minuteAPI requests / dayDashboard / minutePer sessionPer week
Free81012850
Pro20562048280
Team(at 3 seats; the daily figure grows per seat)60210301741,050
Ultra80360403001,800

A request over the limit answers 429 with a retry-after header. Full reference, including the request fields and error codes, is in the docs.