POST /api/end
Remove one or more activities from the phone.
An end removes the card immediately, with no sound. To leave a final design on screen, send it as an update and end the activity later. Targets work the same way as update.
The record is kept, so an update with restart: true can bring the card back. The free plan limit never blocks an end.
By activity id
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 '{ "activityId": "act-8f2cqa4mx7rd", "widgetContainerId": "acme-orders" }'
By multiple activity ids
1 2 3 4 5 6 7 8 9 10
curl -X POST https://api.webliveactivity.com/api/end \ -H 'Content-Type: application/json' \ -H 'x-api-key: wla_your_key' \ -d '{ "activityIds": [ "act-8f2cqa4mx7rd", "act-9k4d2bwh6tne" ], "widgetContainerId": "acme-orders" }'
By group
Ends every activity in the group with one call.
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": "order-tracker", "widgetContainerId": "acme-orders" }'
Save a final state
finalState merges into the saved state, like an update. The card does not show it. A later restart starts from it.
1 2 3 4 5 6 7 8 9 10 11 12
curl -X POST https://api.webliveactivity.com/api/end \ -H 'Content-Type: application/json' \ -H 'x-api-key: wla_your_key' \ -d '{ "activityId": "act-8f2cqa4mx7rd", "widgetContainerId": "acme-orders", "finalState": { "primaryText": "Delivered", "progress": 1, "isComplete": true } }'
Response
Returns { ok, targeted, unknown }, the same as update.
1 2 3 4 5
{ "ok": true, "targeted": 1, "unknown": [] }









