Skip to content
Raster
Esc
navigateopen⌘Jpreview
On this page

Computer API

Persistent personal computers for agents. A machine is the core resource: a durable computer that can be stopped and started without losing its files.

Authentication. Every request carries either an organization API key as Authorization: Bearer sk_..., or the first-party computer_session cookie a browser gets from POST /v1/auth/login. There is no third way in.

Errors. Every non-2xx response is the same envelope: { error: { code, message, request_id, details?, quota? } }. Switch on code, which is a closed set; message is written for a person and may be reworded.

Repeating a request. Any unsafe request accepts an Idempotency-Key header, and that is what makes retrying one safe: a repeat replays the first response instead of creating a second machine. Reusing a key with a different body is a conflict.

Lists. Every list is cursor-paginated and answers { data, next_cursor, has_more }. A cursor is opaque; pass back what the last page returned and never construct one.

Version 1.0.0
Base URLhttps://api.raster.sh/v1

auth

Signup, login, logout and browser sessions. First-party: there is no hosted auth provider anywhere in this product.

organizations

The unit every machine, key and bill belongs to. A user gets a personal one at signup and may belong to more.

members

Membership, roles and invitations within the active organization.

api-keys

Organization API keys and their scopes. The secret is returned once, at creation, and never again.

machines

The core resource. Creating one boots a computer; stopping it keeps the disk and deleting it destroys it. Forking copies a disk into a second machine that owes the first nothing afterwards.

images

The server-owned catalog of base disk images a machine boots from. machines.create accepts any id listed here and uses the image marked default when a request names none. Deprecated images stay listed, with deprecated_at set, because existing machines still reference them.

computer

Driving a machine the way a person would: its screen, pointer, keyboard, clipboard, terminals, files and browser. Every coordinate is in the pixel space of the machine’s current display, and one outside it is rejected rather than clamped.

sessions

A connection to a machine, and the single input lease that hangs off it. At most one session may send input at a time, which is what makes human takeover safe rather than interleaved.

templates

Named starting states. A template is a snapshot with a name and an organization behind it, so a team can agree on what its standard box is.

snapshots

Captured disks. A capture holds files, installed software and browser profile data, and holds no RAM and no live process state. Captures of one machine form a chain and only the newest can be deleted.

ports

Publishing a guest port at its own https hostname. Private by default; the credential is in the response that creates it and nowhere else.

secrets

Values delivered into tmpfs inside a machine. A stored value is never returned - there is no read route here and no field one could travel in - and a snapshot, fork or template does not carry it.

usage

The metered record behind a bill: raw records for a period, and the same records bucketed for charting. This is the source of truth, not the provider’s copy.

plans

The server-owned catalog of plans, entitlements and rates. No price, allowance or weight is hardcoded in any client, so an older SDK can display a newer catalog.

billing

The organization’s account, checkout, customer portal and current-period summary.

Was this page helpful?