REST API Authentication

Create a key in Billing → API Keys. You must be an account owner or admin, and the account must have Carbon access. The complete sk_sootsim_... secret appears once. Store it in your secret manager instead of source control.

Send the key as a Bearer token:

Authorization: Bearer sk_sootsim_...

The session token created by sootsim login also authenticates /api/v1:

Authorization: Bearer <sootsim-session-token>

Session tokens have all API scopes. Browser cookies alone and GitHub installation tokens do not authenticate /api/v1 requests.

Scopes

ScopeAccess
preview_uploadCreate, finalize, and inspect hosted previews
buildsPublish and inspect customer-built snapshots for linked repositories
test_runsRegister and list Maestro or Detox test runs
llmExisting AI-assisted preview and flow endpoints outside /api/v1

An insufficient API-key scope returns 403 insufficient_scope. An expired, revoked, or unknown key, or an invalid session token, returns 401 unauthorized.

Key lists show the prefix, creator, scopes, creation time, expiration, and last use. Revocation takes effect immediately. Create a replacement before revoking a key when rotating automation without downtime.

Ready to build?

Run your React Native app in the browser. No simulators, no native toolchain, no waiting.

curl -fsSL https://sootsim.com/install.sh | sh