Booth scanner: enter the six digit PIN once to unlock this device
Wrong PINs only ever pause new unlocks of this one link (10 per 15 minutes, a hard lock after 50 in a day until an owner or admin rotates the PIN). Devices that are already unlocked keep working, and the venue's shared IP address is never what locks anyone out. Returns a device secret that the web app keeps in an httpOnly cookie.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/scan-links/unlock" \ -H "Content-Type: application/json" \ -d '{ "pin": "string" }'{ "deviceSecret": "string", "expiresAt": "2019-08-24T14:15:22Z"}Booth scanner: redeem a member voucher POST
Uses the same validation and redemption code as signed-in booth staff (stock, uses per member, collect-by, duplicate protection) plus a wrong-merchant and wrong-outlet check. Returns only the offer title, its validity and a status: never a member name, contact, health data or points. Limited per unlocked device, so a shared venue IP cannot lock anyone out.
Booth scanner: check a member voucher POST
Uses the same validation and redemption code as signed-in booth staff (stock, uses per member, collect-by, duplicate protection) plus a wrong-merchant and wrong-outlet check. Returns only the offer title, its validity and a status: never a member name, contact, health data or points. Limited per unlocked device, so a shared venue IP cannot lock anyone out.