Read Recovery toolkit
const url = 'https://api.aerandil.com/v1/object-types/hospitality.recovery_toolkit/objects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';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.recovery_toolkit/objects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \ --header 'Authorization: Bearer <token>'Read an existing instance.
The property’s comp-authority policy + recovery framework + top-cover principle. The policy_kind enum spans the observed-in-production patterns (Ritz flat_universal, USHG per_role_per_shift_cumulative, Aman training_and_tenure_based, the strict escalation_only); the role_authorities array carries per-role rules for the policies that need them (per-role-per-incident, per-role-mixed). The original sketch of ‘comp authority per role’ could not admit the universal, per-shift cumulative, training-based, or escalation-only shapes — the enum + array pair is the research-led correction. See products/forge/spec/proposals/0002-service-philosophy.md §3.3 and §10 open question 1 for reviewer context. Soft validators on over-limit recoveries warn but don’t block — over-limit recoveries are exactly the data the operator most needs and would otherwise hide (the literature is explicit that hard blocks produce ‘ghost recoveries’ where the front line works around the system).
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Object id (UUID v7, server-generated at create time).
Query Parameters
Section titled “Query Parameters”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”Object found.
object
object
Flat universal per-guest-per-day cap
object
Flat universal per-incident comp limit
object
Per-role comp authority rules
object
object
object
object
object
Per-property source attribution and pins. An entry under properties means the property’s current value came from that source (on the source’s own clock, source_updated_at); an entry under pins is a human override protecting the property from sourced writes.
object
object
object
object
object
object
object
object
object
object
object
Example
{ "object_type": "hospitality.recovery_toolkit", "properties": { "policy_kind": "flat_universal", "recovery_process_framework": "ritz_three_steps", "role_authorities": [ { "comp_categories_allowed": [ "room_night" ] } ] }, "scope": { "level": "tenant" }}Headers
Section titled “Headers”Quoted strong validator (RFC 7232 §2.3) carrying the object’s monotonic version. Informational on the read path — object mutation goes through typed actions on /v1/actions/{action}/apply, not raw CRUD.
No object with that id (or soft-deleted).