Punchh · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Mobile Gift Cards API
16 actions
16 updates
phrasing
extends
openapi/punchh-gift-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.
What the actions change
x-apievangelist-phrasing
Targets 16
$.info
$.paths['/api2/mobile/gift_cards/purchase'].post
$.paths['/api2/mobile/gift_cards/{uuid}/reload'].post
$.paths['/api2/mobile/gift_cards'].post
$.paths['/api2/mobile/gift_cards/{uuid}'].put
$.paths['/api2/mobile/gift_cards/{uuid}'].delete
$.paths['/api2/mobile/gift_cards/'].get
$.paths['/api2/mobile/gift_cards/{uuid}/balance'].get
$.paths['/api2/mobile/gift_cards/{uuid}/history'].get
$.paths['/api2/mobile/gift_cards/{uuid}/transfer'].post
$.paths['/api2/mobile/gift_cards/{uuid}/share'].post
$.paths['/api2/mobile/gift_cards/{uuid}/revoke'].delete
$.paths['/api2/mobile/gift_cards/gift'].post
$.paths['/api2/mobile/gift_cards/{uuid}/consolidate'].patch
$.paths['/api2/mobile/gift_cards/{uuid}/tip'].post
$.paths['/api2/mobile/gift_cards/{uuid}/epin'].get
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Mobile Gift Cards API
version: 1.0.0
extends: openapi/punchh-gift-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: 15
- target: $.paths['/api2/mobile/gift_cards/purchase'].post
update:
x-apievangelist-phrasing:
intent: Buy a new gift card in the app
effect: write
questions:
- How does a guest buy a brand-new gift card for themselves in the app?
- Is there a minimum amount for purchasing a gift card?
instructions:
- text: Buy a {amount} gift card with design {design_id}.
slots:
amount: requestBody.amount
design_id: requestBody.design_id
- text: Purchase a {amount} gift card using saved card {transaction_token}.
slots:
amount: requestBody.amount
transaction_token: requestBody.transaction_token
method: generated
generated: '2026-10-01'
- target: $.paths['/api2/mobile/gift_cards/{uuid}/reload'].post
update:
x-apievangelist-phrasing:
intent: Add funds to an existing gift card
effect: write
questions:
- Can a guest top up the balance on a gift card they already have?
- Can I reload a gift card using a saved payment card?
instructions:
- text: Reload gift card {uuid} with {amount}.
slots:
uuid: path.uuid
amount: requestBody.amount
- text: Top up gift card {uuid} by {amount} using saved card {transaction_token}.
slots:
uuid: path.uuid
amount: requestBody.amount
transaction_token: requestBody.transaction_token
method: generated
generated: '2026-10-01'
- target: $.paths['/api2/mobile/gift_cards'].post
update:
x-apievangelist-phrasing:
intent: Add a physical gift card to the app
effect: write
questions:
- How can a guest load a plastic gift card into their app wallet?
- Does importing a physical card need its security PIN?
instructions:
- text: Import physical gift card {card_number} with PIN {epin}.
slots:
card_number: requestBody.card_number
epin: requestBody.epin
- text: Add my plastic gift card {card_number} to the app and name it {name}.
slots:
card_number: requestBody.card_number
name: requestBody.name
method: generated
generated: '2026-10-01'
- target: $.paths['/api2/mobile/gift_cards/{uuid}'].put
update:
x-apievangelist-phrasing:
intent: Rename a gift card or set auto-reload
effect: write
questions:
- Can a guest turn on auto-reload when their gift card balance gets low?
- How do I make one gift card the preferred card in the app?
instructions:
- text: Rename gift card {uuid} to {name}.
slots:
uuid: path.uuid
name: requestBody.name
- text: 'Turn on auto-reload for gift card {uuid}: add {default_amount} when the balance drops below {threshold_amount}.'
slots:
uuid: path.uuid
default_amount: requestBody.default_amount
threshold_amount: requestBody.threshold_amount
method: generated
generated: '2026-10-01'
- target: $.paths['/api2/mobile/gift_cards/{uuid}'].delete
update:
x-apievangelist-phrasing:
intent: Remove a gift card from the guest's app
effect: destructive
questions:
- Can a guest hide a gift card from their app without deleting it from the system?
- What does the business see after a guest removes a gift card?
instructions:
- text: Remove gift card {uuid} from my app.
slots:
uuid: path.uuid
- text: Delete gift card {uuid} from the guest's wallet.
slots:
uuid: path.uuid
method: generated
generated: '2026-10-01'
- target: $.paths['/api2/mobile/gift_cards/'].get
update:
x-apievangelist-phrasing:
intent: List a guest's active gift cards
effect: read
questions:
- Which gift cards does the guest currently have in their app?
- Is a passcode needed to see a guest's gift cards?
instructions:
- text: List my active gift cards using passcode {passcode}.
slots:
passcode: requestBody.passcode
- text: Show all gift cards in the guest's wallet; passcode is {passcode}.
slots:
passcode: requestBody.passcode
method: generated
generated: '2026-10-01'
- target: $.paths['/api2/mobile/gift_cards/{uuid}/balance'].get
update:
x-apievangelist-phrasing:
intent: Check a gift card's balance
effect: read
questions:
- How much money is left on a particular gift card?
- Can I look up the current balance and details of one gift card?
instructions:
- text: Check the balance of gift card {uuid}.
slots:
uuid: path.uuid
- text: How much is left on gift card {uuid}? Show me.
slots:
uuid: path.uuid
method: generated
generated: '2026-10-01'
- target: $.paths['/api2/mobile/gift_cards/{uuid}/history'].get
update:
x-apievangelist-phrasing:
intent: View a gift card's transaction history
effect: read
questions:
- Where can a guest see past purchases and reloads on a gift card?
- Can I pull the transaction history of a single gift card?
instructions:
- text: Show the transaction history for gift card {uuid}.
slots:
uuid: path.uuid
- text: List every charge and reload on gift card {uuid}.
slots:
uuid: path.uuid
method: generated
generated: '2026-10-01'
- target: $.paths['/api2/mobile/gift_cards/{uuid}/transfer'].post
update:
x-apievangelist-phrasing:
intent: Transfer a gift card or part of its balance
effect: write
questions:
- Can a guest send part of a gift card balance to a friend?
- How do I hand over an entire gift card to another user by email?
instructions:
- text: Transfer {amount} from gift card {uuid} to {recipient_email}.
slots:
amount: requestBody.amount
uuid: path.uuid
recipient_email: requestBody.recipient_email
- text: Give the whole gift card {uuid} to the user with phone {recipient_phone}.
slots:
uuid: path.uuid
recipient_phone: requestBody.recipient_phone
method: generated
generated: '2026-10-01'
- target: $.paths['/api2/mobile/gift_cards/{uuid}/share'].post
update:
x-apievangelist-phrasing:
intent: Share a gift card with another user
effect: write
questions:
- Can two people use the same gift card from their own apps?
- How does a guest share their gift card with a family member?
instructions:
- text: Share gift card {uuid} with {recipient_email}.
slots:
uuid: path.uuid
recipient_email: requestBody.recipient_email
- text: Let the user with phone {recipient_phone} use gift card {uuid} too.
slots:
recipient_phone: requestBody.recipient_phone
uuid: path.uuid
method: generated
generated: '2026-10-01'
- target: $.paths['/api2/mobile/gift_cards/{uuid}/revoke'].delete
update:
x-apievangelist-phrasing:
intent: Stop sharing a gift card with someone
effect: destructive
questions:
- How do I take back access to a gift card I shared with someone?
- Can a guest revoke another user's sharing rights on a gift card?
instructions:
- text: Revoke {sharer_email}'s access to gift card {uuid}.
slots:
sharer_email: requestBody.sharer_email
uuid: path.uuid
- text: Stop sharing gift card {uuid} with {sharer_email}.
slots:
uuid: path.uuid
sharer_email: requestBody.sharer_email
method: generated
generated: '2026-10-01'
- target: $.paths['/api2/mobile/gift_cards/gift'].post
update:
x-apievangelist-phrasing:
intent: Buy a gift card as a gift for someone
effect: write
questions:
- Can a guest buy a gift card and send it straight to a friend?
- What do I need to send someone a gift card by phone number?
instructions:
- text: Send a {amount} gift card to {recipient_email}.
slots:
amount: requestBody.amount
recipient_email: requestBody.recipient_email
- text: Gift a {amount} card with design {design_id} to phone {recipient_phone}.
slots:
amount: requestBody.amount
design_id: requestBody.design_id
recipient_phone: requestBody.recipient_phone
method: generated
generated: '2026-10-01'
- target: $.paths['/api2/mobile/gift_cards/{uuid}/consolidate'].patch
update:
x-apievangelist-phrasing:
intent: Merge one gift card's balance into another
effect: destructive
questions:
- Can a guest combine two gift cards into one balance?
- What happens to the source gift card after its balance is consolidated?
instructions:
- text: Move the full balance of gift card {source_card} into gift card {uuid}.
slots:
source_card: requestBody.source_card
uuid: path.uuid
- text: Consolidate {source_card} into {uuid} for the user with token {access_token}.
slots:
source_card: requestBody.source_card
uuid: path.uuid
access_token: requestBody.access_token
method: generated
generated: '2026-10-01'
- target: $.paths['/api2/mobile/gift_cards/{uuid}/tip'].post
update:
x-apievangelist-phrasing:
intent: Leave a tip using a gift card
effect: write
questions:
- Can a guest pay a tip on their order with a gift card?
- Is a gift card tip limited by the card's balance?
instructions:
- text: Tip {tip} on check-in {checkin_id} using gift card {uuid}.
slots:
tip: requestBody.tip
checkin_id: requestBody.checkin_id
uuid: path.uuid
- text: Leave a {tip} gratuity from gift card {uuid} for order {checkin_id}.
slots:
tip: requestBody.tip
uuid: path.uuid
checkin_id: requestBody.checkin_id
method: generated
generated: '2026-10-01'
- target: $.paths['/api2/mobile/gift_cards/{uuid}/epin'].get
update:
x-apievangelist-phrasing:
intent: Get a gift card's EPIN
effect: read
questions:
- Where does a guest find the security PIN for their digital gift card?
- Does retrieving a gift card EPIN require the app passcode?
instructions:
- text: Show the EPIN for gift card {uuid}.
slots:
uuid: path.uuid
- text: Get the security PIN of gift card {uuid} with passcode {passcode}.
slots:
uuid: path.uuid
passcode: requestBody.passcode
method: generated
generated: '2026-10-01'