---
title: "Get test run status by ID"
method: GET
path: "/v1/jobs/status/{test_run_id}"
tags: ["jobs"]
---

# Get test run status by ID

`GET /v1/jobs/status/{test_run_id}`

## Request

- Base URL: `https://api.qualgent.ai`
- URL: `https://api.qualgent.ai/v1/jobs/status/{test_run_id}`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/qualgent/apis/qualgent-api-service/docs/v1/jobs/status/:test_run_id/get.ts> (a function with typed inputs; its response is checked against the schema)

Get detailed status information for a specific test run.

    **Path Parameters:**
    - `test_run_id`: The unique identifier of the test run

    **Returns:**
    - Detailed test run information including:
        - Current status and progress
        - Associated test case and application
        - Device information
        - User who initiated the test

    **Authorization:**
    - Only returns test runs belonging to your organization
    - Internal runs (`is_internal`) return 404, like an absent run. The one
      exception is the run's creator when that caller is a superadmin (an FDE
      side run read by the FDE's own agent to file its bug draft).

## Path parameters

- `test_run_id` string, required

## Headers

- `x-api-key` string

## Response `200`

Successfully retrieved test run details

- TestRunDetailResponse: Detailed test run information
  - `id` string, required: Test run ID
  - `test_case` TestCaseReference, required: Reference to a test case
    - `id` string, required: Test case ID
    - `name` string, required: Test case name
  - `app` AppReference, required: Reference to an application file
    - `id` string, required: Application file ID
    - `name` string, required: Original filename
  - `status` string, required: Test run status
  - `priority` string, required: Test run priority
  - `progress` integer, nullable: Test run progress percentage
  - `executed_by` ExecutedByUser, required: User who executed the test run
    - `id` string, required: User ID
    - `name` string, required: User full name
    - `email` string, required: User email address
  - `device` string, nullable: Device name
  - `duration_seconds` number, nullable: Approximate test run duration in seconds (created_at → updated_at or agent-reported).
  - `steps` integer, nullable: Number of agent steps / actions in the run, if recorded.
  - `credits_used` number, nullable: Credits consumed by this test run, if credit tracking is enabled.
  - `cost_usd` number, nullable: Approximate USD cost for this test run, derived from credits_used.
  - `model` string, nullable: Model identifier used for this run (e.g. openai/gpt-5-2025-08-07).
  - `vars` object: Effective variable values for this run (supplied values merged over declared defaults). Empty when the test case had no variables.
  - `resolved_steps` string[]: Step descriptions after `{{name}}` substitution — the exact text the agent executed. Empty for runs created before the variables feature shipped.
  - `reported_result` 'passed' | 'failed' | 'blocked', nullable: Verdict the agent recorded with mobile_report_result, for a DevLoop run whose `status` stays `run_locally` (Desktop and cloud-agent runs). Null for every other run and for a DevLoop run with no recorded verdict yet.

## Other responses

- `401`: Invalid or missing API key
- `404`: Test run not found, not in your organization, or internal
- `422`: Validation Error
- `500`: Internal server error

## Changes

- **2026-10-19** `e04a6e95240e`: 1 info
  - added the optional property `reported_result` to the response with the `200` status

[Operation history](https://skmtc.dev/qualgent/apis/qualgent-api-service/changes/v1/jobs/status/:test_run_id/get.md)

---

[API](https://skmtc.dev/qualgent/apis/qualgent-api-service.md) - [All operations](https://skmtc.dev/qualgent/apis/qualgent-api-service/llms.txt) - [OpenAPI document](https://skmtc.dev/qualgent/apis/qualgent-api-service/revisions/e04a6e95240e?raw)
