Punchh · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Punchh Payments API

10 actions 10 updates phrasing extends openapi/punchh-payments-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Punchh's API. It is a proposal applied on top of the contract, not a document Punchh publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 10

$.info
$.paths['/api2/mobile/secure_tokens/{service}'].get
$.paths['/api2/mobile/payments/client_token'].get
$.paths['/api2/mobile/payments'].post
$.paths['/api2/mobile/iframe_payments/new'].get
$.paths['/api/pos/payments'].put
$.paths['/api/pos/payments'].post
$.paths['/api/pos/payments'].delete
$.paths['/api/pos/payments/status'].get
$.paths['/api/pos/payments/refund'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Punchh Payments API
  version: 1.0.0
extends: openapi/punchh-payments-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 9
- target: $.paths['/api2/mobile/secure_tokens/{service}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a secure client token for a service
      effect: read
      questions:
      - How does the app get a secure token for gift card or online ordering services?
      - Which services can the secure client token be requested for?
      instructions:
      - text: Fetch a secure client token for the {service} service.
        slots:
          service: path.service
      - text: Get a {service} token so I can buy a gift card in the app.
        slots:
          service: path.service
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api2/mobile/payments/client_token'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a payment gateway client token
      effect: read
      questions:
      - Where does the app get a client token to start a card payment?
      - Can I request a client token for a particular payment gateway?
      instructions:
      - text: Get a payment client token for gateway {gateway}.
        slots:
          gateway: requestBody.payment_gateway_name
      - text: Request a checkout client token for app client {client}.
        slots:
          client: requestBody.client
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api2/mobile/payments'].post
  update:
    x-apievangelist-phrasing:
      intent: Record an in-app payment
      effect: write
      questions:
      - How does the app record a payment after the guest enters their card?
      - Can a payment be tied to a membership program?
      instructions:
      - text: Record a payment using nonce {nonce}.
        slots:
          nonce: requestBody.payment_method_nonce
      - text: Pay for membership program {program} with payment nonce {nonce}.
        slots:
          program: requestBody.membership_program_id
          nonce: requestBody.payment_method_nonce
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api2/mobile/iframe_payments/new'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a PAR Pay card entry page for a token
      effect: read
      questions:
      - How does a guest save a payment card to buy or reload gift cards?
      - What does the PAR Pay token page return to the app?
      instructions:
      - text: Open the PAR Pay card entry page for app client {client}.
        slots:
          client: requestBody.client
      - text: Generate a PAR Pay token form so I can add my card.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/pos/payments'].put
  update:
    x-apievangelist-phrasing:
      intent: Mark a POS payment's status
      effect: write
      questions:
      - How does the POS tell the loyalty platform a payment is complete?
      - Which statuses can a POS set on a payment?
      instructions:
      - text: Set payment {payment_reference_id} to status {status}.
        slots:
          payment_reference_id: requestBody.payment_reference_id
          status: requestBody.status
      - text: Mark the {payment_type} payment for {email} as {status}.
        slots:
          payment_type: requestBody.payment_type
          email: requestBody.email
          status: requestBody.status
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/pos/payments'].post
  update:
    x-apievangelist-phrasing:
      intent: Charge a payment at the POS via single scan
      effect: write
      questions:
      - How does the POS charge a guest who scanned a single scan code?
      - Which receipt details must the POS send to create a payment?
      instructions:
      - text: Charge {amount} {currency_code} using single scan code {single_scan_code}.
        slots:
          amount: requestBody.amount
          currency_code: requestBody.currency_code
          single_scan_code: requestBody.single_scan_code
      - text: Create a {payment_type} payment for transaction {transaction_no}.
        slots:
          payment_type: requestBody.payment_type
          transaction_no: requestBody.transaction_no
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/pos/payments'].delete
  update:
    x-apievangelist-phrasing:
      intent: Void or cancel a POS payment
      effect: destructive
      questions:
      - How do I cancel a payment request that hasn't settled yet?
      - Can I void a payment by its transaction number?
      instructions:
      - text: Void payment {payment_reference_id}.
        slots:
          payment_reference_id: requestBody.payment_reference_id
      - text: Cancel the payment on transaction {transaction_no}.
        slots:
          transaction_no: requestBody.transaction_no
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/pos/payments/status'].get
  update:
    x-apievangelist-phrasing:
      intent: Check a POS payment's status
      effect: read
      questions:
      - Did the guest's payment succeed, or was it cancelled?
      - What should the POS do next based on a payment's status?
      instructions:
      - text: Get the status of payment {payment_reference_id}.
        slots:
          payment_reference_id: requestBody.payment_reference_id
      - text: Check payments from {payment_date} for reference {payment_reference_id}.
        slots:
          payment_date: requestBody.payment_date
          payment_reference_id: requestBody.payment_reference_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/pos/payments/refund'].post
  update:
    x-apievangelist-phrasing:
      intent: Refund a processed POS payment
      effect: destructive
      questions:
      - How do I refund a guest after their payment was accepted?
      - What identifiers are required to refund a POS payment?
      instructions:
      - text: Refund {payment_type} payment {payment_reference_id} on transaction {transaction_no}.
        slots:
          payment_type: requestBody.payment_type
          payment_reference_id: requestBody.payment_reference_id
          transaction_no: requestBody.transaction_no
      - text: Give the guest their money back for payment {payment_reference_id}.
        slots:
          payment_reference_id: requestBody.payment_reference_id
      method: generated
      generated: '2026-10-01'