MockingbirdMockingbird Docs
API reference

Get results

Poll run and suite-run status with the GET endpoints.

GET /api/v1/runs/{runId}

Status of a single test run:

curl -H "Authorization: Bearer mb_live_..." \
  https://app.mockingbirdai.com.au/api/v1/runs/RUN_ID
{
  "id": "RUN_ID",
  "status": "passed",
  "result_summary": "Signed in and verified the dashboard greeting.",
  "error": null,
  "skip_reason": null
}

Poll until status is terminal: passed, failed, error, or skipped. A run outside your key's workspace returns 404, never another tenant's data.

GET /api/v1/suite-runs/{suiteRunId}

Aggregate status for a suite run plus each child test:

curl -H "Authorization: Bearer mb_live_..." \
  https://app.mockingbirdai.com.au/api/v1/suite-runs/SUITE_RUN_ID
{
  "id": "SUITE_RUN_ID",
  "status": "failed",
  "total_count": 4,
  "passed_count": 3,
  "failed_count": 1,
  "error_count": 0,
  "skipped_count": 0,
  "suiteRunUrl": "https://app.mockingbirdai.com.au/w/acme/p/acme-store/tests/...",
  "tests": [
    { "runId": "...", "name": "Checkout with saved card", "status": "failed", "skipReason": null }
  ]
}

suiteRunUrl is the human link: send people there for the step timelines, screenshots, and recordings rather than rebuilding that view from the API.

Polling guidance

Suite duration depends on test count and length; the GitHub Action defaults to a 15-minute budget. Poll every few seconds, respect 429 by backing off, and treat failed and error as distinct outcomes: failed means the product misbehaved, error means the run itself could not complete.

On this page