AMC Entertainment Holdings Orders API

Order creation, payment, fulfillment, and management.

Documentation

Specifications

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-entertainment-holdings-orders-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: AMC Theatres Barcodes Orders 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
servers:
- url: https://api.amctheatres.com
  description: AMC Theatres production API
security:
- VendorKey: []
tags:
- name: Orders
  description: Order creation, payment, fulfillment, and management.
paths:
  /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
      responses:
        '200':
          description: Rewards applied.
    delete:
      summary: Remove Loyalty Rewards From Order
      operationId: removeLoyaltyRewards
      tags:
      - Orders
      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'
components:
  schemas:
    OrderProduct:
      type: object
      properties:
        lineNumber:
          type: integer
        sku:
          type: string
        productType:
          type: string
          enum:
          - Ticket
          - Concession
          - GiftCard
          - Other
        quantity:
          type: integer
        unitPrice:
          type: number
          format: double
        totalPrice:
          type: number
          format: double
        showtimeId:
          type: integer
        seatIds:
          type: array
          items:
            type: string
        deliveryLocationId:
          type: integer
        pickupTime:
          type: string
          format: date-time
        deliveryTime:
          type: string
          format: date-time
    FailedPaymentAuth:
      type: object
      properties:
        gateway:
          type: string
        responseCode:
          type: string
        message:
          type: string
    OrderProductPatch:
      type: object
      properties:
        deliveryLocationId:
          type: integer
        pickupTime:
          type: string
          format: date-time
        deliveryTime:
          type: string
          format: date-time
    OrderProductAdd:
      type: object
      required:
      - sku
      - quantity
      properties:
        sku:
          type: string
        quantity:
          type: integer
        showtimeId:
          type: integer
        seatIds:
          type: array
          items:
            type: string
    PagedCollection:
      type: object
      properties:
        pageSize:
          type: integer
        pageNumber:
          type: integer
        count:
          type: integer
        _links:
          $ref: '#/components/schemas/HalLinks'
    HalLinks:
      type: object
      additionalProperties:
        type: object
        properties:
          href:
            type: string
          templated:
            type: boolean
    OrderCreate:
      type: object
      required:
      - theatreId
      properties:
        theatreId:
          type: integer
        contact:
          $ref: '#/components/schemas/OrderContact'
        amcAccountId:
          type: string
    OrderContact:
      type: object
      properties:
        firstName:
          type: string
        lastName:
          type: string
        email:
          type: string
          format: email
        phone:
          type: string
        zipCode:
          type: string
    OrderProductUpdate:
      allOf:
      - $ref: '#/components/schemas/OrderProductAdd'
    Order:
      type: object
      properties:
        orderId:
          type: string
        token:
          type: string
        amcAccountId:
          type: string
        status:
          type: string
        createdUtc:
          type: string
          format: date-time
        expirationUtc:
          type: string
          format: date-time
        totalAmount:
          type: number
          format: double
        totalTax:
          type: number
          format: double
        totalConvenienceFees:
          type: number
          format: double
        contact:
          $ref: '#/components/schemas/OrderContact'
        products:
          type: array
          items:
            $ref: '#/components/schemas/OrderProduct'
        payments:
          type: array
          items:
            $ref: '#/components/schemas/Payment'
        _links:
          $ref: '#/components/schemas/HalLinks'
    OrderCollection:
      allOf:
      - $ref: '#/components/schemas/PagedCollection'
      - type: object
        properties:
          _embedded:
            type: object
            properties:
              orders:
                type: array
                items:
                  $ref: '#/components/schemas/Order'
    Payment:
      type: object
      properties:
        lineNumber:
          type: integer
        type:
          type: string
          enum:
          - CreditCard
          - GiftCard
          - AppleyPay
          - GooglePay
          - Loyalty
        amount:
          type: number
          format: double
        creditCard:
          type: object
          properties:
            tokenizedNumber:
              type: string
            expiration:
              type: string
            cardType:
              type: string
            zipCode:
              type: string
    OrderRecord:
      type: object
      properties:
        orderId:
          type: string
        externalOrderId:
          type: string
  parameters:
    PageSize:
      name: page-size
      in: query
      description: Results per page (max 100). Defaults to 10.
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 10
    PageNumber:
      name: page-number
      in: query
      description: Page number to retrieve. Defaults to 1.
      schema:
        type: integer
        minimum: 1
        default: 1
    OrderId:
      name: order-id
      in: path
      required: true
      schema:
        type: string
    AccountId:
      name: account-id
      in: path
      required: true
      schema:
        type: string
  securitySchemes:
    VendorKey:
      type: apiKey
      in: header
      name: X-AMC-Vendor-Key
      description: AMC vendor API key issued via the AMC Theatres developer portal.
externalDocs:
  description: AMC Theatres Developer Portal
  url: https://developers.amctheatres.com