Punchh · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Mobile Payment Cards API

5 actions 5 updates phrasing extends openapi/punchh-payment-cards-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 5

$.info
$.paths['/api2/mobile/payment_cards'].get
$.paths['/api2/mobile/payment_cards'].post
$.paths['/api2/mobile/payment_cards/{payment_card_uuid}'].put
$.paths['/api2/mobile/payment_cards/{payment_card_uuid}'].delete

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 Mobile Payment Cards API
  version: 1.0.0
extends: openapi/punchh-payment-cards-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: 4
- target: $.paths['/api2/mobile/payment_cards'].get
  update:
    x-apievangelist-phrasing:
      intent: List a guest's saved payment cards
      effect: read
      questions:
      - Which credit cards has the guest saved in the app?
      - Does listing saved cards need the payment adapter and passcode?
      instructions:
      - text: List my saved payment cards for adapter {adapter_code}.
        slots:
          adapter_code: requestBody.adapter_code
      - text: Show the guest's stored cards using adapter {adapter_code} and passcode {passcode}.
        slots:
          adapter_code: requestBody.adapter_code
          passcode: requestBody.passcode
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api2/mobile/payment_cards'].post
  update:
    x-apievangelist-phrasing:
      intent: Save a payment card to the guest's app
      effect: write
      questions:
      - How does the app save a guest's credit card for future purchases?
      - Can a newly saved card be made the default payment method?
      instructions:
      - text: Save the card with token {transaction_token} via adapter {adapter_code}.
        slots:
          transaction_token: requestBody.transaction_token
          adapter_code: requestBody.adapter_code
      - text: Add card token {transaction_token} as {nickname} using {adapter_code} and make it preferred {preferred}.
        slots:
          transaction_token: requestBody.transaction_token
          nickname: requestBody.nickname
          adapter_code: requestBody.adapter_code
          preferred: requestBody.preferred
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api2/mobile/payment_cards/{payment_card_uuid}'].put
  update:
    x-apievangelist-phrasing:
      intent: Rename or set a saved card as default
      effect: write
      questions:
      - Can a guest change the nickname on a saved card?
      - How do I make a different saved card the preferred one?
      instructions:
      - text: Rename saved card {payment_card_uuid} to {nickname}.
        slots:
          payment_card_uuid: path.payment_card_uuid
          nickname: requestBody.nickname
      - text: 'Set saved card {payment_card_uuid} as preferred: {preferred}.'
        slots:
          payment_card_uuid: path.payment_card_uuid
          preferred: requestBody.preferred
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api2/mobile/payment_cards/{payment_card_uuid}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a saved payment card
      effect: destructive
      questions:
      - How does a guest remove a credit card they no longer use from the app?
      - Is the passcode required to delete a saved card?
      instructions:
      - text: Delete saved card {payment_card_uuid}.
        slots:
          payment_card_uuid: path.payment_card_uuid
      - text: Remove payment card {payment_card_uuid} from my app with passcode {passcode}.
        slots:
          payment_card_uuid: path.payment_card_uuid
          passcode: requestBody.passcode
      method: generated
      generated: '2026-10-01'