List and filter phases

GET/v2/phases
AuthorizationBearer <token>

API key for authentication. Use format: Bearer YOUR_API_KEY

In: header

Query Parameters

procedure_id*string

Procedure to list phases for. Required: phases are scoped to a single procedure.

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid
names?array<string>

Filter by phase name.

outcomes?array<>

Filter by phase outcome (PASS/FAIL/SKIP/ERROR).

started_after?string

Filter phases that started after this date (inclusive).

Match^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
Formatdate-time
started_before?string

Filter phases that started before this date (inclusive).

Match^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
Formatdate-time
exclude_retries?boolean

Exclude retried phase attempts, keeping only the final attempt.

Defaulttrue
run_outcomes?array<>

Filter phases by the outcome of their run.

ids?array<>

Filter phases by run ID.

duration_min?string

Filter phases whose run lasted at least this ISO 8601 duration.

Match^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$
Formatduration
duration_max?string

Filter phases whose run lasted at most this ISO 8601 duration.

Match^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$
Formatduration
deployment_ids?array<>

Filter phases by the deployment ID their run executed from.

procedure_versions?array<string>

Filter phases by the procedure version tag of their run.

environments?array<>

Filter phases by the deployment environment of their run (production, preview, development).

operated_by_ids?array<>

Filter phases by the operator user ID of their run.

created_by_station_ids?array<>

Filter phases by the station ID that created their run.

created_by_user_ids?array<>

Filter phases by the user ID that created their run.

serial_numbers?array<string>

Filter phases by unit serial number.

part_numbers?array<string>

Filter phases by unit part number.

revision_numbers?array<string>

Filter phases by unit revision number.

batch_numbers?array<string>

Filter phases by unit batch number.

samples?array<>

Filter by unit sample class (production / golden / failing). Omit for all.

sort_by?string

Field to sort results by.

Default"started_at"
Value in"started_at" | "duration" | "outcome" | "serial_number" | "phase_name"
sort_order?string

Sort order direction.

Default"desc"
Value in"asc" | "desc"
limit?integer

Maximum number of phases to return.

Default50
Range1 <= value <= 100
cursor?integer

Cursor for pagination. Use next_cursor from the previous response to fetch the next page.

Range-9007199254740991 <= value <= 9007199254740991

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v2/phases?procedure_id=550e8400-e29b-41d4-a716-446655440000"
{
  "data": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "name": "Power",
      "outcome": "PASS",
      "started_at": "2024-01-15T10:30:00Z",
      "ended_at": "2024-01-15T10:35:00Z",
      "duration_ms": 300000,
      "retry_count": 0,
      "is_final_attempt": true,
      "run_id": "550e8400-e29b-41d4-a716-446655440001",
      "run_outcome": "PASS",
      "serial_number": "SN-2024-001234",
      "sample": null
    }
  ],
  "meta": {
    "has_more": true,
    "next_cursor": 50
  }
}
{
  "message": "Bad request",
  "code": "BAD_REQUEST",
  "issues": []
}
{
  "message": "Unauthorized",
  "code": "UNAUTHORIZED",
  "issues": []
}
{
  "message": "Internal server error",
  "code": "INTERNAL_SERVER_ERROR",
  "issues": []
}

How is this guide?