generated: '2026-07-15' method: generated source: openapi/tablecheck-availability.yml, openapi/tablecheck-booking.yml, openapi/tablecheck-crm.yml, openapi/tablecheck-pos.yml, openapi/tablecheck-site-controller.yml, openapi/tablecheck-web-booking.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: 59 by_action_class: connected: 37 acting: 22 by_consequence: read: 37 write: 19 physical: 3 human_in_the_loop_required: 0 operations: - path: /shops method: get operationId: listShops x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shops/{shop_id} method: get operationId: showShopById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /timetable/{shop_id} method: get operationId: showTimetableByShopId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /calendar/{shop_id} method: get operationId: showCalendarByShopId x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /availability_tables/{shop_id} method: get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /blockages method: post operationId: createBlockage 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: /blockages/{blockage_id} method: get operationId: showBlockageById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /blockages/{blockage_id} method: put operationId: updateBlockage 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: /blockages/{blockage_id} method: delete operationId: deleteBlockage 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: /reservations method: get operationId: listReservations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /reservations method: post operationId: createReservation 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: /reservations/{reservation_id_or_ref} method: get operationId: showReservationById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /reservations/{reservation_id_or_ref} method: put operationId: updateReservation 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: /reservations/{reservation_id_or_ref}/cancel method: put operationId: cancelReservation 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: /reservation_flags method: get operationId: listReservationFlags x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /reservation_flags/{reservation_flag_id} method: get operationId: showReservationFlagById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shops method: get operationId: listShops x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shops/{shop_id} method: get operationId: showShopById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /reservations method: get operationId: listReservations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /reservations method: post operationId: createReservation 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: /reservations/{reservation_id} method: get operationId: showReservationById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /reservations/{reservation_id} method: put operationId: updateReservation 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: /reservation_flags method: get operationId: listReservationFlags x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /reservation_flags/{reservation_flag_id} method: get operationId: showReservationFlagById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /memberships method: get operationId: listMemberships x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /memberships method: post operationId: createMembership 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: /memberships/{membership_id} method: get operationId: showMembershipById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /memberships/{membership_id} method: put operationId: updateMembership 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: /memberships/{membership_id} method: delete operationId: deleteMembershipById 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: /membership_programs method: get operationId: listMembershipPrograms x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /membership_programs/{membership_program_id} method: get operationId: showMembershipProgramById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /customers method: get operationId: listCustomers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /customers method: post operationId: createCustomer 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: /customers/{customer_id} method: get operationId: showCustomerById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /customers/{customer_id} method: put operationId: amendCustomer 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: /customers/{customer_id} method: delete operationId: deleteCustomerById 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: /customer_search method: post operationId: customerSearch 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: /shops method: get operationId: listShops x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shops/{shop_id} method: get operationId: showShopById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /franchises method: get operationId: listFranchises x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /franchises/{franchise_id} method: get operationId: showFranchiseById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shops method: get operationId: listShops x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shops/{id} method: get operationId: showShop x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shops/{shop_id}/pos_journals method: get operationId: listPosJournals x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shops/{shop_id}/pos_journals method: post operationId: createPosJournal 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: /shops/{shop_id}/pos_journals/{pos_journal_id} method: get operationId: showPosJournal x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shops/{shop_id}/pos_journals/{pos_journal_id} method: put operationId: updatePosJournal 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: /shops/{shop_id}/pos_journals/{pos_journal_id} method: delete operationId: deletePosJournal 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: /shops/{shop_id}/pos_journals/void method: post operationId: voidPosJournal 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: /shops/{shop_id}/reservations method: get operationId: listReservations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shops/{shop_id}/reservations/{reservation_id} method: get operationId: showReservation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shops/{shop_id}/reservations/{reservation_id} method: put operationId: updateReservation 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: /shops/{shop_id}/tables method: get operationId: listTables x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shops/{shop_id}/table_status/show method: post operationId: showTableStatus 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: /shops/{shop_id}/table_status/update method: put operationId: updateTableStatus 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: /shops method: get operationId: listShops x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /shops/{shop_id} method: get operationId: showShopById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /reservations method: get operationId: listReservations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /reservations/{reservation_id_or_ref} method: get operationId: showReservationById x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none