List links of Work order
const url = 'https://api.aerandil.com/v1/object-types/hospitality.work_order/objects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/links/hospitality.link.pattern_clusters_work_order?direction=out';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.aerandil.com/v1/object-types/hospitality.work_order/objects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/links/hospitality.link.pattern_clusters_work_order?direction=out' \ --header 'Authorization: Bearer <token>'List the neighbours of an instance along a typed link. Direction is inferred when the source binds the link on exactly one side; symmetric links (same object type on both ends) require an explicit ?direction=out or ?direction=in.
A maintenance request, typically against a room or venue. Tracks severity (cosmetic through to safety) through an explicit lifecycle: assign, schedule, start, complete (with a resolution), void (with a reason). Whether the room is out of order while the order is open is never a flag here — it is a real room_status_block held via work_order_holds_block, minted through the same code path as take_room_out_of_order and released on completion. The order is a thread (2026-10-13): its work_order_entry lines log notes, time, parts, hand-offs, the postponement and the resolution; it may name the equipment it is for (work_order_for_asset, its id carried as asset_id) and the guest stay that reported it (work_order_reported_by_stay), and postpone_work_order defers it to a named date (resume_work_order brings it back when the date comes). A hand-off on the thread stamps delegated_to_role until the order closes. Since 2026-10-15 a fault is for a room (work_order_for_room) or a public area (work_order_for_area, create_public_area_work_order), never both; it may name the room element it is in and the fault_type it was raised from; and it carries its holder’s id (assignee_id, or a worker group’s group_id) beside the edge every assigning verb moves.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Object id (UUID v7, server-generated at create time).
API name of the link type. Narrowed to link types that bind this source object type on at least one side.
Query Parameters
Section titled “Query Parameters”Edge direction to follow. Optional when the link binds the source on exactly one side; required for symmetric links.
RFC3339 temporal window: return neighbours whose edge was in effect at this instant ([effective_from, effective_to)) instead of now.
Read through an open branch’s copy-on-first-write overlay view instead of the canonical (main) plane. Does not compose with as_of (422). The branch must exist under the caller’s tenant.
Responses
Section titled “Responses”Neighbours along the typed link.
object
object
object
object
object
object
object
object
Example
{ "data": [ { "scope": { "level": "tenant" } } ], "direction": "out"}No object with that id, or link type unknown.
Validation error — direction conflicts with the link’s binding.