What it does
This module records badge check-ins. It’s intentionally narrow: you provide the scanned QR payload and an optional location label.
If the badge is revoked or unknown, you’ll get a clear error.
Scopes
- badges:write – required
Best practice: kiosk keys should have only this scope.
Check-in
POST
/api/public/v1/badges/checkinSDK
ts
cURL
bash
Duplicate scans
If the same badge is scanned again, the API returns 409 with a payload like:{ ok: false, duplicate: true }. In a kiosk, treat that as "already checked in" (not an error).
Recommended handling
ts
Kiosk tips
Fast feedback
Always show a clear green/red result. Kiosk UIs should not display raw JSON.
Timeouts
Use a short timeout and retry once. If the network is down, don’t block the queue.