generated: '2026-07-19' method: generated source: openapi/holidu-affiliate-api.json, openapi/holidu-connectivity-api.json, openapi/holidu-hapi-with-oauth20.json, openapi/holidu-security-service-with-client-credentials.json, openapi/holidu-security-service-with-tokens.json 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: 58 by_action_class: acting: 29 connected: 29 by_consequence: write: 27 read: 29 physical: 2 human_in_the_loop_required: 0 operations: - path: /search method: post operationId: search 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: /details method: post operationId: details 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: /availabilities method: post operationId: availabilities 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: /changed method: post operationId: changed 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: /{apartmentId}/los method: put operationId: upsertLos 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: /v2/multi-unit method: get operationId: getMultiUnit x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/multi-unit method: post operationId: upsertMultiUnit 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 scope: - read - write - path: /v2/multi-unit/photos method: get operationId: getMultiUnitPhotos x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/multi-unit/photos method: post operationId: updateMultiUnitPhotos 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 scope: - read - write - path: /v2/multi-unit/facilities method: get operationId: getMultiUnitFacilities x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/multi-unit/facilities method: post operationId: updateMultiUnitFacilities 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 scope: - read - write - path: /v2/multi-unit/description method: get operationId: getMultiUnitDescriptions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/multi-unit/description method: post operationId: updateMultiUnitDescriptions 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 scope: - read - write - path: /v2/apartment/deactivate method: put operationId: deactivateApartment 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 scope: - read - write - path: /v2/apartment/activate method: put operationId: activateApartment 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 scope: - read - write - path: /v2/apartment method: get operationId: getApartment x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/apartment method: post operationId: upsertApartment 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 scope: - read - write - path: /v2/apartments/information method: get operationId: getAllApartmentInformation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/apartment/validation method: get operationId: getApartmentValidation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/description method: get operationId: getApartmentDescriptions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/description method: post operationId: upsertApartmentDescriptions 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 scope: - read - write - path: /v2/facilities method: get operationId: getFacilities x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/facilities method: post operationId: updateFacilities 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 scope: - read - write - path: /v2/facilities/types method: get operationId: getFacilityTypes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/facilities/locations method: get operationId: getFacilityLocations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/photos method: get operationId: getPhotos x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/photos method: post operationId: updatePhotos 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 scope: - read - write - path: /v2/reviews method: get operationId: getCustomerReviews x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/reviews method: post operationId: updateCustomerReviews 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 scope: - read - write - path: /v2/los method: get operationId: getLos x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/los method: post operationId: upsertLos 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 scope: - read - write - path: /v2/los method: delete operationId: deleteLos 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 scope: - read - write - path: /v2/los/rate-ids method: get operationId: getLosRateIds x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/availability method: get operationId: getAvailability x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/availability method: post operationId: updateAvailability 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 scope: - read - write - path: /v2/rates method: get operationId: getRates x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/rates method: post operationId: setRates 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 scope: - read - write - path: /v2/apartments/extracosts method: get operationId: getExtraCosts x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/apartments/extracosts method: post operationId: updateExtraCosts 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 scope: - read - write - path: /v2/discount method: get operationId: getDiscountById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/discount method: post operationId: upsertDiscount 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 scope: - read - write - path: /v2/discounts method: get operationId: getDiscounts x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/apartments/terms-and-conditions method: get operationId: getTermsAndConditions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/apartments/terms-and-conditions method: post operationId: updateTermsAndConditions 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 scope: - read - write - path: /v2/apartments/payment-configuration method: get operationId: getPaymentConfiguration x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/apartments/payment-configuration method: post operationId: updatePaymentConfiguration 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 scope: - read - write - path: /v2/apartments/payment-configuration method: delete operationId: deletePaymentConfiguration 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 scope: - read - write - path: /v2/apartments/cancellation-policy method: get operationId: getCancellationPolicy x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/apartments/cancellation-policy method: post operationId: updateCancellationConditions 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 scope: - read - write - path: /v2/apartments/cancellation-policy method: delete operationId: deleteCancellationPolicy 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 scope: - read - write - path: /v2/apartments/payment-configuration/rate-ids method: get operationId: getPaymentConfigurationRateIds x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/apartments/cancellation-policy/rate-ids method: get operationId: getCancellationPolicyRateIds x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /v2/bookings method: put operationId: updateBooking 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 scope: - read - write - path: /v2/bookings/cancel method: post operationId: cancelBooking 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 scope: - read - write - path: /v2/bookings/details method: get operationId: getBookingDetails x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none scope: - read - write - path: /test method: get operationId: get-an-apartment x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /test method: get operationId: test x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /testa method: get operationId: get-access_token-using-refresh_token x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none