Show a message with the Viewer
Look up a message that has already been recorded, confirm it is released, then hand its URL to your destination experience.
Prerequisites
A container whose Recorder step is already complete, and its crid — see Embed the Recorder widget.
Look up the container
GET /containers/{crid} (scope containers:read) returns the container’s current state alongside the message’s state — pending_release, released, delivery_triggered, or unknown.
curl https://client-api.v5.livstick.com/api/v3/containers/{crid} \
-H "Authorization: Bearer {ACCESS_TOKEN}"
Confirm the message is released
If you already track the message’s own id, GET /messages/{messageId} (scope messages:read) returns its full detail, including the same state field. Only move on once state is released.
curl https://client-api.v5.livstick.com/api/v3/messages/{messageId} \
-H "Authorization: Bearer {ACCESS_TOKEN}"
Retrieve the playable URL
GET /containers/{crid}/url (scope containers:read) returns recordingUrl and previewUrl for the container.
curl https://client-api.v5.livstick.com/api/v3/containers/{crid}/url \
-H "Authorization: Bearer {ACCESS_TOKEN}"
Present it in your destination experience
recordingUrl is a complete, shareable link — hand it directly to whatever surface displays the message, as a plain link or embedded in your own page.
<a href="{recordingUrl}">Watch the message</a>
Next steps
To see how containers, codes, and messages relate — and why a message can only be shown once it is released — read “Containers and messages.”