List and filter phases
/v2/phasesAuthorization
api_key API key for authentication. Use format: Bearer YOUR_API_KEY
In: header
Query Parameters
Procedure to list phases for. Required: phases are scoped to a single procedure.
^([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)$uuidFilter by phase name.
Filter by phase outcome (PASS/FAIL/SKIP/ERROR).
Filter phases that started at or after this timestamp.
^(?:(?:\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))$date-timeFilter phases that started at or before this timestamp.
^(?:(?:\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))$date-timeExclude retried phase attempts, keeping only the final attempt.
trueFilter phases by the outcome of their run.
Filter phases by run ID.
Filter phases whose run lasted at least this ISO 8601 duration.
^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$durationFilter phases whose run lasted at most this ISO 8601 duration.
^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$durationFilter phases by the deployment ID their run executed from.
Filter phases by the procedure version tag of their run.
Filter phases by the deployment environment of their run (production, preview, development).
Filter phases by the operator user ID of their run. Combined with operated_by_names as OR.
Filter phases by the declared operator name of their run (operators without a TofuPilot account). Exact match; combined with operated_by_ids as OR.
Filter phases by the station ID that created their run.
Filter phases by the user ID that created their run.
Filter phases by unit serial number.
Filter phases by unit part number.
Filter phases by unit revision number.
Filter phases by unit batch number.
Filter by unit sample class (production / golden / failing). Omit for all.
Field to sort results by.
"started_at""started_at" | "duration" | "outcome" | "serial_number" | "phase_name"Sort order direction.
"desc""asc" | "desc"Maximum number of phases to return.
501 <= value <= 100Cursor for pagination. Use next_cursor from the previous response to fetch the next page.
-9007199254740991 <= value <= 9007199254740991Response Body
application/json
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": "Request timeout",
"code": "TIMEOUT",
"issues": []
}{
"message": "Internal server error",
"code": "INTERNAL_SERVER_ERROR",
"issues": []
}How is this guide?