Punchh POS API

Punchh provides robust APIs for integrating POS (Point-of-Sale) terminals with its back end. The integration helps businesses to offer their customers loyalty programs directly from their POS systems. Published by PAR on the pos section of the PAR developer portal; 13 operations. Certification required.

Operations 15

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /api/pos/redemptions/possible Check if a redemption can apply to a check · Possible Redemptions (Redemptions 1.0) #
Ask an LLM
“Can the POS verify a reward will work on a check before redeeming it?”
“Why would a redemption check return a 422 at some locations?”
Tell an agent
Check whether redemption code {redemption_code} can apply to check {transaction_no}.
Verify reward {reward_id} is redeemable on a {receipt_amount} receipt before committing.
POST /api/pos/redemptions Redeem a reward or discount on a receipt · Create Redemption (Redemptions 1.0) #
Ask an LLM
“How does the POS redeem a guest's reward against a receipt in Redemptions 1.0?”
“Which guest identifiers can a POS redemption use?”
Tell an agent
Redeem {discount_type} {reward_id} on transaction {transaction_no}.
Apply redemption code {redemption_code} to the {receipt_amount} check for {email}.
DELETE /api/pos/redemptions Void one processed redemption · Void Redemption (Redemptions 1.0) #
Ask an LLM
“How do I undo a single redemption and give the offer back to the guest?”
“Are there time limits on voiding coupon redemptions?”
Tell an agent destructive · confirm first
Void redemption {redemption_id} on transaction {transaction_no}.
Cancel redemption code {redemption_code} and return the reward to {email}.
DELETE /api/pos/redemptions/multiple_destroy Void several redemptions at once · Void Multiple Redemptions (Redemptions 1.0) #
Ask an LLM
“Can the POS void multiple redemptions in one request?”
“What happens to the rewards when a batch of Redemptions 1.0 redemptions is voided?”
Tell an agent destructive · confirm first
Void all the redemptions {redemption_id} on check {transaction_no} together.
Bulk-cancel the redemptions for guest {email} on order {transaction_no}.
POST /api/pos/redemptions/applicable_offers List offers that apply to a check · Applicable Offers (Redemptions 1.0) #
Ask an LLM
“Which of a guest's offers apply to the items on their current check?”
“Can the POS ask what offers fit an order before choosing one to redeem?”
Tell an agent
List offers applicable to {email}'s {receipt_amount} check.
Find offers for {email} that fit these menu items: {menu_items}.
GET /api/pos/users/active_redemptions List a guest's active redemptions at the POS · Get Active Redemptions (Redemptions 1.0) #
Ask an LLM
“Which redemptions does a guest currently have open?”
“Can the POS look up active redemptions by phone number?”
Tell an agent
Show active redemptions for {email}.
Get the open redemptions for the guest with phone {phone}.
GET /api/pos/users/find Identify a guest at the POS · Find User (Redemptions 2.0) #
Ask an LLM
“How does the POS find a loyalty guest before applying Redemptions 2.0 discounts?”
“Which fields can I use to look a guest up at the register?”
Tell an agent
Find the guest whose {lookup_field} is {lookup_value}.
Look up the loyalty member by phone {lookup_value} at the POS.
POST /api/pos/discounts/auto_select Auto-fill a guest's discount basket · Auto Redemption (Redemptions 2.0) #
Ask an LLM
“Can discounts be queued into a guest's basket automatically at checkout?”
“Who decides which discounts auto-redemption picks?”
Tell an agent
Auto-select discounts for user {user_id} on a {receipt_amount} receipt.
Run auto-redemption for guest {user_id} with subtotal {subtotal_amount}.
POST /api/pos/discounts/lookup Look up a guest's discounts and lock the basket · Discount Look-up (Redemptions 2.0) #
Ask an LLM
“What discounts does a guest have available against this receipt?”
“How do I lock a guest's discount basket so another channel can't change it?”
Tell an agent
Look up discounts for user {user_id} against a {receipt_amount} receipt.
Check user {user_id}'s basket and lock it with external ID {external_uid}.
POST /api/pos/discounts/select Add discounts to a guest's basket · Add Selection to Discount Basket (Redemptions 2.0) #
Ask an LLM
“How does a cashier add a chosen reward to the guest's discount basket?”
“Can a guest have more than one active discount basket?”
Tell an agent
Add {items} to user {user_id}'s discount basket.
Select discounts {items} for guest {user_id} on locked basket {external_uid}.
DELETE /api/pos/discounts/unselect Remove discounts from a guest's basket · Remove Item From Discount Basket (Redemptions 2.0) #
Ask an LLM
“How do I take a discount back out of a guest's basket before checkout?”
“Can several discounts be removed from the basket in one call?”
Tell an agent destructive · confirm first
Remove basket items {item_ids} from user {user_id}'s basket.
Unselect discount {item_ids} for guest {user_id}.
POST /api/pos/batch_redemptions Commit the discount basket as a redemption · Batch Redemption Process (Redemptions 2.0) #
Ask an LLM
“How do I finalize the discounts in a guest's basket when the order is paid?”
“Does the batch redemption revalidate the receipt before committing?”
Tell an agent
Commit user {user_id}'s discount basket on a {receipt_amount} receipt.
Process batch redemption for guest {user_id} with line items {line_items}.
DELETE /api/pos/batch_redemptions/{redemption_ref} Void a committed discount basket · Void Redemption (Redemptions 2.0) #
Ask an LLM
“How do I reverse a whole Redemptions 2.0 batch redemption?”
“Where do I get the redemption reference needed to void a basket?”
Tell an agent destructive · confirm first
Void batch redemption {redemption_ref} for user {user_id}.
Reverse the committed basket {redemption_ref}.
GET /api/pos/discounts/active Get a guest's active discount basket · Get Active Discount Basket (Redemptions 2.0) #
Ask an LLM
“Which discounts has a guest already selected in their basket?”
“What happens to a basket discount that expires before checkout?”
Tell an agent
Show the active discount basket for user {user_id}.
Get guest {user_id}'s basket locked under {external_uid}.
PUT /api/pos/discounts/unlock Unlock a guest's discount basket · Unlock Discount Basket (Redemptions 2.0) #
Ask an LLM
“How do I release a locked discount basket so another channel can use it?”
“When does a discount basket need to be unlocked?”
Tell an agent
Unlock user {user_id}'s discount basket held by {external_uid}.
Release the basket lock {external_uid} for guest {user_id}.

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/punchh:punchh-pos-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

punchh-pos-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Punchh Pos API
  contact:
    name: Punchh Dev Support
    url: https://developers.punchh.com
  version: '1.0'
  description: 'Operations tagged Pos across 2 of this provider''s published API definitions: punchh-pos-redemptions-legacy-openapi.yml, punchh-pos-redemptions-v2-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://SERVER_NAME_GOES_HERE.punchh.com
tags:


# --- truncated at 32 KB (176 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/openapi/punchh-pos-api-openapi.yml