naftiko: 1.0.0-alpha2 info: label: AMC Theatres API — Loyalty description: 'AMC Theatres API — Loyalty. 12 operations. Lead operation: Get Loyalty Card QR Code. Self-contained Naftiko capability covering one Amc Entertainment Holdings business surface.' tags: - Amc Entertainment Holdings - Loyalty created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: AMC_ENTERTAINMENT_HOLDINGS_API_KEY: AMC_ENTERTAINMENT_HOLDINGS_API_KEY capability: consumes: - type: http namespace: amc-theatres-loyalty baseUri: https://api.amctheatres.com description: AMC Theatres API — Loyalty business capability. Self-contained, no shared references. resources: - name: v3-amc-accounts-account-id-loyalty-qr-code path: /v3/amc-accounts/{account-id}/loyalty/qr-code operations: - name: getloyaltyqrcode method: GET description: Get Loyalty Card QR Code outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v3-orders-order-id-loyalty-rewards-application path: /v3/orders/{order-id}/loyalty-rewards-application operations: - name: applyloyaltyrewards method: POST description: Apply Loyalty Rewards To Order outputRawFormat: json outputParameters: - name: result type: object value: $. - name: removeloyaltyrewards method: DELETE description: Remove Loyalty Rewards From Order outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v4-amc-accounts-amc-account-id-loyalty path: /v4/amc-accounts/{amc-account-id}/loyalty operations: - name: unlinkloyaltyaccount method: DELETE description: Unlink Loyalty Account From AMC Account outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: amc-account-id in: path type: string required: true - name: v4-loyalty-accounts-card-{card-number} path: /v4/loyalty-accounts/card-{card-number} operations: - name: getloyaltyaccountbycard method: GET description: Get Loyalty Account By Card outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: card-number in: path type: string required: true - name: v4-loyalty-accounts-card-{card-number}-campaign-registration path: /v4/loyalty-accounts/card-{card-number}/{campaign}/registration operations: - name: registerloyaltybycard method: POST description: Register For Loyalty Campaign By Card outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: card-number in: path type: string required: true - name: campaign in: path type: string required: true - name: v4-loyalty-accounts-email-{email-address} path: /v4/loyalty-accounts/email-{email-address} operations: - name: getloyaltyaccountbyemail method: GET description: Get Loyalty Account By Email outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: email-address in: path type: string required: true - name: v4-loyalty-accounts-email-{email-address}-campaign-registration path: /v4/loyalty-accounts/email-{email-address}/{campaign}/registration operations: - name: registerloyaltybyemail method: POST description: Register For Loyalty Campaign By Email outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: email-address in: path type: string required: true - name: campaign in: path type: string required: true - name: v4-loyalty-accounts-phone-{phone} path: /v4/loyalty-accounts/phone-{phone} operations: - name: getloyaltyaccountbyphone method: GET description: Get Loyalty Account By Phone outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: phone in: path type: string required: true - name: v4-loyalty-accounts-loyalty-account-id path: /v4/loyalty-accounts/{loyalty-account-id} operations: - name: getloyaltyaccount method: GET description: Get Loyalty Account By Id outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: loyalty-account-id in: path type: string required: true - name: v4-loyalty-accounts-loyalty-account-id-redemptions path: /v4/loyalty-accounts/{loyalty-account-id}/redemptions operations: - name: createloyaltyredemption method: POST description: Create Loyalty Points Redemption outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: loyalty-account-id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: v4-loyalty-cards-card-number path: /v4/loyalty-cards/{card-number} operations: - name: getloyaltycard method: GET description: Get Loyalty Card outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: card-number in: path type: string required: true authentication: type: apikey key: X-AMC-Vendor-Key value: '{{env.AMC_ENTERTAINMENT_HOLDINGS_API_KEY}}' placement: header exposes: - type: rest namespace: amc-theatres-loyalty-rest port: 8080 description: REST adapter for AMC Theatres API — Loyalty. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v3/amc-accounts/{account-id}/loyalty/qr-code name: v3-amc-accounts-account-id-loyalty-qr-code description: REST surface for v3-amc-accounts-account-id-loyalty-qr-code. operations: - method: GET name: getloyaltyqrcode description: Get Loyalty Card QR Code call: amc-theatres-loyalty.getloyaltyqrcode outputParameters: - type: object mapping: $. - path: /v1/v3/orders/{order-id}/loyalty-rewards-application name: v3-orders-order-id-loyalty-rewards-application description: REST surface for v3-orders-order-id-loyalty-rewards-application. operations: - method: POST name: applyloyaltyrewards description: Apply Loyalty Rewards To Order call: amc-theatres-loyalty.applyloyaltyrewards outputParameters: - type: object mapping: $. - method: DELETE name: removeloyaltyrewards description: Remove Loyalty Rewards From Order call: amc-theatres-loyalty.removeloyaltyrewards outputParameters: - type: object mapping: $. - path: /v1/v4/amc-accounts/{amc-account-id}/loyalty name: v4-amc-accounts-amc-account-id-loyalty description: REST surface for v4-amc-accounts-amc-account-id-loyalty. operations: - method: DELETE name: unlinkloyaltyaccount description: Unlink Loyalty Account From AMC Account call: amc-theatres-loyalty.unlinkloyaltyaccount with: amc-account-id: rest.amc-account-id outputParameters: - type: object mapping: $. - path: /v1/v4/loyalty-accounts/card-card-number name: v4-loyalty-accounts-card-card-number description: REST surface for v4-loyalty-accounts-card-{card-number}. operations: - method: GET name: getloyaltyaccountbycard description: Get Loyalty Account By Card call: amc-theatres-loyalty.getloyaltyaccountbycard with: card-number: rest.card-number outputParameters: - type: object mapping: $. - path: /v1/v4/loyalty-accounts/card-card-number/{campaign}/registration name: v4-loyalty-accounts-card-card-number-campaign-registration description: REST surface for v4-loyalty-accounts-card-{card-number}-campaign-registration. operations: - method: POST name: registerloyaltybycard description: Register For Loyalty Campaign By Card call: amc-theatres-loyalty.registerloyaltybycard with: card-number: rest.card-number campaign: rest.campaign outputParameters: - type: object mapping: $. - path: /v1/v4/loyalty-accounts/email-email-address name: v4-loyalty-accounts-email-email-address description: REST surface for v4-loyalty-accounts-email-{email-address}. operations: - method: GET name: getloyaltyaccountbyemail description: Get Loyalty Account By Email call: amc-theatres-loyalty.getloyaltyaccountbyemail with: email-address: rest.email-address outputParameters: - type: object mapping: $. - path: /v1/v4/loyalty-accounts/email-email-address/{campaign}/registration name: v4-loyalty-accounts-email-email-address-campaign-registration description: REST surface for v4-loyalty-accounts-email-{email-address}-campaign-registration. operations: - method: POST name: registerloyaltybyemail description: Register For Loyalty Campaign By Email call: amc-theatres-loyalty.registerloyaltybyemail with: email-address: rest.email-address campaign: rest.campaign outputParameters: - type: object mapping: $. - path: /v1/v4/loyalty-accounts/phone-phone name: v4-loyalty-accounts-phone-phone description: REST surface for v4-loyalty-accounts-phone-{phone}. operations: - method: GET name: getloyaltyaccountbyphone description: Get Loyalty Account By Phone call: amc-theatres-loyalty.getloyaltyaccountbyphone with: phone: rest.phone outputParameters: - type: object mapping: $. - path: /v1/v4/loyalty-accounts/{loyalty-account-id} name: v4-loyalty-accounts-loyalty-account-id description: REST surface for v4-loyalty-accounts-loyalty-account-id. operations: - method: GET name: getloyaltyaccount description: Get Loyalty Account By Id call: amc-theatres-loyalty.getloyaltyaccount with: loyalty-account-id: rest.loyalty-account-id outputParameters: - type: object mapping: $. - path: /v1/v4/loyalty-accounts/{loyalty-account-id}/redemptions name: v4-loyalty-accounts-loyalty-account-id-redemptions description: REST surface for v4-loyalty-accounts-loyalty-account-id-redemptions. operations: - method: POST name: createloyaltyredemption description: Create Loyalty Points Redemption call: amc-theatres-loyalty.createloyaltyredemption with: loyalty-account-id: rest.loyalty-account-id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v4/loyalty-cards/{card-number} name: v4-loyalty-cards-card-number description: REST surface for v4-loyalty-cards-card-number. operations: - method: GET name: getloyaltycard description: Get Loyalty Card call: amc-theatres-loyalty.getloyaltycard with: card-number: rest.card-number outputParameters: - type: object mapping: $. - type: mcp namespace: amc-theatres-loyalty-mcp port: 9090 transport: http description: MCP adapter for AMC Theatres API — Loyalty. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-loyalty-card-qr-code description: Get Loyalty Card QR Code hints: readOnly: true destructive: false idempotent: true call: amc-theatres-loyalty.getloyaltyqrcode outputParameters: - type: object mapping: $. - name: apply-loyalty-rewards-order description: Apply Loyalty Rewards To Order hints: readOnly: false destructive: false idempotent: false call: amc-theatres-loyalty.applyloyaltyrewards outputParameters: - type: object mapping: $. - name: remove-loyalty-rewards-order description: Remove Loyalty Rewards From Order hints: readOnly: false destructive: true idempotent: true call: amc-theatres-loyalty.removeloyaltyrewards outputParameters: - type: object mapping: $. - name: unlink-loyalty-account-amc-account description: Unlink Loyalty Account From AMC Account hints: readOnly: false destructive: true idempotent: true call: amc-theatres-loyalty.unlinkloyaltyaccount with: amc-account-id: tools.amc-account-id outputParameters: - type: object mapping: $. - name: get-loyalty-account-card description: Get Loyalty Account By Card hints: readOnly: true destructive: false idempotent: true call: amc-theatres-loyalty.getloyaltyaccountbycard with: card-number: tools.card-number outputParameters: - type: object mapping: $. - name: register-loyalty-campaign-card description: Register For Loyalty Campaign By Card hints: readOnly: false destructive: false idempotent: false call: amc-theatres-loyalty.registerloyaltybycard with: card-number: tools.card-number campaign: tools.campaign outputParameters: - type: object mapping: $. - name: get-loyalty-account-email description: Get Loyalty Account By Email hints: readOnly: true destructive: false idempotent: true call: amc-theatres-loyalty.getloyaltyaccountbyemail with: email-address: tools.email-address outputParameters: - type: object mapping: $. - name: register-loyalty-campaign-email description: Register For Loyalty Campaign By Email hints: readOnly: false destructive: false idempotent: false call: amc-theatres-loyalty.registerloyaltybyemail with: email-address: tools.email-address campaign: tools.campaign outputParameters: - type: object mapping: $. - name: get-loyalty-account-phone description: Get Loyalty Account By Phone hints: readOnly: true destructive: false idempotent: true call: amc-theatres-loyalty.getloyaltyaccountbyphone with: phone: tools.phone outputParameters: - type: object mapping: $. - name: get-loyalty-account-id description: Get Loyalty Account By Id hints: readOnly: true destructive: false idempotent: true call: amc-theatres-loyalty.getloyaltyaccount with: loyalty-account-id: tools.loyalty-account-id outputParameters: - type: object mapping: $. - name: create-loyalty-points-redemption description: Create Loyalty Points Redemption hints: readOnly: false destructive: false idempotent: false call: amc-theatres-loyalty.createloyaltyredemption with: loyalty-account-id: tools.loyalty-account-id body: tools.body outputParameters: - type: object mapping: $. - name: get-loyalty-card description: Get Loyalty Card hints: readOnly: true destructive: false idempotent: true call: amc-theatres-loyalty.getloyaltycard with: card-number: tools.card-number outputParameters: - type: object mapping: $.