Skip to content

Read Recovery toolkit

GET
/v1/object-types/hospitality.recovery_toolkit/objects/{id}
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).

id
required
string format: uuid

Object id (UUID v7, server-generated at create time).

branch
string format: uuid

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.

Object found.

Media typeapplication/json
object
created_at
required
string format: date-time
id
required
string format: uuid
object_type
required
Allowed value: hospitality.recovery_toolkit
properties
required
object
comp_category_definitions
Property-specific comp categories
flat_universal_per_guest_per_day
Recovery toolkit flat universal per guest per day

Flat universal per-guest-per-day cap

object
amount
required
string format: decimal
currency
required
string format: iso-4217
flat_universal_per_incident_limit
Recovery toolkit flat universal per incident limit

Flat universal per-incident comp limit

object
amount
required
string format: decimal
currency
required
string format: iso-4217
id
required
Toolkit id
string
policy_kind
required
Comp authority policy kind
string
Allowed values: flat_universal per_role_per_incident per_role_per_shift_cumulative per_role_mixed training_and_tenure_based escalation_only
recovery_process_framework
required
Recovery process framework
string
Allowed values: ritz_three_steps ushg_5_as aman_unscripted custom
role_authorities
Recovery toolkit role authorities

Per-role comp authority rules

Array<object>
object
comp_categories_allowed
Array<string>
Allowed values: room_night food_beverage spa retail parking other
escalation_required_above
object
amount
required
string format: decimal
currency
required
string format: iso-4217
per_guest_per_day
object
amount
required
string format: decimal
currency
required
string format: iso-4217
per_incident_limit
object
amount
required
string format: decimal
currency
required
string format: iso-4217
per_shift_cumulative
object
amount
required
string format: decimal
currency
required
string format: iso-4217
role_code
required
string
top_cover_principle_text
required
Top-cover principle
string
provenance

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
pins
object
key
additional properties
object
pinned_at
string format: date-time
pinned_by
object
reason
required
string
properties
object
key
additional properties
object
external_id
string
recorded_at
required
string format: date-time
source
required
string
source_updated_at
string format: date-time
stream
string
scope
required
One of: discriminator: level
object
level
required
string
Allowed value: tenant
Allowed values: tenant
tenant_id
required
string format: uuid
updated_at
required
string format: date-time
version
required
integer
>= 1
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"
}
}
ETag
string
/^"\d+"$/

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).