Skip to main content
PUT
Update a work order
This is a full update. Omitted optional fields such as description, vendor, team, and assignees can be cleared. Omitting priority keeps the current priority.
Get the work order first, change only the fields you need, then send the complete body.

Authorizations

Authorization
string
header
required

Paste an access token from Create an access token. Tokens expire, so request a new one if you receive 401.

Path Parameters

buildingId
string
required

Building identifier from List buildings.

workOrderId
string
required

Work order identifier.

Body

application/json
title
string
required
Maximum string length: 1000
Example:

"Replace AHU-01 supply fan belt"

startDate
string
required
Example:

"2026-10-08T09:00:00"

category
object
required
issueType
object
required
description
string
Maximum string length: 10000
Example:

"Belt is worn and slipping during morning startup."

dueDate
string
Example:

"2026-10-10T17:00:00"

priority
object
vendor
object
team
object
assignees
object[]

Assign by user id or email.

Response

The updated work order.

id
string
Example:

"6702c4e1b8a3f21d9c0e4a17"

identifier
string

Human-readable work order number.

Example:

"WO-1042"

createdAt
string
Example:

"2026-10-07T14:02:11+0000"

updatedAt
string
Example:

"2026-10-07T14:02:11+0000"

status
enum<string>
Available options:
OPEN,
IN_PROGRESS,
FOR_REVIEW,
ON_HOLD,
COMPLETED,
CANCELLED,
FAILED
Example:

"OPEN"

workType
enum<string>
Available options:
PM,
INSPECTION,
CORRECTIVE_MAINTENANCE,
SERVICE_REQUEST,
COMPLIANCE_MAINTENANCE
Example:

"CORRECTIVE_MAINTENANCE"

title
string
Example:

"Replace AHU-01 supply fan belt"

description
string
Example:

"Belt is worn and slipping during morning startup."

startDate
string
Example:

"2026-10-08T09:00:00"

dueDate
string
Example:

"2026-10-10T17:00:00"

completedDate
string | null
Example:

null

linkedSource
object
totalLogHours
object
statusLogs
object[]
furtherReview
boolean
Example:

false

assignees
object[]