Before you begin
You need:- An access token. See the quickstart.
- A
buildingIdfrom List buildings. - AssetOps enabled for the building.
Create a work order
1
Look up valid values
Work orders reference identifiers that must exist in the building. Get them from the lookup endpoints:
Cache these values and refresh them periodically. They change less often than work orders.
2
Create the work order
Send the work order to Create a work order. The API accepts Store the returned
CORRECTIVE_MAINTENANCE and SERVICE_REQUEST as the workType.id and identifier. Set linkedSource.identifier to the record ID in your system so that you can match work orders later.3
Attach files
Upload photos or documents with Upload attachments as multipart form data. If your system already holds base64 content, use Upload base64 attachments. Both endpoints accept up to 10 files per request.
Update a work order
Update a work order replaces the editable details. Optional fields you leave out, such asdescription, vendor, team, and assignees, can be cleared.
To change one field safely:
- Get the current work order with Get a work order.
- Change the field you need.
- Send the complete body back.
workType or linkedSource after creation. If you omit priority, the current priority stays in place.
Sync work orders with another system
To keep an external system up to date, poll for changes instead of reading every work order:- Call List work orders with
updatedAtFromset to the time of your last sync. - Call List building comments with the same filter to collect new comments.
- Filter by
sourceTypeto return only work orders your integration created.

