One button, many phones
Give one launch button to many people: a stadium, a class, a fundraiser.
An activity belongs to the first phone that opens it. Other phones get an error. With reuse: true, each phone that opens the button gets its own copy of the activity.
Start with reuse
Send reuse: true and a group. The group is how one call reaches every copy.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
curl -X POST https://api.webliveactivity.com/api/start \ -H 'Content-Type: application/json' \ -H 'x-api-key: wla_your_key' \ -d '{ "widgetContainerId": "lincoln-vs-central-2026-10-23", "group": "lincoln-vs-central", "reuse": true, "brand": { "title": "Lincoln vs Central", "name": "Lincoln High" }, "state": { "layout": "versus", "primaryText": "Kickoff at 7 PM", "secondaryText": "Lincoln vs Central", "versus": { "leftName": "Lincoln", "rightName": "Central", "leftScore": "0", "rightScore": "0" } } }'
Put the button where people are
Put links.iframe on a web page. For a poster, a flyer, or a stadium gate, print a QR code of that page's address. People scan the code, then tap the button.
See who joined
Each copy has its own activityId. It arrives in the active webhook when a phone joins.
Update everyone
Send the group and the widgetContainerId. Every copy changes.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
curl -X POST https://api.webliveactivity.com/api/update \ -H 'Content-Type: application/json' \ -H 'x-api-key: wla_your_key' \ -d '{ "group": "lincoln-vs-central", "widgetContainerId": "lincoln-vs-central-2026-10-23", "state": { "primaryText": "Lincoln scores!", "secondaryText": "Lincoln 7, Central 0", "versus": { "leftScore": "7" } } }'
End everyone
1 2 3 4 5 6 7
curl -X POST https://api.webliveactivity.com/api/end \ -H 'Content-Type: application/json' \ -H 'x-api-key: wla_your_key' \ -d '{ "group": "lincoln-vs-central", "widgetContainerId": "lincoln-vs-central-2026-10-23" }'
Rules
- The
activityIdthat start returns is a template. It never reaches a phone. Group updates also update the template, so phones that join later start with the latest state. - A reuse button cannot be turned off. Ending the copies does not stop it. To stop new phones joining, remove the button and the QR code.
- A phone keeps one activity per container. If it already has one from the same container, the app asks the user to keep it or replace it. For an event that repeats, such as a game every week, use a new
widgetContainerIdfor each event.









