X-API-Key header. See API Reference for authentication details.
Run Flows
Trigger flow execution. Returns abatch_id to poll via Run Status.
POST
/api/v1/flows/run — Returns 200 OKRequest Body
App bundle identifier (mobile). Required if
app_id is not provided.ios or android. Required with bundle_id.Web app identifier. Required if
bundle_id is not provided.Optional. Pin the run to a specific build (UUID) instead of the app’s active build — useful for testing a particular CI/CD build. The build must belong to the resolved app, otherwise the request returns
404.Suite UUIDs to run. At least one of
suite_ids or flow_ids is required.Flow UUIDs to run. At least one of
suite_ids or flow_ids is required.When provided, suite auth instructions and suite-scoped variables are resolved automatically unless resolve_suite_context is set to false. See Suite context for individual flows below.When running individual flows via
flow_ids, whether to look up the flow’s suite and run auth instructions first. Defaults to true. Set to false to run the flow without suite auth or suite-scoped variables — useful for unauthenticated smoke tests or flows that handle login themselves.Optional. When a flow belongs to multiple suites, pass a JSON object mapping each ambiguous
flow_id to the suite_id whose auth instructions and variables should be used, e.g. {"<flow_id>": "<suite_id>"}. Ignored when resolve_suite_context is false.Key-value variables to attach to the build being run (the pinned
app_build_id if provided, otherwise the active build) and inject into flow instructions via ${env:KEY}. Accepts a string ("KEY1=VALUE1,KEY2=VALUE2") or a JSON object ({"KEY1": "VALUE1"}). See Build Variables.For web apps: which browser to run the flow in. One of:
chrome— real Google Chrome (default). Includes proprietary codecs (H.264, AAC) and Widevine DRM. Use this unless you have a specific reason to pick another browser.chromium— open-source Chromium. No proprietary codecs, no DRM, deterministic and vendor-neutral.firefox— Mozilla Firefox stable.edge— Microsoft Edge stable.
Chrome / Google Chrome → chrome; msedge / Microsoft Edge → edge. Ignored for mobile runs.Suite context for individual flows
When you trigger a single flow viaflow_ids, Autosana resolves the suite it belongs to and runs that suite’s Auth Instructions first — the same behavior as running the flow manually from the dashboard.
Example Request
Example Response
Run Status
Poll execution status for a batch triggered by Run Flows.GET
/api/v1/runs/status — Returns 200 OKQuery Parameters
The
batch_id from /api/v1/flows/run.Example Request
Example Response
source (how it was triggered: ci, dashboard, schedule, or mcp) and actor (who triggered it, as { id, name, type }, where type is user or system). Both may be null for older runs.
Get Run Results
Get full details of a run, including metadata, summary, and all actions with screenshot URLs. Use theid from individual runs in the Run Status response.
GET
/api/v1/runs/{run_id} — Returns 200 OKPath Parameters
UUID of the run. Available in the
runs[].id field from Run Status.Example Request
Example Response
Artifact URLs
Time-series performance metrics (memory, CPU, web vitals) as JSON.
Device log (Android
logcat / iOS syslog) or browser console log (web), as plain text or JSONL.HTTP requests captured during the run, as JSONL — one entry per request with
method, url, status, resource_type, duration_ms, response_size, etc. Failed requests (DNS, abort, CORS) appear with status: 0 and an error string.Web runs only. null for mobile — use the platform field to disambiguate.null if the artifact wasn’t produced for that run.
Polling
Poll/api/v1/runs/status every 10-15 seconds until is_complete is true.