AMC Theatres API

The AMC Theatres API is a public REST API providing programmatic access to AMC Theatres data including theatres, locations, showtimes, movies, seating, ticketing, concessions, and AMC Stubs loyalty. The API is intended for partner integrations such as movie discovery, ticketing, and entertainment listings. Authentication is performed via a vendor API key issued through the AMC developer portal and supplied in the X-AMC-Vendor-Key header. Resource families are versioned independently under /v1, /v2, /v3, and /v4 path prefixes, and collection responses use a HAL-style envelope.

Documentation

Specifications

Examples

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amc-entertainment-holdings/refs/heads/main/json-schema/amc-theatres-theatre-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amc-entertainment-holdings/refs/heads/main/json-schema/amc-theatres-movie-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amc-entertainment-holdings/refs/heads/main/json-schema/amc-theatres-showtime-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amc-entertainment-holdings/refs/heads/main/json-schema/amc-theatres-order-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amc-entertainment-holdings/refs/heads/main/json-schema/amc-theatres-loyalty-account-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/amc-entertainment-holdings/refs/heads/main/json-schema/amc-theatres-attribute-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amc-entertainment-holdings/refs/heads/main/json-structure/amc-theatres-theatre-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amc-entertainment-holdings/refs/heads/main/json-structure/amc-theatres-movie-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amc-entertainment-holdings/refs/heads/main/json-structure/amc-theatres-showtime-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amc-entertainment-holdings/refs/heads/main/json-structure/amc-theatres-order-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/amc-entertainment-holdings/refs/heads/main/json-structure/amc-theatres-loyalty-account-structure.json

Other Resources

OpenAPI Specification

amc-theatres-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: AMC Theatres API
  description: |-
    The AMC Theatres API is a public REST API published by AMC Entertainment Holdings
    that exposes data and transactional capabilities for AMC theatres, movies, showtimes,
    locations, loyalty, concessions, orders, refunds, media, and webhooks. It is intended
    for partner integrations such as movie discovery, ticket sales, dine-in / express pickup
    concession ordering, AMC Stubs loyalty integrations, and entertainment listings on
    third-party sites and apps.

    Authentication is performed by sending a vendor API key in the `X-AMC-Vendor-Key`
    request header. Responses follow a HAL-style envelope (`pageSize`, `pageNumber`,
    `count`, `_embedded`, `_links`) for collections.

    This OpenAPI definition was reconstructed from the public AMC Developer Portal
    documentation (developers.amctheatres.com) and known integrations. The dev portal
    blocks automated retrieval, so this spec was assembled from third-party mirrors
    of the AMC documentation and verified against open-source AMC API clients.
  version: "v2"
  contact:
    name: AMC Theatres Developer Portal
    url: https://developers.amctheatres.com
  termsOfService: https://www.amctheatres.com/legal/terms-of-use
  license:
    name: AMC Theatres API Terms of Use
    url: https://www.amctheatres.com/legal/terms-of-use
externalDocs:
  description: AMC Theatres Developer Portal
  url: https://developers.amctheatres.com
servers:
  - url: https://api.amctheatres.com
    description: AMC Theatres production API
tags:
  - name: Theatres
    description: AMC theatre locations, attributes, and metadata.
  - name: Movies
    description: AMC movies, including now-playing, advance, coming-soon, and on-demand.
  - name: Showtimes
    description: Theatre showtimes for movies, including embargoed and proximity-based searches.
  - name: Locations
    description: Geographic helpers for finding theatres by state, city, name, or coordinates.
  - name: Markets
    description: AMC market areas grouping theatres by region.
  - name: States
    description: U.S. states served by AMC.
  - name: Media
    description: Images and videos for movies, theatres, and attributes.
  - name: Attributes
    description: Movie, showtime, and theatre attribute taxonomy.
  - name: Seating
    description: Seating layouts and seat selection.
  - name: Orders
    description: Order creation, payment, fulfillment, and management.
  - name: Concessions
    description: Concessions ordering, categories, delivery and pickup logistics.
  - name: Loyalty
    description: AMC Stubs loyalty accounts, cards, redemptions, and registrations.
  - name: Refunds
    description: Order refunds, refund reasons, and fee waivers.
  - name: Barcodes
    description: Ticket and loyalty QR codes and Code 128 barcodes.
  - name: Webhooks
    description: Vendor webhook subscription and management.
  - name: Wallet
    description: AMC account wallets for external billers.
  - name: MovieConfirmations
    description: Movie ticket confirmation lookups.
paths:
  /v2/theatres:
    get:
      summary: List All Active Theatres
      description: Returns a paginated list of active AMC theatres, optionally filtered by attributes, market, state/city, brand, or name.
      operationId: listTheatres
      tags: [Theatres]
      parameters:
        - $ref: '#/components/parameters/IncludeAttributes'
        - $ref: '#/components/parameters/ExcludeAttributes'
        - $ref: '#/components/parameters/AttributeOperator'
        - name: ids
          in: query
          description: Comma-delimited list of theatre ids to filter by.
          schema: { type: string }
        - name: name
          in: query
          description: Filter theatres whose name contains the specified text.
          schema: { type: string }
        - name: market
          in: query
          description: Filter theatres in the specified market.
          schema: { type: string }
        - name: state
          in: query
          description: Filter theatres in the specified state (required when `city` is given).
          schema: { type: string }
        - name: city
          in: query
          description: Filter theatres in the specified city (requires `state`).
          schema: { type: string }
        - name: brand
          in: query
          description: Filter theatres by brand abbreviation.
          schema: { type: string }
        - name: include
          in: query
          description: Set to `closed` to include closed theatres.
          schema:
            type: string
            enum: [closed]
        - $ref: '#/components/parameters/PageNumber'
        - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: A paged list of theatres.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/TheatreCollection' }
  /v2/theatres/{idOrSlug}:
    get:
      summary: Get a Theatre by Id or Slug
      description: Returns a single theatre matched by numeric id or url-friendly slug.
      operationId: getTheatre
      tags: [Theatres]
      parameters:
        - name: idOrSlug
          in: path
          required: true
          description: The theatre id (integer) or theatre slug.
          schema: { type: string }
      responses:
        '200':
          description: Theatre representation.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/Theatre' }
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/theatres/views/now-playing/wwm-release-number/{wwm-release-number}:
    get:
      summary: List Theatres Now Playing a WWM Release
      description: Returns theatres now playing the specified West World Media release number.
      operationId: listTheatresByWwmRelease
      tags: [Theatres]
      parameters:
        - name: wwm-release-number
          in: path
          required: true
          schema: { type: string }
        - $ref: '#/components/parameters/PageNumber'
        - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: Theatres playing the release.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/TheatreCollection' }
  /v2/theatres/{theatre-number}/showtimes:
    get:
      summary: List Showtimes for a Theatre
      description: Returns all future showtimes for the specified theatre.
      operationId: listTheatreShowtimes
      tags: [Showtimes]
      parameters:
        - $ref: '#/components/parameters/TheatreNumber'
        - name: movie-id
          in: query
          schema: { type: integer }
          description: Filter to showtimes for a specific movie id.
        - $ref: '#/components/parameters/IncludeAttributes'
        - $ref: '#/components/parameters/ExcludeAttributes'
        - $ref: '#/components/parameters/AttributeOperator'
        - $ref: '#/components/parameters/PageNumber'
        - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: Showtimes collection.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/ShowtimeCollection' }
  /v2/theatres/{theatre-number}/showtimes/{date}:
    get:
      summary: List Showtimes for a Theatre on a Date
      description: Returns all showtimes for the specified theatre on the specified date that meet the supplied search criteria.
      operationId: listTheatreShowtimesByDate
      tags: [Showtimes]
      parameters:
        - $ref: '#/components/parameters/TheatreNumber'
        - name: date
          in: path
          required: true
          schema: { type: string, format: date }
          description: Date in ISO-8601 (YYYY-MM-DD) format.
        - $ref: '#/components/parameters/IncludeAttributes'
        - $ref: '#/components/parameters/ExcludeAttributes'
        - $ref: '#/components/parameters/AttributeOperator'
        - $ref: '#/components/parameters/PageNumber'
        - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: Showtimes collection.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/ShowtimeCollection' }
  /v2/theatres/{theatre-number}/showtimes/{date}/views/embargoed:
    get:
      summary: List Embargoed Showtimes for a Theatre on a Date
      description: Returns all embargoed showtimes for the specified theatre and date.
      operationId: listEmbargoedShowtimes
      tags: [Showtimes]
      parameters:
        - $ref: '#/components/parameters/TheatreNumber'
        - name: date
          in: path
          required: true
          schema: { type: string, format: date }
        - $ref: '#/components/parameters/PageNumber'
        - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: Embargoed showtimes.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/ShowtimeCollection' }
  /v2/theatres/{theatre-number}/movies/{movie-id}/earliest-showtime:
    get:
      summary: Get Earliest Showtime For Movie at Theatre
      description: Returns the earliest showtime for a specific movie id at the specified theatre.
      operationId: getEarliestShowtime
      tags: [Showtimes]
      parameters:
        - $ref: '#/components/parameters/TheatreNumber'
        - name: movie-id
          in: path
          required: true
          schema: { type: integer }
      responses:
        '200':
          description: Showtime representation.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/Showtime' }
  /v2/theatres/{theatre-number}/seating-layouts:
    get:
      summary: List Seating Layouts For an Auditorium
      description: Returns the seating layouts available at the specified theatre auditorium.
      operationId: listTheatreSeatingLayouts
      tags: [Seating]
      parameters:
        - $ref: '#/components/parameters/TheatreNumber'
      responses:
        '200':
          description: Seating layouts.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/SeatingLayoutCollection' }
  /v2/showtimes/{id}:
    get:
      summary: Get Showtime By Id
      description: Returns the showtime with the specified id.
      operationId: getShowtime
      tags: [Showtimes]
      parameters:
        - name: id
          in: path
          required: true
          schema: { type: integer }
      responses:
        '200':
          description: Showtime representation.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/Showtime' }
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/showtimes/views/current-location/{date}/{latitude}/{longitude}:
    get:
      summary: List Showtimes Near a Location
      description: Returns all showtimes in proximity to the supplied latitude and longitude on the specified date.
      operationId: listShowtimesByLocation
      tags: [Showtimes]
      parameters:
        - name: date
          in: path
          required: true
          schema: { type: string, format: date }
        - name: latitude
          in: path
          required: true
          schema: { type: number, format: double }
        - name: longitude
          in: path
          required: true
          schema: { type: number, format: double }
        - $ref: '#/components/parameters/PageNumber'
        - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: Showtimes near the location.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/ShowtimeCollection' }
  /v2/movies:
    get:
      summary: List All Movies
      description: Returns a paginated list of AMC movies.
      operationId: listMovies
      tags: [Movies]
      parameters:
        - name: name
          in: query
          schema: { type: string }
          description: Filter movies whose name contains the supplied text.
        - $ref: '#/components/parameters/PageNumber'
        - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: Movies collection.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/MovieCollection' }
  /v2/movies/views/now-playing:
    get:
      summary: List Now Playing Movies
      operationId: listMoviesNowPlaying
      tags: [Movies]
      parameters:
        - $ref: '#/components/parameters/PageNumber'
        - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: Now playing movies.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/MovieCollection' }
  /v2/movies/views/advance:
    get:
      summary: List Advance Ticket Movies
      operationId: listMoviesAdvance
      tags: [Movies]
      parameters:
        - $ref: '#/components/parameters/PageNumber'
        - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: Advance ticket movies.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/MovieCollection' }
  /v2/movies/views/coming-soon:
    get:
      summary: List Coming Soon Movies
      operationId: listMoviesComingSoon
      tags: [Movies]
      parameters:
        - $ref: '#/components/parameters/PageNumber'
        - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: Coming soon movies.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/MovieCollection' }
  /v2/movies/views/active:
    get:
      summary: List Active Movies
      operationId: listMoviesActive
      tags: [Movies]
      responses:
        '200':
          description: Active movies.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/MovieCollection' }
  /v2/movies/views/all/active:
    get:
      summary: List All Active and On-Demand Movies
      operationId: listMoviesAllActive
      tags: [Movies]
      responses:
        '200':
          description: All active and digital on-demand movies.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/MovieCollection' }
  /v2/movies/views/on-demand:
    get:
      summary: List Digital On-Demand Movies
      operationId: listMoviesOnDemand
      tags: [Movies]
      responses:
        '200':
          description: On-demand movies.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/MovieCollection' }
  /v2/movies/{idOrSlug}:
    get:
      summary: Get a Movie by Id or Slug
      operationId: getMovie
      tags: [Movies]
      parameters:
        - name: idOrSlug
          in: path
          required: true
          schema: { type: string }
      responses:
        '200':
          description: Movie representation.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/Movie' }
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/movies/{id}/on-demand/similar:
    get:
      summary: List Similar On-Demand Movies
      operationId: listSimilarOnDemandMovies
      tags: [Movies]
      parameters:
        - name: id
          in: path
          required: true
          schema: { type: integer }
      responses:
        '200':
          description: Similar movies.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/MovieCollection' }
  /v2/movies/internal-release/{id}:
    get:
      summary: Get a Movie by Internal Release Id
      operationId: getMovieByInternalRelease
      tags: [Movies]
      parameters:
        - name: id
          in: path
          required: true
          schema: { type: integer }
      responses:
        '200':
          description: Movie representation.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/Movie' }
  /v2/locations/states/{state-name}:
    get:
      summary: Get Locations in a State
      operationId: listLocationsByState
      tags: [Locations]
      parameters:
        - name: state-name
          in: path
          required: true
          schema: { type: string }
      responses:
        '200':
          description: Locations in the state.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/LocationCollection' }
  /v2/locations/theatres/{theatre-name}:
    get:
      summary: Get Locations Matching Theatre Name
      operationId: listLocationsByTheatreName
      tags: [Locations]
      parameters:
        - name: theatre-name
          in: path
          required: true
          schema: { type: string }
      responses:
        '200':
          description: Matching locations.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/LocationCollection' }
  /v2/location-suggestions:
    get:
      summary: List Location Suggestions
      description: Suggest locations by zip code, city, state, theatre name, etc.
      operationId: listLocationSuggestions
      tags: [Locations]
      parameters:
        - name: query
          in: query
          schema: { type: string }
          description: The user-entered text to suggest locations for.
      responses:
        '200':
          description: Location suggestions.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/LocationSuggestionCollection' }
  /v1/markets:
    get:
      summary: List All Markets
      operationId: listMarkets
      tags: [Markets]
      responses:
        '200':
          description: All markets.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/MarketCollection' }
  /v1/states:
    get:
      summary: List All States
      operationId: listStates
      tags: [States]
      responses:
        '200':
          description: All states.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/StateCollection' }
  /v1/states/{state-slug}:
    get:
      summary: Get State By Slug
      operationId: getState
      tags: [States]
      parameters:
        - name: state-slug
          in: path
          required: true
          schema: { type: string }
      responses:
        '200':
          description: State representation.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/State' }
  /v2/seating-layouts/{theatre-number}/{performance-number}:
    get:
      summary: Get Seating Layout For Performance
      operationId: getSeatingLayoutForPerformance
      tags: [Seating]
      parameters:
        - $ref: '#/components/parameters/TheatreNumber'
        - name: performance-number
          in: path
          required: true
          schema: { type: integer }
      responses:
        '200':
          description: Seating layout.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/SeatingLayout' }
  /v2/media/{media-type}/{media-id}:
    get:
      summary: Get Media By Type and Id
      operationId: getMediaItem
      tags: [Media]
      parameters:
        - name: media-type
          in: path
          required: true
          schema: { type: string }
        - name: media-id
          in: path
          required: true
          schema: { type: string }
      responses:
        '200':
          description: Media representation.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/MediaItem' }
  /v2/media/{resource-type}/{resource-id}/{media-type}:
    get:
      summary: List Media for a Resource
      operationId: listMediaForResource
      tags: [Media]
      parameters:
        - name: resource-type
          in: path
          required: true
          schema: { type: string, enum: [movies, theatres, attributes] }
        - name: resource-id
          in: path
          required: true
          schema: { type: string }
        - name: media-type
          in: path
          required: true
          schema: { type: string, enum: [images, videos] }
      responses:
        '200':
          description: Media collection.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/MediaCollection' }
  /v2/media/images/content-types:
    get:
      summary: List Image Content Types
      operationId: listImageContentTypes
      tags: [Media]
      responses:
        '200':
          description: Available image content types.
          content:
            application/json:
              schema: { type: array, items: { type: string } }
  /v2/media/videos/content-types:
    get:
      summary: List Video Content Types
      operationId: listVideoContentTypes
      tags: [Media]
      responses:
        '200':
          description: Available video content types.
          content:
            application/json:
              schema: { type: array, items: { type: string } }
  /v2/images/sizes:
    get:
      summary: List Image Sizes
      operationId: listImageSizes
      tags: [Media]
      responses:
        '200':
          description: Available image sizes.
          content:
            application/json:
              schema: { type: array, items: { type: string } }
  /v3/orders:
    post:
      summary: Create Order
      operationId: createOrder
      tags: [Orders]
      requestBody:
        required: true
        content:
          application/json:
            schema: { $ref: '#/components/schemas/OrderCreate' }
      responses:
        '201':
          description: Order created.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/Order' }
  /v3/orders/record:
    post:
      summary: Record Completed Order
      operationId: recordOrder
      tags: [Orders]
      requestBody:
        required: true
        content:
          application/json:
            schema: { $ref: '#/components/schemas/OrderRecord' }
      responses:
        '201':
          description: Order recorded.
  /v3/orders/{order-id}:
    parameters:
      - $ref: '#/components/parameters/OrderId'
    get:
      summary: Get Order By Id
      operationId: getOrder
      tags: [Orders]
      responses:
        '200':
          description: Order representation.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/Order' }
    put:
      summary: Update Order Contact Info
      operationId: updateOrderContact
      tags: [Orders]
      requestBody:
        required: true
        content:
          application/json:
            schema: { $ref: '#/components/schemas/OrderContact' }
      responses:
        '200':
          description: Order updated.
    delete:
      summary: Delete Order By Id
      operationId: deleteOrder
      tags: [Orders]
      responses:
        '204':
          description: Order deleted.
  /v3/orders/token-{token}:
    get:
      summary: Get Order By Token
      operationId: getOrderByToken
      tags: [Orders]
      parameters:
        - name: token
          in: path
          required: true
          schema: { type: string }
      responses:
        '200':
          description: Order representation.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/Order' }
  /v3/orders/{order-id}/email-{email}/:
    get:
      summary: Lookup Order By Id and Email
      operationId: getOrderByIdAndEmail
      tags: [Orders]
      parameters:
        - $ref: '#/components/parameters/OrderId'
        - name: email
          in: path
          required: true
          schema: { type: string, format: email }
      responses:
        '200':
          description: Order representation.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/Order' }
  /v3/orders/{order-id}/products:
    parameters:
      - $ref: '#/components/parameters/OrderId'
    post:
      summary: Add Product To Order
      operationId: addOrderProduct
      tags: [Orders]
      requestBody:
        required: true
        content:
          application/json:
            schema: { $ref: '#/components/schemas/OrderProductAdd' }
      responses:
        '201':
          description: Product added.
  /v3/orders/{order-id}/products/{line-number}:
    parameters:
      - $ref: '#/components/parameters/OrderId'
      - name: line-number
        in: path
        required: true
        schema: { type: integer }
    put:
      summary: Update Product in Order
      operationId: updateOrderProduct
      tags: [Orders]
      requestBody:
        required: true
        content:
          application/json:
            schema: { $ref: '#/components/schemas/OrderProductUpdate' }
      responses:
        '200':
          description: Product updated.
    patch:
      summary: Patch Product Delivery Info
      description: Update delivery information for concessions and gift card products.
      operationId: patchOrderProduct
      tags: [Orders]
      requestBody:
        required: true
        content:
          application/json:
            schema: { $ref: '#/components/schemas/OrderProductPatch' }
      responses:
        '200':
          description: Product patched.
    delete:
      summary: Delete Product From Order
      operationId: deleteOrderProduct
      tags: [Orders]
      responses:
        '204':
          description: Product removed.
  /v3/orders/{order-id}/products/{line-number}/sms-ticket-confirmation/{phone-number}:
    post:
      summary: Send Ticket Confirmation SMS
      operationId: sendTicketConfirmationSms
      tags: [Orders]
      parameters:
        - $ref: '#/components/parameters/OrderId'
        - name: line-number
          in: path
          required: true
          schema: { type: integer }
        - name: phone-number
          in: path
          required: true
          schema: { type: string }
      responses:
        '202':
          description: SMS queued.
  /v3/orders/{order-id}/payments:
    post:
      summary: Add Payment To Order
      operationId: addOrderPayment
      tags: [Orders]
      parameters:
        - $ref: '#/components/parameters/OrderId'
      requestBody:
        required: true
        content:
          application/json:
            schema: { $ref: '#/components/schemas/Payment' }
      responses:
        '201':
          description: Payment added.
  /v3/orders/{order-id}/payments/{line-number}:
    delete:
      summary: Delete Payment From Order
      operationId: deleteOrderPayment
      tags: [Orders]
      parameters:
        - $ref: '#/components/parameters/OrderId'
        - name: line-number
          in: path
          required: true
          schema: { type: integer }
      responses:
        '204':
          description: Payment removed.
  /v3/orders/{order-id}/refresh-expiration:
    post:
      summary: Refresh Order Expiration
      operationId: refreshOrderExpiration
      tags: [Orders]
      parameters:
        - $ref: '#/components/parameters/OrderId'
      responses:
        '200':
          description: Expiration refreshed.
  /v3/orders/{order-id}/loyalty-rewards-application:
    parameters:
      - $ref: '#/components/parameters/OrderId'
    post:
      summary: Apply Loyalty Rewards To Order
      operationId: applyLoyaltyRewards
      tags: [Orders, Loyalty]
      responses:
        '200':
          description: Rewards applied.
    delete:
      summary: Remove Loyalty Rewards From Order
      operationId: removeLoyaltyRewards
      tags: [Orders, Loyalty]
      responses:
        '204':
          description: Rewards removed.
  /v3/orders/{order-id}/failed-payment-auths:
    post:
      summary: Record Failed Payment Authorization
      operationId: recordFailedPaymentAuth
      tags: [Orders]
      parameters:
        - $ref: '#/components/parameters/OrderId'
      requestBody:
        required: true
        content:
          application/json:
            schema: { $ref: '#/components/schemas/FailedPaymentAuth' }
      responses:
        '201':
          description: Failure recorded.
  /v3/amc-accounts/{account-id}/orders/:
    get:
      summary: List Orders For AMC Account
      operationId: listAccountOrders
      tags: [Orders]
      parameters:
        - $ref: '#/components/parameters/AccountId'
        - $ref: '#/components/parameters/PageNumber'
        - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: Orders for account.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/OrderCollection' }
  /v1/theatres/{theatre-id}/concessions:
    get:
      summary: List Concessions For a Theatre
      operationId: listTheatreConcessions
      tags: [Concessions]
      parameters:
        - name: theatre-id
          in: path
          required: true
          schema: { type: integer }
      responses:
        '200':
          description: Concessions for theatre.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/ConcessionCollection' }
  /v1/theatres/{theatre-id}/concessions/{concession-id}:
    get:
      summary: Get Concession By Theatre and Concession Id
      operationId: getConcession
      tags: [Concessions]
      parameters:
        - name: theatre-id
          in: path
          required: true
          schema: { type: integer }
        - name: concession-id
          in: path
          required: true
          schema: { type: integer }
      responses:
        '200':
          description: Concession representation.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/Concession' }
  /v1/concessions/{theatre-product-assignment-id}:
    get:
      summary: Get Concession By Theatre Product Assignment Id
      operationId: getConcessionByAssignment
      tags: [Concessions]
      parameters:
        - name: theatre-product-assignment-id
          in: path
          required: true
          schema: { type: integer }
      responses:
        '200':
          description: Concession representation.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/Concession' }
  /v1/theatres/{theatre-id}/concessions/categories:
    get:
      summary: List Concession Categories For a Theatre
      operationId: listConcessionCategories
      tags: [Concessions]
      parameters:
        - name: theatre-id
          in: path
          required: true
          schema: { type: integer }
      responses:
        '200':
          description: Categories list.
          content:
            application/json:
              schema:
                type: array
                items: { $ref: '#/components/schemas/ConcessionCategory' }
  /v1/theatres/{theatre-id}/concessions/delivery-locations/{year}/{month}/{day}:
    get:
      summary: List Concession Delivery Locations
      operationId: listConcessionDeliveryLocations
      tags: [Concessions]
      parameters:
        - name: theatre-id
          in: path
          required: true
          schema: { type: integer }
        - name: year
          in: path
          required: true
          schema: { type: integer }
        - name: month
          in: path
          required: true
          schema: { type: integer }
        - name: day
          in: path
          required: true
          schema: { type: integer }
      responses:
        '200':
          description: Delivery locations.
  /v1/theatres/{theatre-id}/concessions/pickup-times/{year}/{month}/{day}:
    get:
      summary: List Concession Pickup Times
      operationId: listConcessionPickupTimes
      tags: [Concessions]
      parameters:
        - name: theatre-id
          in: path
          required: true
          schema: { type: integer }
        - name: year
          in: path
          required: true
          schema: { type: integer }
        - name: month
          in: path
          required: true
          schema: { type: integer }
        - name: day
          in: path
          required: true
          schema: { type: integer }
  

# --- truncated at 32 KB (60 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/amc-entertainment-holdings/refs/heads/main/openapi/amc-theatres-api-openapi.yml