Work orders

List every matching work order

Returns every work order that matches the filters, in one response and with no paging — for exports and pickers. Takes the same filters as the paged list. Requires the work_orders:read permission.

GET
https://services.magicdoor.com/maintenance/company-portal/work-orders/all

Authorization

Authorizationstringrequired
Bearer token — Send your API token in the Authorization header as Bearer <token>. Requests without a valid token are rejected with 401 Unauthorized.

Query parameters

portfolioIdsstring[]

Only work orders in these portfolios. Repeat the parameter for more than one.

propertyIdsstring[]

Only work orders on these properties.

unitIdsstring[]

Only work orders on these units.

leaseIdsstring[]

Only work orders tied to these leases.

vendorIdsstring[]

Only work orders assigned to these vendors.

maintenanceRequestIdsstring[]

Only work orders raised from these maintenance requests.

recurringWorkOrderIdsstring[]

Only work orders raised by these recurring work orders.

statusenum<string>[]

Only work orders in these states. Repeat the parameter for more than one.

closedpendinginProgresscompletedcancelled
referencestring

Only the work order with this reference number.

searchTextstring

Free-text search across the work order.

activeboolean

true returns only live work orders; false only deactivated ones.

hasGroupChatboolean

true returns only work orders that already have a group chat.

hasVendorboolean

true returns only work orders with a vendor assigned; false only those still unassigned.

isScheduledboolean

true returns only work orders with at least one visit booked; false only those with none.

closedAfterstring · date-time

Only work orders closed on or after this moment.

scheduledTime.startstring · date-time

Only work orders with a visit booked on or after this moment.

scheduledTime.endstring · date-time

Only work orders with a visit booked on or before this moment.

Response

200 · Every matching work order, in the same envelope the paged list uses. `page` is always 1, `totalPages` is always 1, and `pageSize` equals the number returned.

itemsobject[]required

Every matching work order.

totalCountintegerrequired

How many work orders match in total.

totalPagesintegerrequired

How many pages there are at this page size.

pageintegerrequired

The page that was returned. Counting starts at 1.

pageSizeintegerrequired

How many work orders were asked for per page.

401 · The request carried no valid access token.

403 · The token is not a property manager token, or it lacks the `work_orders:read` permission.

No upper bound

Unlike the paged list, nothing caps how much this returns. Narrow it with filters before calling it on a large company.