AMC Entertainment Holdings Agentic Access
AMC Entertainment Holdings exposes 79 API operations that an AI agent could call, of which 23 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.
By consequence: 56 read, 7 write, and 16 physical.
Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.
By consequence
Highest-consequence actions
The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.
| Method | Path | Consequence | Human-in-loop |
|---|---|---|---|
| POST | /v1/fee-waiver | physical | conditional |
| POST | /v3/orders | physical | conditional |
| POST | /v3/orders/record | physical | conditional |
| PUT | /v3/orders/{order-id} | physical | conditional |
| DELETE | /v3/orders/{order-id} | physical | conditional |
| POST | /v3/orders/{order-id}/failed-payment-auths | physical | conditional |
| POST | /v3/orders/{order-id}/loyalty-rewards-application | physical | conditional |
| DELETE | /v3/orders/{order-id}/loyalty-rewards-application | physical | conditional |
| POST | /v3/orders/{order-id}/payments | physical | conditional |
| DELETE | /v3/orders/{order-id}/payments/{line-number} | physical | conditional |
| POST | /v3/orders/{order-id}/products | physical | conditional |
| PUT | /v3/orders/{order-id}/products/{line-number} | physical | conditional |
| PATCH | /v3/orders/{order-id}/products/{line-number} | physical | conditional |
| DELETE | /v3/orders/{order-id}/products/{line-number} | physical | conditional |
| POST | /v3/orders/{order-id}/products/{line-number}/sms-ticket-confirmation/{phone-number} | physical | conditional |
| POST | /v3/orders/{order-id}/refresh-expiration | physical | conditional |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/amc-theatres-api-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: 79
by_action_class:
connected: 56
acting: 23
by_consequence:
read: 56
physical: 16
write: 7
human_in_the_loop_required: 0
operations:
- path: /v2/theatres
method: get
operationId: listTheatres
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/theatres/{idOrSlug}
method: get
operationId: getTheatre
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/theatres/views/now-playing/wwm-release-number/{wwm-release-number}
method: get
operationId: listTheatresByWwmRelease
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/theatres/{theatre-number}/showtimes
method: get
operationId: listTheatreShowtimes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/theatres/{theatre-number}/showtimes/{date}
method: get
operationId: listTheatreShowtimesByDate
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/theatres/{theatre-number}/showtimes/{date}/views/embargoed
method: get
operationId: listEmbargoedShowtimes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/theatres/{theatre-number}/movies/{movie-id}/earliest-showtime
method: get
operationId: getEarliestShowtime
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/theatres/{theatre-number}/seating-layouts
method: get
operationId: listTheatreSeatingLayouts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/showtimes/{id}
method: get
operationId: getShowtime
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/showtimes/views/current-location/{date}/{latitude}/{longitude}
method: get
operationId: listShowtimesByLocation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/movies
method: get
operationId: listMovies
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/movies/views/now-playing
method: get
operationId: listMoviesNowPlaying
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/movies/views/advance
method: get
operationId: listMoviesAdvance
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/movies/views/coming-soon
method: get
operationId: listMoviesComingSoon
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/movies/views/active
method: get
operationId: listMoviesActive
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/movies/views/all/active
method: get
operationId: listMoviesAllActive
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/movies/views/on-demand
method: get
operationId: listMoviesOnDemand
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/movies/{idOrSlug}
method: get
operationId: getMovie
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/movies/{id}/on-demand/similar
method: get
operationId: listSimilarOnDemandMovies
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/movies/internal-release/{id}
method: get
operationId: getMovieByInternalRelease
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/locations/states/{state-name}
method: get
operationId: listLocationsByState
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/locations/theatres/{theatre-name}
method: get
operationId: listLocationsByTheatreName
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/location-suggestions
method: get
operationId: listLocationSuggestions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/markets
method: get
operationId: listMarkets
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/states
method: get
operationId: listStates
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/states/{state-slug}
method: get
operationId: getState
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/seating-layouts/{theatre-number}/{performance-number}
method: get
operationId: getSeatingLayoutForPerformance
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/media/{media-type}/{media-id}
method: get
operationId: getMediaItem
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/media/{resource-type}/{resource-id}/{media-type}
method: get
operationId: listMediaForResource
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/media/images/content-types
method: get
operationId: listImageContentTypes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/media/videos/content-types
method: get
operationId: listVideoContentTypes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/images/sizes
method: get
operationId: listImageSizes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v3/orders
method: post
operationId: createOrder
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: /v3/orders/record
method: post
operationId: recordOrder
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: /v3/orders/{order-id}
method: get
operationId: getOrder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v3/orders/{order-id}
method: put
operationId: updateOrderContact
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: /v3/orders/{order-id}
method: delete
operationId: deleteOrder
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: /v3/orders/token-{token}
method: get
operationId: getOrderByToken
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v3/orders/{order-id}/email-{email}/
method: get
operationId: getOrderByIdAndEmail
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v3/orders/{order-id}/products
method: post
operationId: addOrderProduct
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: /v3/orders/{order-id}/products/{line-number}
method: put
operationId: updateOrderProduct
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: /v3/orders/{order-id}/products/{line-number}
method: patch
operationId: patchOrderProduct
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: /v3/orders/{order-id}/products/{line-number}
method: delete
operationId: deleteOrderProduct
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: /v3/orders/{order-id}/products/{line-number}/sms-ticket-confirmation/{phone-number}
method: post
operationId: sendTicketConfirmationSms
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: /v3/orders/{order-id}/payments
method: post
operationId: addOrderPayment
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: /v3/orders/{order-id}/payments/{line-number}
method: delete
operationId: deleteOrderPayment
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: /v3/orders/{order-id}/refresh-expiration
method: post
operationId: refreshOrderExpiration
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: /v3/orders/{order-id}/loyalty-rewards-application
method: post
operationId: applyLoyaltyRewards
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: /v3/orders/{order-id}/loyalty-rewards-application
method: delete
operationId: removeLoyaltyRewards
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: /v3/orders/{order-id}/failed-payment-auths
method: post
operationId: recordFailedPaymentAuth
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: /v3/amc-accounts/{account-id}/orders/
method: get
operationId: listAccountOrders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/theatres/{theatre-id}/concessions
method: get
operationId: listTheatreConcessions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/theatres/{theatre-id}/concessions/{concession-id}
method: get
operationId: getConcession
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/concessions/{theatre-product-assignment-id}
method: get
operationId: getConcessionByAssignment
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/theatres/{theatre-id}/concessions/categories
method: get
operationId: listConcessionCategories
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/theatres/{theatre-id}/concessions/delivery-locations/{year}/{month}/{day}
method: get
operationId: listConcessionDeliveryLocations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/theatres/{theatre-id}/concessions/pickup-times/{year}/{month}/{day}
method: get
operationId: listConcessionPickupTimes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/showtimes/{id}/concession-delivery-times
method: get
operationId: listShowtimeConcessionDeliveryTimes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/showtimes/{showtime-id}/concession-pickup-times
method: get
operationId: listShowtimeConcessionPickupTimes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v4/loyalty-accounts/{loyalty-account-id}
method: get
operationId: getLoyaltyAccount
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v4/loyalty-accounts/email-{email-address}
method: get
operationId: getLoyaltyAccountByEmail
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v4/loyalty-accounts/email-{email-address}/{campaign}/registration
method: post
operationId: registerLoyaltyByEmail
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: /v4/loyalty-accounts/card-{card-number}
method: get
operationId: getLoyaltyAccountByCard
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v4/loyalty-accounts/card-{card-number}/{campaign}/registration
method: post
operationId: registerLoyaltyByCard
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: /v4/loyalty-accounts/phone-{phone}
method: get
operationId: getLoyaltyAccountByPhone
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v4/amc-accounts/{amc-account-id}/loyalty
method: delete
operationId: unlinkLoyaltyAccount
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: /v4/loyalty-cards/{card-number}
method: get
operationId: getLoyaltyCard
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v4/loyalty-accounts/{loyalty-account-id}/redemptions
method: post
operationId: createLoyaltyRedemption
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: /v4/amc-accounts/{account-id}/wallet/views/on-demand
method: get
operationId: getExternalWallet
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v3/qr-codes/{encrypted-reference-id}
method: get
operationId: getTicketQrCode
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v3/code128/{encrypted-reference-id}
method: get
operationId: getTicketCode128Barcode
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v3/amc-accounts/{account-id}/loyalty/qr-code
method: get
operationId: getLoyaltyQrCode
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/movies/{movie-id}/confirmation-check/{confirmation-code}
method: get
operationId: getMovieConfirmationCheck
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/fee-waiver
method: post
operationId: getFeeWaiver
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: /v1/webhook-events
method: get
operationId: listWebhookEvents
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/webhooks
method: get
operationId: listWebhooks
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/webhooks
method: post
operationId: subscribeWebhook
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: /v1/webhooks/{webhook-token-id}
method: delete
operationId: unsubscribeWebhook
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: /v1/webhooks/{webhook-token-id}/test
method: post
operationId: testWebhook
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