Skip to main content
This guide follows one problem from report to closed work order. The examples assume a token in $TOKEN (Authentication) and an asset to raise work against (Add an asset). There are two ways in:
  • A work request is a report that a person triages. Use it when your system notices something and somebody should decide what happens, such as a building management system raising an alarm.
  • A work order is a job. Raise one directly when the decision is already made, such as a production system booking a planned repair.

Report a problem

p_asset_id is optional, because somebody reporting a smell in a corridor should not have to name an asset first. Send p_site_id or p_location_id instead when there is no asset. The request waits in the queue on the Work requests screen. A person can turn it into a work order there, or your system can do it:
The answer is the new work order. reject_work_request with a p_reason turns a request down instead, and the person who raised it reads the reason.

Or raise a work order directly

Only p_title is required. The site comes from the asset. p_work_order_type_code defaults to CORRECTIVE. List your organisation’s types with /work_order_types?select=code,name.

Assign it

Find the technician’s worker_id:
Assigning moves the work order to Assigned. Send p_team_id instead of p_worker_id to give it to a crew.

Move it through its statuses

Statuses and the moves between them are set by your organisation, so ask before you move. available_transitions lists the moves this work order allows now, and what each one needs:
Move it with transition_work_order and the status code. With the default statuses a work order goes from Assigned to Accepted to In Progress:
/work_order_statuses?select=code,display_name,category&order=sort_order lists your organisation’s statuses.

Complete it

Completing records what was found and what was done. Send what available_transitions said the move needs:
The failure code and whether it was fixed first time feed the reliability figures later, which is why they are asked for here. If something is missing, the work order stays where it is and the answer says what to add. See Errors for real examples.

Close it

Hear about changes instead of asking

To be told when a work order changes, rather than reading /work_orders on a timer, register a webhook endpoint with save_webhook_endpoint. The Webhooks section under Integration API has the calls, and Webhooks describes the events.