Test Runs API

Test-run endpoints require the test_runs scope. Upload the replay first with the Preview API, then register the result.

Register a run

POST https://contrast.dev/api/v1/test-runs

{
"kind": "maestro",
"name": "Checkout flow",
"status": "passed",
"owner": "acme",
"repo": "mobile",
"branch": "main",
"commitSha": "...",
"previewShareId": "...",
"stepCount": 8,
"durationMs": 21400
}

kind is maestro or detox. Provide name, prompt, or both. status is stored as passed only when that exact value is sent; other values represent a failed run and may include failureMessage and failedStepIndex.

The preview must belong to the authenticated account. The response includes an absolute previewUrl and traceUrl on https://sootsim.com.

List runs

GET /api/v1/test-runs?org=acme&repo=mobile&branch=main&kind=maestro&limit=50

org and repo are required and must identify a repository linked to the authenticated account. Optional filters are branch, kind, status, source, and pr. limit is clamped to 1 through 100. Results are newest first.

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