API keys
An API key is an organization-scoped bearer credential. Send it in thex-api-key header:
What an API key can do
The key identifies the organization it belongs to. Authorization is at that granularity and no finer:- It can call every documented endpoint that the organization can reach — create and cancel runs, read run history and artifacts, create and delete workflows, manage browser sessions and profiles, and read and write stored credentials.
- Usage and cost are metered to that organization.
- It carries no expiry of its own; it is valid until revoked.
Isolating access
Because scoping is per organization, the organization is the isolation boundary. To separate access:- Use separate organizations for separate blast radii — production versus staging, or one per customer or per team.
- Rotate keys from Settings when someone with access leaves or a key may have leaked. Revoking a key immediately invalidates every client using it, including OAuth tokens issued against it.
- Put outbound results behind webhooks with signature verification rather than handing a key to a third party so it can poll.
OAuth 2.0
Skyvern Cloud is an OAuth 2.0 authorization server, backed by Clerk. It exists so MCP clients and AI assistants can authenticate a human with a browser sign-in instead of asking them to paste a static key into a config file. Discovery metadata is public:
Clients that support MCP OAuth discovery — Claude Code, Claude Desktop, Cursor, Codex CLI, ChatGPT — need no client ID or client secret in their config; they register dynamically and open a browser for sign-in. See the MCP server setup guide for per-client commands.
Supported scopes
The authorization server advertises thesescopes_supported:
The protected-resource metadata for the MCP server narrows the advertised set to
profile and email.
Once the authorization code is exchanged, the resulting access token authorizes as the organization the signed-in user belongs to, with the same organization-wide authority as an API key. Requesting fewer scopes does not produce a more restricted token. Access tokens expire and are refreshable with offline_access; a refresh token is single-use and rotated on every exchange, and replaying an old one revokes the whole token family. Revoking the organization’s API key also invalidates tokens issued against it.
MCP server
The hosted Model Context Protocol server is athttps://api.skyvern.com/mcp. It accepts either credential:
- OAuth:
Authorization: Bearer <access_token> - API key:
x-api-key: YOUR_API_KEY
operate, build, browser, lean, and all. Omitting the scope is identical to all.
Tool scopes are a usability filter, not an authorization boundary. They change which tools the server advertises, so a smaller scope means a smaller, sharper tool list for the model — but the request still authenticates with the same organization-wide credential. Do not rely on a narrow scope to prevent a client from taking an action.
Summary of the scoping model
- Organization is the only authorization boundary. Every credential is bound to exactly one, and grants full access within it.
- API keys are org-scoped bearer credentials with no sub-scopes, sent as
x-api-key. - OAuth scopes control identity claims about the signed-in user, not API reach.
- MCP tool scopes control the advertised tool catalog, not permissions.
- To limit what a credential can touch, create a separate organization.
API Key
Find, copy, and rotate your key in the Cloud dashboard
MCP Server
Per-client OAuth and API-key setup for the hosted MCP server

