Get Access Code (Redemptions 2.0)
This API returns the single-scan code containing a UUID string in the API response. The loyalty user can use the single-scan code to pay, earn, and redeem a reward/offer with a single scan at the POS store. The value of the single_scan_code parameter returned in the API response can then be passed as the otp (one-time passcode) with the lookup_field parameter in the request of the Find User POS API. The OTP is a short-lived token generated via mobile app to securely identify guest users at the POS. The token expiration can be configured in the Punchh platform (contact your Punchh representative for more information). A user can generate only one token at a time. Each token is 6-34 alphanumeric characters.
Note: This mobile API endpoint (POST {server-name}/api2/mobile/single_scan_tokens) used for Redemptions 2.0 is the same as the Generate a Single Scan Code mobile API endpoint. When using this API with Redemptions 2.0, the following offers parameters must NOT be included with the request body:
reward_idredeemable_idbanked_reward_amountcouponredeemable_card_count
- Type: string
Accept requiredAdvertises which content types the client is able to understand
- Type: string
Authorization requiredUsed to authorize the request with access_token. It should be supplied as
Bearer ACCESS_TOKEN_GOES_HERE. Note: When authentication is performed using Advanced Authentication, you must include theid_tokenin theid-tokenheader and theaccess_tokenin theAuthorizationheader. See Access Punchh APIs Using Access and ID tokens - Type: string
User - Agent requiredUsed to Identify the software, device, and application initiating the request, providing information about the client to the server. For details, see User Agent.
- Type: string
punchh -app -device -id requiredThe app device ID helps Punchh identify each device so that certain rewards can be awarded individually to each device instead of per user. For example, the sign-up reward is given to each device ID to prevent fraudulent sign-ups so that a user cannot do repeated sign-ups from a single device to get rewards. It should not change even if the user resets a device. See the sample code to generate the punchh-app-device-id header.
- Type: string
Content - Type requiredSet this header to application/json.
- Type: string
x -pch -digest requiredThe signature for the API call
- Type: string
id -token A token that contains identity information about the authenticated user. It is used to verify the user’s identity and is required only when authentication is performed using Advanced Authentication. This token alone does not grant access to Punchh APIs. To access the APIs, you must include the
id_tokenin theid-tokenheader and theaccess_tokenin theAuthorizationheader. See Access Punchh APIs Using Access and ID tokens
- Type: string
client requiredOAuth client ID provided by the business
- Type: string
gift _card _uuid Identification number for gift card
- Type: string
payment _type Method of payment. Accepted values:
CreditCardandGiftCard - Type: string
tip Discretionary amount for tipping
- Type: object
200 - Type: stringFormat: date-time
created _at Token creation timestamp, in YYYY-MM-DDThh:mm:ss format
- Type: stringFormat: date-time
expires _in Token expiration timestamp, in YYYY-MM-DDThh:mm:ss format. The token TTL (time to live) is 5-10 minutes.
- Type: string
single _scan _code 6-digit token (one time authentication code)
- Type: object
400 - Type: object
422
{
"expires_in": "2025-12-19T16:30:02.130Z",
"created_at": "2025-12-19T16:30:02.130Z",
"single_scan_code": "string"
}