v6

OpenAPI 3.1.02026-08-0331136162.2 KB
Maintenance

Update a work order

Update an existing work order. Only the fields included in the request body are changed; omitted fields are left unchanged.

Status can be updated through this endpoint. Completed and Closed work orders are terminal and cannot be modified. Invalid status values or terminal modifications return 422 Unprocessable Entity with a descriptive message. Updates through this API are saved in EliseAI only. They are not automatically forwarded to other systems through a PMS push or work_order_event webhook. Treat the API response as the acknowledgement for the write.

patch/v2/maintenance/work_orders/{work_order_id}

Path parameters

work_order_idstring required

Work order ID

Work order ID

Request body

status'Paused' | 'NotStarted' | 'InProgress' | 'OnHold' | 'AwaitingParts' | 'AwaitingVendor' | 'ResidentDeniedAccess' | 'Completed' | 'Closed'

Lifecycle status of a maintenance work order.

These are the public statuses exposed through the Maintenance API. Completed and Closed are terminal states.

priority'Low' | 'Medium' | 'High' | 'Emergency'

Urgency level of a work order.

issue_idstring

Updated Elise maintenance issue identifier

descriptionstring

Updated issue description

due_datestring date-time

Updated due date/time (ISO 8601)

Response

Successful Response

idstring required

Unique identifier for this work order

external_idstring

Your external reference ID for this work order

property_idstring required

Elise property identifier

unit_idstring

Elise unit identifier (numeric ID as string). Use this for phased communities with sub-buildings.

unit_numberstring

Unit number where the work is needed (human-readable label)

resident_uuidstring

Resident UUID from the residents API. Null for common area / inspection work orders.

type'Resident' | 'CommonArea' required

Classification of what the work order pertains to.

issue_idstring

Elise maintenance issue identifier

categorystring required

Display category derived from issue_id (e.g. Plumbing, Electrical, HVAC, Appliance, General)

status'Paused' | 'NotStarted' | 'InProgress' | 'OnHold' | 'AwaitingParts' | 'AwaitingVendor' | 'ResidentDeniedAccess' | 'Completed' | 'Closed'

Lifecycle status of a maintenance work order.

These are the public statuses exposed through the Maintenance API. Completed and Closed are terminal states.

priority'Low' | 'Medium' | 'High' | 'Emergency' required

Urgency level of a work order.

descriptionstring

Free-text description of the issue

permission_to_enter'pending' | 'granted' | 'not_applicable'

Whether the maintenance team has permission to enter the unit.

access_instructionsstring

Resident-provided instructions for accessing the unit

assignee_namesstring[]

Names of assigned technicians

scheduled_timestring date-time

Scheduled date/time for the work (ISO 8601)

due_datestring date-time

Due date/time for the work (ISO 8601)

created_atstring date-time

When the work order was created (ISO 8601)

updated_atstring date-time

When the work order was last modified (ISO 8601)

completed_datestring date-time

When the work was completed (ISO 8601, null if still open)

notesstring

General notes from the maintenance team

closing_notesstring

Resolution summary written when the work order is completed

created_by'AI' | 'Resident' | 'Agent' | 'API' | 'PMS' | 'Project' required

Origin of the work order.

Example response

{
  "id": "12345",
  "external_id": "WO-12345",
  "property_id": "12345",
  "unit_id": "98765",
  "unit_number": "318E",
  "type": "Resident",
  "issue_id": "plumbing/leak",
  "category": "Plumbing",
  "status": "NotStarted",
  "priority": "Medium",
  "description": "Leaking faucet in kitchen",
  "permission_to_enter": "pending",
  "access_instructions": "Dog in unit, please knock loudly",
  "preferred_time_windows": {
    "timezone": "America/New_York",
    "rules": [
      {
        "type": "weekly",
        "days_of_week": [
          "MON",
          "WED"
        ],
        "start_time": "09:00",
        "end_time": "12:00"
      }
    ]
  },
  "created_at": "2026-03-24T12:00:00Z",
  "updated_at": "2026-03-24T12:00:00Z",
  "created_by": "Resident"
}