The five things
Everything is one account, one API, one credit balance, five capabilities.
Alongside them, monitors watch a page on a schedule and notify on real change, and a handful of platform primitives (profiles, secrets, rules, integrations, sessions) support all five without being one of them.
Jobs, and the shape they share
Three capabilities (crawl, agent, and a monitor’s schedule) do not answer in one round trip.crawl and agent both follow the same shape: POST returns an id in milliseconds, and the work continues after the call returns.
crawl streams as newline-delimited JSON while it runs; agent answers plain JSON with the id and returns at once, and you follow the run with the calls above. Either way, the id you get first is what every later call about that job needs, store it.
Workspaces and organizations
A workspace is a billing and access boundary: its own credit balance, its own members, its own plan and its own payment method. Signing up gives you one, and + New workspace in the console switcher opens another, up to five per person. Three roles: owner (one at a time, though ownership can hand to someone else), admin, and member. All three can use the five capabilities; owner and admin can invite, remove, change a plan and see what it costs. A workspace starts as a personal workspace: invoices name the person who opened it. Switch to organization in Settings moves invoicing to a company instead, its own legal name, address and tax ID, without moving anything else. The credits, the members and the plan stay exactly where they were. Only a person’s very first workspace ever starts on the Free plan’s monthly credits. Every workspace after that starts with none: the Free allowance is a monthly ceiling, not a one-time gift, and starting a second workspace on it would mint a second free allowance out of the same verification check the first one already used. A later workspace works the moment it has a paid plan. A workspace can be deleted by its owner once nothing paid is still active on it and it is not the account’s only one; see Settings for exactly what that takes and what it costs.Credits
One prepaid-style balance, shared across every capability. Every response carries ausage object stating exactly what that call cost, so nothing on a bill is a surprise from a number you could not already see. See pricing for the exact rate per kind.
Profiles
A pinned exit and persistent storage (cookies, logins) that survives across sessions. Pass a profile to a browser session or an agent run to keep a login rather than signing in fresh every time. A profile is leased while it is open, a second concurrent use of the same profile is refused rather than silently forking its state.Sessions
Every browser-driven run, whether a liveoc.browser() session or an agent run, produces a session with a replay. sessions.get returns the replay URL, duration, page count and usage, the way a charge gets disputed: watch what it bought. A replay never autoplays, a person presses play.
Secrets, rules and integrations
Three platform primitives that shape what an agent is allowed to do:- Secrets store a credential under a handle an agent can reference but never read back. No route on any surface returns a stored value.
- Rules are plain-language sentences a workspace sets; each one comes back classified as
enforced(a hard gate) orguidance(in the prompt only), so you know which kind you actually have. - Integrations connect an external MCP server (Gmail, Slack, and similar) so a run can call its tools mid-task. Connecting one is a human-only action; a run only reaches an integration it is explicitly given at submit time.
Authentication
Two bearer credentials, either works everywhere: an API key,ock_<keyId>.<secret>, for code you write yourself; or an OAuth access token, oat_<...>, from signing in, what outcrawl login and an MCP client’s first use both give you. See API authentication.