Get all runs
List workflow runs across all workflows for the current organization.
Results are paginated and can be filtered by status, search_key, and error_code. All filters are combined with AND logic — a run must match every supplied filter to be returned.
search_key
A case-insensitive substring search that matches against any of the following fields:
| Searched field | Description |
|---|---|
workflow_run_id | The unique run identifier (e.g. wr_123…) |
workflow_permanent_id | The permanent ID of the workflow that ran (e.g. wpid_123…) |
| Workflow title | The title of the workflow that ran |
| Parameter key | The key of any workflow parameter definition associated with the run |
| Parameter description | The description of any workflow parameter definition |
| Run parameter value | The actual value supplied for any parameter when the run was created |
extra_http_headers | Extra HTTP headers attached to the run (searched as raw JSON text) |
webhook_callback_url | The webhook URL the run posts its result to |
Soft-deleted parameter definitions are excluded from key/description matching. A run is returned if any of the fields above contain the search term.
A complete identifier also matches the run that used it, by exact equality:
| Identifier | Description |
|---|---|
browser_profile_id | The browser profile the run used (e.g. bp_123…) |
browser_session_id | The browser session the run used (e.g. pbs_123…) |
| Credential id | A credential the run used (e.g. cred_123…) |
A complete browser profile or browser session id is matched against those identifiers only, not the text fields above. A credential id matches a run when it is the run’s sequential credential, the credential the run selected from a pool or fell back to, or the credential bound by a credential parameter on the run’s workflow version when the run was created and the run recorded no selection for that parameter. Other pool and fallback members the run did not use do not match.
error_code
An exact-match filter against the error_code field inside each task’s errors JSON array. A run matches if any of its tasks contains an error object with a matching error_code value. Error codes are user-defined strings set during workflow execution (e.g. INVALID_CREDENTIALS, LOGIN_FAILED, CAPTCHA_DETECTED).
Combining filters
All query parameters use AND logic:
?status=failed— only failed runs?status=failed&error_code=LOGIN_FAILED— failed runs and have a LOGIN_FAILED error?status=failed&error_code=LOGIN_FAILED&search_key=prod_credential— all three conditions must match
Headers
Skyvern API key for authentication. API key can be found at https://app.skyvern.com/settings.
Query Parameters
Page number for pagination.
x >= 1Number of runs to return per page.
x >= 1Filter by one or more run statuses.
created, queued, running, failed, terminated, canceled, timed_out, completed, paused Case-insensitive substring search across: workflow run ID, parameter key, parameter description, run parameter value, extra HTTP headers and webhook callback URL. A run is returned if any of these fields match. Soft-deleted parameter definitions are excluded from key/description matching. A complete browser profile ID, browser session ID or credential ID matches the run that used it exactly (no substring match). A complete browser profile or browser session ID is matched against those identifiers only, not the text fields. A credential ID matches when it is the run's sequential credential, the credential the run selected from a pool or fell back to, or the credential bound by a credential parameter on the run's workflow version when the run was created and the run recorded no selection for it. The workflow title and workflow permanent ID are matched as well.
500"login_url"
Exact-match filter on the error_code field inside each task's errors JSON array. A run matches if any of its tasks contains an error with a matching error_code. Error codes are user-defined strings set during workflow execution.
500"INVALID_CREDENTIALS"
Response
Successful Response
created, queued, running, failed, terminated, canceled, timed_out, completed, paused Which layer of the seed-precedence chain seeded a run's browser (provenance).
Resolved once at run setup, before any browser creation, for all run types (C-semantics).
- override: explicit request browser_profile_id (one-run-only pick via API)
- picked: the workflow's explicit profile pick (workflows.browser_profile_id) — "always start here"
- own_memory: the workflow's own auto-profile (no pick + persist_browser_session)
- credential: the run's selected credential's profile (rotation-aware; also the empty-own boot)
- fresh: no seed profile
- degraded_fresh: a resolved profile failed to load; ran fresh
override, picked, own_memory, credential, fresh, degraded_fresh One-based number of the current workflow run attempt
Whether another attempt is scheduled for this workflow run
Timestamp when the next workflow run attempt is scheduled
Attempts recorded for this workflow run
RESIDENTIAL, US-CA, US-NY, US-TX, US-FL, US-WA, RESIDENTIAL_ES, RESIDENTIAL_IE, RESIDENTIAL_GB, RESIDENTIAL_IN, RESIDENTIAL_JP, RESIDENTIAL_FR, RESIDENTIAL_DE, RESIDENTIAL_NZ, RESIDENTIAL_ZA, RESIDENTIAL_AR, RESIDENTIAL_AU, RESIDENTIAL_BR, RESIDENTIAL_TR, RESIDENTIAL_CA, RESIDENTIAL_MX, RESIDENTIAL_IT, RESIDENTIAL_NL, RESIDENTIAL_PH, RESIDENTIAL_KR, RESIDENTIAL_SA, RESIDENTIAL_ISP, NONE Browser settings copied from the workflow version when the run was created
How a workflow run was initiated.
- manual: User clicked "Run" in the UI
- mcp: First-party MCP client request
- api: Direct API call to the run endpoint
- scheduled: Triggered by a cron schedule
- webhook: Triggered by an external system via the webhook endpoint
- job_recipe_extract: Launched by a job recipe extract request
- job_recipe_apply: Launched by a job recipe apply request
manual, mcp, api, scheduled, webhook, job_recipe_extract, job_recipe_apply ID of the user who started the run

