Google Sheet Extension
PDF to Pass
Image to Pass
Updates the stamp / points count on a loyalty member's pass. This is the operation behind the scan-to-check-in QR code: scanning a member's pass opens a check-in screen that calls this endpoint. The pass artwork re-renders to the image for the new count, an optional push notification is sent, and the change is written to the Activity Log.
You don't need to know or send the member's current count. The server reads it and applies the change for you:
updatedCount to set an exact count instead. Applied only when present (e.g. correct a mistaken stamp, or grant a bonus).resetVisits: true to start the card over at its initial count (e.g. after the reward is redeemed).Only loyalty passes have a counter, so this endpoint is loyalty-specific. To change a normal dynamic pass member's details there is no counter — you simply edit their fields with Update User.
customerId returned by Add User and listed by List Users.All API requests must include your API key in the request headers:
"apikey": "your-api-key-here"
The body is optional. With no body, the check-in simply increments the member's count by +1.
| Name | Type | Required | Description |
|---|---|---|---|
| updatedCount | number | No | Set an exact (absolute) count on the pass. Applied only when sent; omit it to just add +1. |
| resetVisits | boolean | No | Set true to reset the card to its initial count (e.g. after the reward is redeemed). Logs the action as a reset. |
| notificationData | object | No | Optional push notification sent to the member's wallet on check-in. |
| heading | string | No | Notification title. |
| body | string | No | Notification body. |
A plain check-in — the server reads the current count and bumps it by +1 (e.g. 2 → 3):
curl -X PUT 'https://app.addtowallet.co/api/loyalty-pass/check-in/686d10e7c2f0bc5cdf25c84b' \
-H 'apikey: your-api-key-here' \
-H 'Content-Type: application/json' \
-d '{
"notificationData": {
"heading": "Thanks for visiting!",
"body": "One stamp closer to your reward."
}
}'Set an exact count instead with updatedCount:
curl -X PUT 'https://app.addtowallet.co/api/loyalty-pass/check-in/686d10e7c2f0bc5cdf25c84b' \
-H 'apikey: your-api-key-here' \
-H 'Content-Type: application/json' \
-d '{
"updatedCount": 4
}'Reset the card back to its initial count:
curl -X PUT 'https://app.addtowallet.co/api/loyalty-pass/check-in/686d10e7c2f0bc5cdf25c84b' \
-H 'apikey: your-api-key-here' \
-H 'Content-Type: application/json' \
-d '{
"resetVisits": true
}'On success the API confirms the update. The wallet pass is re-rendered with the image for the new count, and a visit entry is added to the activity log.
{
"message": "Updated pass successfully",
"previousCount": 2,
"updatedCount": 3
}Every check-in is recorded. Review a member's full history with the Activity Log endpoint.
| Error Code | Description |
|---|---|
| 400 | Bad Request - Invalid count value supplied. |
| 401 | Unauthorized - Missing or invalid API key. |
| 404 | Not Found - Customer or pass not found. |
| 429 | Too Many Requests - API rate limit exceeded. Please wait before making additional requests. |
| 500 | Internal Server Error - Unexpected error updating the pass. Please contact support. |