generated: '2026-07-15' method: generated source: openapi/apaleo-openapi.yml description: Recommended x-agentic-access execution contracts, classified heuristically from the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind audience per deployment. See research/curity/agentic-governance/. summary: operations: 41 by_action_class: acting: 17 connected: 24 by_consequence: write: 13 read: 24 physical: 4 human_in_the_loop_required: 0 operations: - path: /booking/v1/bookings method: post operationId: BookingCreateBooking x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /booking/v1/bookings method: get operationId: BookingGetBookings x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /booking/v1/bookings/{id} method: get operationId: BookingGetBookingById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /booking/v1/bookings/{id} method: patch operationId: BookingPatchBooking x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /booking/v1/reservations method: get operationId: BookingGetReservations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /booking/v1/reservations/{id} method: get operationId: BookingGetReservationById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /booking/v1/reservation-actions/{id}/checkin method: put operationId: BookingCheckinReservation x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /booking/v1/reservation-actions/{id}/checkout method: put operationId: BookingCheckoutReservation x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /booking/v1/blocks method: post operationId: BookingCreateBlock x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /booking/v1/blocks method: get operationId: BookingGetBlocks x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /booking/v1/offers method: get operationId: BookingGetOffers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /inventory/v1/properties method: get operationId: InventoryGetProperties x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /inventory/v1/properties method: post operationId: InventoryCreateProperty x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /inventory/v1/properties/{id} method: get operationId: InventoryGetPropertyById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /inventory/v1/units method: get operationId: InventoryGetUnits x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /inventory/v1/units method: post operationId: InventoryCreateUnit x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /inventory/v1/unit-groups method: get operationId: InventoryGetUnitGroups x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /inventory/v1/unit-groups method: post operationId: InventoryCreateUnitGroup x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /rateplan/v1/rate-plans method: get operationId: RateplanGetRatePlans x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /rateplan/v1/rate-plans method: post operationId: RateplanCreateRatePlan x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /rateplan/v1/rate-plans/{id} method: get operationId: RateplanGetRatePlanById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /rateplan/v1/rate-plans/{id}/rates method: get operationId: RateplanGetRates x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /rateplan/v1/rate-plans/{id}/rates method: patch operationId: RateplanUpdateRates x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /rateplan/v1/services method: get operationId: RateplanGetServices x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /rateplan/v1/services method: post operationId: RateplanCreateService x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /availability/v1/units method: get operationId: AvailabilityGetUnits x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /availability/v1/unit-groups method: get operationId: AvailabilityGetUnitGroups x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /availability/v1/services method: get operationId: AvailabilityGetServices x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /finance/v1/folios method: get operationId: FinanceGetFolios x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /finance/v1/folios method: post operationId: FinanceCreateFolio x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /finance/v1/folios/{id} method: get operationId: FinanceGetFolioById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /finance/v1/folio-actions/{folioId}/charges method: post operationId: FinancePostCharge x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /finance/v1/folios/{folioId}/payments method: get operationId: FinanceGetPayments x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /finance/v1/folios/{folioId}/payments method: post operationId: FinanceCreatePayment x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /finance/v1/invoices method: get operationId: FinanceGetInvoices x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /finance/v1/invoices method: post operationId: FinanceCreateInvoice x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /settings/v1/city-tax method: get operationId: SettingsGetCityTaxes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /settings/v1/city-tax method: post operationId: SettingsCreateCityTax x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /settings/v1/market-segments method: get operationId: SettingsGetMarketSegments x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /settings/v1/market-segments method: post operationId: SettingsCreateMarketSegment x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /settings/v1/languages method: get operationId: SettingsGetLanguages x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none