v7

latestOpenAPI 3.1.02026-08-0431138164.3 KB
Maintenance

Create a work order

Submit a new maintenance work order for a property.

The work order is created in NotStarted status, matching EliseCRM work-order creation. Send a valid issue_id; EliseAI derives the display category, default specialty, default skill level, estimated duration, and default priority from that issue.

If your system has its own identifier for this work order, pass it as external_work_order_id. EliseAI stores it, and you can update the work order later through PATCH /v2/maintenance/work_orders/external/{external_work_order_id} without tracking the EliseAI work order ID. External IDs must be unique within a property; reusing one returns 409 Conflict.

Work orders created 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.

Returns the ID of the newly created work order, which can be used to update it via the PATCH endpoint or to correlate with webhook events.

post/v2/maintenance/properties/{property_id}/work_orders

Path parameters

property_idstring required

The property ID

The property ID

Request body

unit_idstring

Elise unit identifier (numeric ID as string). Preferred for phased communities. Do not provide for common-area work orders or requests with location_id.

unit_numberstring

Unit number where the work is needed (human-readable label). If unit_id is provided, unit_number is looked up automatically. Do not provide for common-area work orders or requests with location_id.

resident_uuidstring

Resident UUID from the residents API

type'Resident' | 'CommonArea'

Classification of what the work order pertains to.

issue_idstring required

Elise maintenance issue identifier

descriptionstring required

Free-text description of the issue

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

Urgency level of a work order.

due_datestring date-time

Requested due date/time for the work (ISO 8601)

location_idinteger

Elise common-area/custom location ID. Required for custom-location work orders. Requests with location_id are treated as common-area work orders and cannot include unit_id or unit_number.

external_work_order_idstring

Your work-order identifier from your own system. When provided, EliseAI stores it and you can update this work order later by external ID without tracking the EliseAI work order ID. Must be unique within the property.

Example request

{
  "unit_id": "98765",
  "unit_number": "318E",
  "resident_uuid": "00000000-0000-4000-8000-000000000000",
  "issue_id": "plumbing/leak",
  "description": "Leaking faucet in kitchen",
  "external_work_order_id": "WO-12345"
}

Response

Successful Response

idstring required

Unique identifier of the newly created work order

messagestring required

Human-readable confirmation

Example response

{
  "id": "12345",
  "message": "Work order created successfully"
}