Work Orders (Failures) & Problems
Work Orders (Failures) & Problemslink
Work Orders, called "Failures" in the API, represent corrective maintenance requests. They track issues from initial report through resolution, including assignments, time tracking, and completion details.
Problems define the types of issues that can be reported in Work Orders. They provide a standardized classification system for maintenance issues.
Work Orders (Failures)link
A failure represents a maintenance issue that needs attention:
- Reported issues - Equipment breakdowns, facility problems
- Service requests - Customer requests for maintenance
- Inspections findings - Issues discovered during checks
Failure Objectlink
{
"type": "failure",
"id": "18472556",
"attributes": {
"uuid": "773a8b94-4491-401c-9220-348b0f88f969",
"failure_id": 18472556,
"problem_id": 268286,
"problem_name": "HVAC - Not Cooling",
"status": "COMPLETED",
"state": "COMPLETED",
"report_date": "2026-05-08 10:23:33",
"completed_date": "2026-05-08 10:47:38",
"approved_date": "2026-05-08 10:23:50",
"paused_date": null,
"state_description": null,
"description": "HVAC unit not cooling - temperature reading 28°C",
"observations": "Checked refrigerant levels, appears low",
"entity_id": 12,
"priority": 2,
"priority_text": "NORMAL",
"client_id": 11406,
"client_code": "ACME",
"client_name": "Acme Corp",
"local_id": 4456257,
"local_code": "HQ.F1.R101",
"local_name": "Headquarters - Floor 1 - Room 101",
"root_local_id": 4456256,
"solved": true,
"confirmed": false,
"next_schedule": null,
"message_count": 0,
"time_statistics": {
"approved_date": "2026-05-08 10:23:50",
"last_completed_date": "2026-05-08 10:47:38",
"last_paused_date": null,
"last_paused_description": null,
"started_date": "2026-05-08 10:39:58",
"time_to_approve": "P0Y0M0DT0H0M17S",
"time_to_complete": "P0Y0M0DT0H24M5S",
"time_to_complete_after_started": "P0Y0M0DT0H7M40S",
"time_to_start": "P0Y0M0DT0H16M25S",
"time_to_start_after_approved": "P0Y0M0DT0H16M8S",
"real_duration": "P0Y0M0DT0H3M21S"
},
"supplier_id": null,
"signature_status": "SIGNED",
"last_status_change_date": "2026-06-08 15:37:16",
"next_sla_date": "2026-05-08 10:47:38",
"next_sla_percentage": "8713.510343711658",
"approved_by_id": 115285,
"completed_by_id": 115285,
"reported_by_id": 33757,
"started_by_id": 115285,
"manpower_duration": "P0Y0M0DT0H3M20S",
"manpower_cost": "0.00",
"started_date": "2026-05-08 10:39:58",
"cost_center_id": 5,
"external_id": null,
"next_failure_sla_id": 6315541,
"next_failure_sla_date": "2026-05-08 10:47:38",
"next_failure_sla_status_order": 3,
"failure_priority_id": 202,
"network_failure_id": 18472542,
"gatekeeper_id": null,
"created_at": "2026-05-08 10:23:33",
"updated_at": "2026-05-08 10:47:40",
"date_deleted": null,
"failure_original_mapping_id": null
}
}
Key Attributeslink
| Attribute | Type | Description |
|---|---|---|
description |
string | Detailed issue description |
observations |
string | Additional notes and observations |
state |
string | Current workflow state |
priority |
integer | Priority level (1=Lowest, 4=Highest) |
local_id |
integer | Location where issue occurred |
element_id |
integer | Asset involved (optional) |
problem_id |
integer | Problem type classification |
client_id |
integer | Associated client |
report_date |
datetime | When the issue was reported |
solved |
boolean | Whether the issue is resolved |
Priority Levelslink
| Level | Description |
|---|---|
| 1 | Low - Scheduled reactive maintenance |
| 2 | Medium - Normal priority |
| 3 | High - Same day |
| 4 | Critical - Immediate attention |
Failure Stateslink
See Failure (Work Order) Lifecycle for more details.
Quick Referencelink
| Method | Endpoint | Description |
|---|---|---|
| GET | /failures |
List all failures |
| GET | /failures/open |
List open failures |
| GET | /failures/closed |
List closed failures |
| POST | /failures |
Create a new failure |
| GET | /failures/{id} |
Get a specific failure |
| PATCH | /failures/{id} |
Update a failure |
| DELETE | /failures/{id} |
Delete a failure |
List Failureslink
All Failureslink
curl -X GET "https://api.infraspeak.com/v3/failures" \
-H "Authorization: Bearer YOUR_TOKEN"
Open Failures Onlylink
curl -X GET "https://api.infraspeak.com/v3/failures/open" \
-H "Authorization: Bearer YOUR_TOKEN"
Closed Failures Onlylink
curl -X GET "https://api.infraspeak.com/v3/failures/closed" \
-H "Authorization: Bearer YOUR_TOKEN"
With Filterslink
# Filter by state
curl "https://api.infraspeak.com/v3/failures?s_state=WAITING_RESOLUTION" \
-H "Authorization: Bearer YOUR_TOKEN"
# Filter by priority
curl "https://api.infraspeak.com/v3/failures?s_priority=1" \
-H "Authorization: Bearer YOUR_TOKEN"
# Filter by location
curl "https://api.infraspeak.com/v3/failures?s_local_id=300" \
-H "Authorization: Bearer YOUR_TOKEN"
# Filter by client
curl "https://api.infraspeak.com/v3/failures?s_client_id=100" \
-H "Authorization: Bearer YOUR_TOKEN"
# Filter by assigned operator
curl "https://api.infraspeak.com/v3/failures?s_operator_id=501" \
-H "Authorization: Bearer YOUR_TOKEN"
With Sortinglink
# Sort by priority (descending) then creation date (ascending)
curl "https://api.infraspeak.com/v3/failures?sort=priority-,created_at" \
-H "Authorization: Bearer YOUR_TOKEN"
With Expanded Relationshipslink
curl "https://api.infraspeak.com/v3/failures?expanded=location,problem,responsibles" \
-H "Authorization: Bearer YOUR_TOKEN"
Query Exampleslink
By Locationlink
Find all work orders at a specific location:
curl "https://api.infraspeak.com/v3/failures?s_local_id=300" \
-H "Authorization: Bearer YOUR_TOKEN"
By Prioritylink
Find critical work orders:
curl "https://api.infraspeak.com/v3/failures/open?s_priority=4" \
-H "Authorization: Bearer YOUR_TOKEN"
By Date Rangelink
Find failures created this month:
curl "https://api.infraspeak.com/v3/failures?date_min_created_at=2026-06-01&date_max_created_at=2026-06-30" \
-H "Authorization: Bearer YOUR_TOKEN"
Combined Filterslink
High priority, open failures at a specific location:
curl "https://api.infraspeak.com/v3/failures/open?s_priority=4&s_local_id=300&sort=created_at" \
-H "Authorization: Bearer YOUR_TOKEN"
With Expanded Relationshipslink
curl "https://api.infraspeak.com/v3/failures?expanded=location,problem,responsibles&sort=created_at&limit=200" \
-H "Authorization: Bearer YOUR_TOKEN"
Problemslink
Problems categorize maintenance issues and are structured in "Areas" and "Types", where Areas are used to group Types. Examples:
- Type "Not Cooling" in Area "HVAC"
- Type "Leak Detected" in Area "Plumbing"
- Type "Power Failure" in Area "Electrical"
Problems can be associated with Technical Skills, so technicians with those technical skills can be automatically assigned.
Problem Area Objectlink
{
"type": "problem_area",
"id": "3758",
"attributes": {
"problem_id": 3758,
"name": "HVAC",
"full_name": "HVAC",
"description": "",
"parent_id": null,
"all_users": false,
"all_clients": false,
"created_at": "2026-06-18T10:40:00.000000Z",
"updated_at": "2026-06-18T10:40:00.000000Z"
}
}
Problem Type Objectlink
{
"type": "problem_type",
"id": "227352",
"attributes": {
"problem_id": 227352,
"name": "Not Cooling",
"full_name": "HVAC - Not Cooling",
"description": "Equipment is running but not producing cool air",
"parent_id": 3758,
"all_users": false,
"all_clients": false,
"created_at": "2026-06-18T13:44:25.000000Z",
"updated_at": "2026-06-18T13:57:41.000000Z"
}
}
Key Attributeslink
| Attribute | Type | Description |
|---|---|---|
name |
string | Problem area/type name |
full_name |
string | Concatenation of the area's name and type's name joined by hyphen |
description |
string | Problem area/type description |
parent_id |
integer | For types, ID of the Area. For Areas, null |
API Endpointslink
| Method | Endpoint | Description |
|---|---|---|
| GET | /problems |
List problem areas |
| GET | /problems/{id} |
Get a specific problem |
| GET | /problems/{id}/subproblems |
Get problem types of an Area |