Skip to content
Livstick Developers

Prerequisites

An access token provided by the Livstick team, and a step in your fulfillment pipeline that can call the API and pass an asset to your card printing or packing process. If you don’t have a token yet, request developer access.

Create the container at checkout

Same as any single-message container: one crid, one message. Capture editKey from the response now — it is returned only at creation.

POST /containers
curl -X POST https://client-api.v5.livstick.com/api/v3/containers \
  -H "Authorization: Bearer {ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "crid": "ORDER-456",
    "language": "en_us"
  }'

Mount the Recorder on your confirmation page

Pass the urid and editKey from the container you just created. The customer records their video before leaving the page — no recipient contact is needed for this path, since delivery happens through the parcel, not through Livstick.

HTML order confirmation page
<livstick-widget-v2
  uid="{urid from step 1}"
  domain="example.com"
></livstick-widget-v2>
<script>
  const widget = document.querySelector("livstick-widget-v2");
  widget.editKey = "{editKey from step 1}";
</script>

Fetch the QR code or the printable card

Pull the raw QR as a PNG if you are laying out your own card, or the ready-made PDF if you want Livstick’s card design — its printed text follows the language you set on the container. Either way, the QR always encodes the recipient-facing read URL, never a preview link. Generate the asset once your fulfillment pipeline has the crid, and hand it to whichever process prints or inserts the card — its content does not change afterwards.

GET /containers/{crid}/qrcode
curl https://client-api.v5.livstick.com/api/v3/containers/ORDER-456/qrcode \
  -H "Authorization: Bearer {ACCESS_TOKEN}" \
  --output qrcode.png

# or, for the ready-made PDF card:
curl https://client-api.v5.livstick.com/api/v3/containers/ORDER-456/card \
  -H "Authorization: Bearer {ACCESS_TOKEN}" \
  --output card.pdf

Unlock the message once the card ships

Once the card is in the parcel and on its way, call unlock — not notify. Here you are the one carrying delivery, through the physical card rather than through a message Livstick sends; unlock is what makes the message accessible to whoever scans the code.

POST /containers/{crid}/unlock
curl -X POST https://client-api.v5.livstick.com/api/v3/containers/ORDER-456/unlock \
  -H "Authorization: Bearer {ACCESS_TOKEN}"

Where this fits in your fulfillment chain

Generate the QR or card asset as soon as the container exists — you do not need to wait for the video to be recorded, and the asset’s content will not change later, so it is safe to print and pack ahead of shipment. See how unlock and notify differ, and when each one is the right call, on the delivery concept page.