Skip to main content
A browser session is an isolated, short-lived Chromium instance with network access restricted to the domains you allow.

Create a Session

Policy

allowed_domains Matching

Matching is exact-only — no implicit subdomain matching. To allow a domain and all its subdomains, list both:
  • Wildcard patterns use *. prefix — *.example.com matches any subdomain but not the apex itself.
  • Exact patterns (example.com) match only that exact hostname.
  • IP literals (e.g. 127.0.0.1) are not allowed.

Limits

Idempotency and Concurrent-Session Quota

Pass an optional idempotency_key (1–255 characters) in the create request body. Within the same organization, the same key and identical normalized policy, limits, and metadata return the existing session with HTTP 201. Defaults are applied before comparison. A different request with that key returns 409 idempotency_conflict. A replay does not restart a closed, failed, or expired session. Creating a new session can return 429 quota_exceeded with retryable: true when the organization’s concurrent-session quota is reached. Close unneeded active sessions or wait for capacity before trying again. This is a session quota, not a per-key request-rate limit.

Session Lifecycle

List Sessions

Filter by status: provisioning, ready, closing, closed, failed, expired.

Get Session

Close Session

Closing a ready session normally returns status: "closed". An already closed, failed, or expired session is returned unchanged. A provisioning session returns 409 session_not_ready; poll its state before closing again. A request that cannot be completed reliably can return 503 execution_lost with retryable: true; retrieve the session state before retrying the close.