Reading and syncing
The API reference lists every field; here is what each list is for.
Inventory — inventory:read
GET /inventory lists the locations, systems, equipment and sub-equipment the integration may see, by last change.
Filters: type (facility, system, equipment, sub_equipment), parent_id (direct children), external_id,
updated_since. Each node has its path (ids from the location down) and parent_id, so you can rebuild the tree.
GET /inventory/{id} gives one node.
Work orders — work_orders:read
GET /work-orders filters by status (comma-separated codes: open, in_progress, on_hold, inspection,
inspection_rejected, waiting_sub_work_orders, complete, cancelled), inventory_id (the node and everything
below it), changed_since, target_from / target_to, external_id. A work order carries its status, priority,
inventory node, form, assignees (people's names only with people:read), target and completion dates, and
changed_at. GET /work-orders/{id} gives one.
GET /work-orders/{id}/answers (also forms:read) gives its form's questions in order, each with its type and its
answer (an option, a list of options, a number or a text) or null.
Keeping a copy up to date
Lists are ordered by changed_at, which moves whenever anything about the work order changes — its fields, status,
answers, assignees, time records, hold or inspection. To keep a copy:
- The first time, read everything page by page.
- Remember the largest
changed_atyou saw. - Next time ask
GET /work-orders?changed_since=<that time minus one minute>and upsert what comes (byid).
The minute of overlap covers changes that were being saved while you read; upserting makes the repeats harmless. For changes as they happen, use webhooks — and still sync now and then, as webhooks may arrive late or twice.
Feedback — issues:read
GET /issues filters by resolved, inventory_id, changed_since, external_id; each has its node, whether it is
resolved and the work order opened from it. GET /issues/{id} gives one.
Reference lists
GET /reference/work-order-statuses,/reference/priorities,/reference/form-types— any token.GET /forms— the organization's published forms (forms:read).GET /people,GET /teams— the organization's people and teams with their members (people:read; personal data). Their ids are the ones you assign work orders to.