> ## Documentation Index
> Fetch the complete documentation index at: https://docs.docketqa.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Run Test

Trigger a test run for one or more test blueprints. Each test runs in its own remote screen session (browser or mobile device).

<ParamField body="test_blueprint_ids" type="integer[]" required>
  An array of test blueprint IDs to run. You can trigger multiple tests in a single request.
</ParamField>

### Example request body

```json theme={null}
{
  "test_blueprint_ids": [181]
}
```

<ResponseField name="message" type="string">
  A confirmation message (e.g. `"Test group run triggered successfully"`).
</ResponseField>

<ResponseField name="test_group_run" type="object">
  The created test group run object.

  <Expandable title="Properties">
    <ResponseField name="id" type="integer">
      The unique ID of the test group run.
    </ResponseField>

    <ResponseField name="company_id" type="integer">
      Your company ID.
    </ResponseField>

    <ResponseField name="name" type="string">
      Auto-generated name for the run (e.g. `"Manual Run 2025-07-03 01:38:03"`).
    </ResponseField>

    <ResponseField name="status" type="string">
      The current status of the group run (e.g. `"running"`).
    </ResponseField>

    <ResponseField name="test_runs" type="object[]">
      Array of individual test run objects, one per blueprint ID.

      <Expandable title="Test run properties">
        <ResponseField name="id" type="integer">
          The unique ID of the individual test run. Use this with the [Get Test Run](/api-reference/endpoint/get-test-run) endpoint to poll for results.
        </ResponseField>

        <ResponseField name="status" type="string">
          The current status of this test run (e.g. `"running"`, `"passed"`, `"failed"`).
        </ResponseField>

        <ResponseField name="test_blueprint_id" type="integer">
          The blueprint ID this run is executing.
        </ResponseField>

        <ResponseField name="test_group_run_id" type="integer">
          The parent group run ID.
        </ResponseField>

        <ResponseField name="blueprint_metadata" type="object">
          A snapshot of the test blueprint at the time the run was triggered.
        </ResponseField>

        <ResponseField name="results" type="object[]">
          Step-by-step results. `null` while the test is still running.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="created_at" type="string">
      ISO 8601 timestamp of when the run was triggered.
    </ResponseField>

    <ResponseField name="updated_at" type="string">
      ISO 8601 timestamp of the last status update.
    </ResponseField>
  </Expandable>
</ResponseField>

### Example response

```json theme={null}
{
  "message": "Test group run triggered successfully",
  "test_group_run": {
    "company_id": 2,
    "created_at": "2025-07-03T01:38:03.020496+00:00",
    "id": 35,
    "name": "Manual Run 2025-07-03 01:38:03",
    "status": "running",
    "test_runs": [
      {
        "blueprint_metadata": { ... },
        "created_at": "2025-07-03T01:38:03.032648+00:00",
        "id": 38,
        "is_login_test_run": false,
        "results": null,
        "status": "running",
        "test_blueprint_id": 180,
        "test_group_run_id": 35,
        "test_video_s3_key": null,
        "updated_at": "2025-07-03T01:38:03.032653+00:00"
      }
    ],
    "updated_at": "2025-07-03T01:38:03.020501+00:00"
  }
}
```

<Tip>
  After triggering a run, use the `test_runs[].id` value to poll the [Get Test Run](/api-reference/endpoint/get-test-run) endpoint until the status changes from `"running"` to `"passed"` or `"failed"`.
</Tip>
