List links of Material
const url = 'https://api.aerandil.com/v1/object-types/hospitality.material/objects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/links/hospitality.link.material_at_brand?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.material/objects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/links/hospitality.link.material_at_brand?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 part or a product a house keeps — a spare part, a consumable, an amenity, linen, a minibar product, a laundry item, a cleaning product (hubOS’s materials, laundry products and minibar families). Keyed by code within its catalogue: a brand’s (material_at_brand, shared by the brand’s houses) or one house’s (material_at_property); define_material with a code the catalogue holds re-states it in place. Counted in its unit, which is fixed once any store holds it. A minibar product carries the sale_price a minibar task charges the in-house guest. active, or retired for good (the code stays taken). How much each store holds is its stock_level rows.
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.