In-store activation
A customer picks up a physical card in a store, already printed with a code. Scanning or entering it leads them straight into the recording journey — single container, one message — without them ever seeing a form asking who they are.
Prerequisites
A code group set up for your batch of pre-printed codes — see Code groups.
List your code groups
Confirm the code group your batch of pre-printed codes belongs to. It requires the code_groups:read scope.
curl https://client-api.v5.livstick.com/api/v3/code-groups \
-H "Authorization: Bearer {ACCESS_TOKEN}"
Create the container ahead of time
Create the container before the code is printed, with codeGroup set to the batch it belongs to. crid is the reference you already track for that physical code.
curl -X POST https://client-api.v5.livstick.com/api/v3/containers \
-H "Authorization: Bearer {ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{ "crid": "CARD-001", "codeGroup": "in-store-batch-2026", "language": "en_us" }'
Resolve the code at activation
When the code is scanned or entered, resolve it to the recording journey with the same crid. This call is strictly read-only — an unknown crid returns 404 rather than creating a container on the fly.
curl https://client-api.v5.livstick.com/api/v3/containers/{crid}/redirect \
-H "Authorization: Bearer {ACCESS_TOKEN}"
Next steps
This page covers the mechanism the API exposes — the batch, the code, the resolve call. The in-store product journey built on top of it (the screens a customer or a staff member sees, the physical support, who does what at the counter) is not yet settled, and will be documented once it is.