The results namespace provides API methods to retrieve test results for a run. The following endpoints are available:
GET /runs/{run_id}/results
Returns all test results for a run.
This method uses pagination so you might need to request additional pages to retrieve all results.
run_id id required
ID of the run.
Request
page integer
Number of page to return (default: first page).
per_page integer
Maximum number of results to return (supported: 15, 25, 50, 100; default: 100).
sort string
Sort field (supported: run_results:created_at; default: run_results:created_at).
order string
Sort order (supported: asc, desc; default: desc).
status_id string
Comma-separated list of status IDs to filter by. Use GET /projects/{project_id}/statuses to retrieve available statuses.
assignee_id string
Comma-separated list of assignee user IDs to filter by. Use 0 to return unassigned results.
test_id string
Comma-separated list of run test IDs to filter by.
case_id string
Comma-separated list of repository case IDs to filter by.
created_after string
Limit results to those created after this date/time (ISO 8601, UTC).
created_before string
Limit results to those created before this date/time (ISO 8601, UTC).
created_by string
Comma-separated list of user IDs to filter by creator.
get_latest_result boolean
When true, returns only the most recent result per test. Default returns all results.
expands string
Comma-separated list of expands to return.
{
"page": {
"type": "integer",
"format": "int64",
"description": "Number of page to return (default: first page)."
},
"per_page": {
"type": "integer",
"format": "int64",
"enum": [15, 25, 50, 100],
"description": "Maximum number of items to return per page (default: 100)."
},
"sort": {
"type": "string",
"enum": ["run_results:created_at"],
"default": "run_results:created_at",
"description": "Sort field for the list of results."
},
"order": {
"type": "string",
"enum": ["asc", "desc"],
"default": "desc",
"description": "Sort order (ascending or descending)."
},
"status_id": {
"type": "string",
"description": "Comma-separated list of status IDs to filter by."
},
"assignee_id": {
"type": "string",
"description": "Comma-separated list of assignee user IDs to filter by. Use 0 for unassigned."
},
"test_id": {
"type": "string",
"description": "Comma-separated list of run test IDs to filter by."
},
"case_id": {
"type": "string",
"description": "Comma-separated list of repository case IDs to filter by."
},
"created_after": {
"type": "string",
"format": "date-time",
"description": "Limit results to those created after this date/time (ISO 8601, UTC)."
},
"created_before": {
"type": "string",
"format": "date-time",
"description": "Limit results to those created before this date/time (ISO 8601, UTC)."
},
"created_by": {
"type": "string",
"description": "Comma-separated list of user IDs to filter by creator."
},
"get_latest_result": {
"type": "boolean",
"description": "When true, returns only the most recent result per test."
},
"expands": {
"type": "string",
"description": "Comma-separated list of expands to return (issues, statuses, users)."
}
}
This method supports the following expands so you can automatically include additional information for referenced objects:
issuesstatusesusers
Response
GET /api/v1/runs/1/results
200 OK
{
"page": 1,
"prev_page": null,
"next_page": 2,
"last_page": 16,
"per_page": 25,
"total": 392,
"result": [
{
"id": 538,
"project_id": 1,
"run_id": 1,
"test_id": 64,
"case_id": 1078,
"status_id": 2,
"note": "<p>All assertions passed.</p>",
"elapsed": 12000000,
"assignee_id": 3,
"is_latest": true,
"issues": [],
"created_at": "2025-09-24T09:39:21.211Z",
"created_by": 1,
"updated_at": null,
"updated_by": null,
"deleted_at": null,
"deleted_by": null
},
..
],
"expands": {}
}
Examples
// Get all results for a run
GET /api/v1/runs/1/results
// Get only failed results
GET /api/v1/runs/1/results?status_id=3
// Get the latest result per test
GET /api/v1/runs/1/results?get_latest_result=true
// Filter by case ID
GET /api/v1/runs/1/results?case_id=1078
// Include issues and user expands
GET /api/v1/runs/1/results?expands=issues,users
Status codes
200 401 403 404 422 429 (details)
GET /projects/{project_id}/statuses
Returns the list of test result statuses available for the specified project. Statuses are used when recording results for run tests. The default system statuses are shared across all projects; any custom statuses added by an administrator are also returned.
project_id id required
ID of the project.
Response
GET /api/v1/projects/1/statuses
200 OK
{
"result": [
{
"id": 1,
"name": "Untested",
"system_name": "untested",
"color": "#aaaaaa",
"is_final": false,
"is_untested": true,
"is_passed": false,
"is_failed": false
},
{
"id": 2,
"name": "Passed",
"system_name": "passed",
"color": "#69aa1f",
"is_final": true,
"is_untested": false,
"is_passed": true,
"is_failed": false
},
{
"id": 3,
"name": "Failed",
"system_name": "failed",
"color": "#c00000",
"is_final": true,
"is_untested": false,
"is_passed": false,
"is_failed": true
},
{
"id": 4,
"name": "Retest",
"system_name": "retest",
"color": "#f0ad00",
"is_final": false,
"is_untested": false,
"is_passed": false,
"is_failed": false
},
{
"id": 5,
"name": "Blocked",
"system_name": "blocked",
"color": "#888888",
"is_final": false,
"is_untested": false,
"is_passed": false,
"is_failed": false
},
{
"id": 6,
"name": "Skipped",
"system_name": "skipped",
"color": "#888888",
"is_final": false,
"is_untested": false,
"is_passed": false,
"is_failed": false
},
..
]
}
Status codes
200 401 403 404 429 (details)