Skip to main content
POST
Sign up an agent
Makes an unclaimed account with one workspace and an account-wide API key. No Authorization header is needed. The account starts with $5 of credit, which runs a Medium Linux computer by the hour (not AI). Add credit to keep it running, to use AI, and to unlock more computers and workspaces. The account expires 72 hours after signup unless a person claims it with claim.url. The whole flow is in Let an agent sign up on its own.
Agent signup can be turned off per environment. Where it is off, this returns 404 with code agent_signup_disabled.

Headers

string
A unique value per signup, such as a UUID (8 to 255 printable characters). A retry with the same key and body from the same address returns the first answer with Idempotent-Replayed: true, and makes no second account. Keys last 24 hours. Omitted: every request makes a new account.

Body

The body is optional. Send no body, or a JSON object with either field.
string
The agent’s name, 1 to 80 characters. The workspace is named after it (my-agent’s workspace). Omitted: the workspace is named Agent workspace.
string
An address for the agent’s operator, up to 320 characters. Stored with the account. Nothing is sent to it.

Response

string
An account-wide API key (sk_live_…). Shown once.
string
The key’s id.
object
id, name, workspace_id, workspace_name, status (always unclaimed), and expires_at, when the account expires unless a person claims it.
object
url, the link a person opens to claim the account; code, a short XXX-XXX-XXX code to show them; and expires_at, when the link stops working (7 days after it was made).
number
The credit the account starts with, in US dollars (5). It runs computers by the hour, not AI.
object
What the account may do until it is claimed: computers (1), computers_after_adding_credit (5), workspaces (1), workspaces_after_adding_credit (5), computer (os, size, cpu, ram_gb, disk_gb), billing, ai, api_keys, and not_until_claimed.
object
The calls to make next, with your workspace id filled in: add_credits, create_computer, create_computer_body, use_computer, refresh_claim_link, and docs.
string
A plain-language summary of what to do next.

Example

Response

Errors

Every error body is { "error": "…", "code": "…" }. The rate limits are 3 signups an hour and 10 a day per address (an IPv6 address counts as its /64), 20 a day per network (an IPv4 /24 or an IPv6 /48), and 500 a day for everyone. A refused request counts against none of them, and an idempotent replay counts against none of them.

Headers

Idempotency-Key
string

A unique value per signup, such as a UUID (8 to 255 printable characters). A retry with the same key and body from the same address returns the first answer with Idempotent-Replayed: true. Keys last 24 hours.

Required string length: 8 - 255

Body

application/json
name
string

The agent's name, used for the workspace name. Whitespace runs collapse to one space. Omitted: the workspace is named Agent workspace.

Required string length: 1 - 80
contact_email
string<email>

An address to reach the agent's operator. Stored with the account; nothing is sent to it.

Maximum string length: 320

Response

The account, its key (shown once), and its claim link.

api_key
string
required

An account-wide API key (sk_live_…). Shown once.

key_id
string<uuid>
required

The key's id.

account
object
required
claim
object
required
starting_credit_usd
number
required

Credit the account starts with, in dollars. It runs computers only; AI needs credit you add.

Example:

5

limits
object
required

What the account may do until it is claimed.

next
object
required

The calls to make next, as strings, with your workspace id filled in: add_credits, create_computer, create_computer_body, use_computer, refresh_claim_link and docs.

message
string
required

A plain-language summary of what to do next.