POST /api/branding
Change the brand on activities that are already running.
The start call sets the brand once; this updates it afterwards. Sending title renames the activity itself. Only the fields you send change: an omitted or empty field keeps its stored value, so a blank never clears a name. It writes the stored record and does not push: the new brand shows the next time the app reads the activity, and the call is not billed.
By activity id
1 2 3 4 5 6 7 8 9 10 11 12
curl -X POST https://api.webliveactivity.com/api/branding \ -H 'Content-Type: application/json' \ -H 'x-api-key: wla_your_key' \ -d '{ "activityId": "act-8f2c1a", "widgetContainerId": "acme-orders", "brand": { "title": "Order #1234 (updated)", "name": "Acme v2", "description": "Now with faster delivery" } }'
By group
1 2 3 4 5 6 7 8 9 10 11
curl -X POST https://api.webliveactivity.com/api/branding \ -H 'Content-Type: application/json' \ -H 'x-api-key: wla_your_key' \ -d '{ "group": "order-tracker", "widgetContainerId": "acme-orders", "brand": { "logo": "https://acme.example/seasonal-logo.png", "color": "#E8372C" } }'
By container
Set widgetContainerId alone (no activityId or group) to re-brand every activity in the container.
1 2 3 4 5 6 7 8 9 10
curl -X POST https://api.webliveactivity.com/api/branding \ -H 'Content-Type: application/json' \ -H 'x-api-key: wla_your_key' \ -d '{ "widgetContainerId": "acme-orders", "brand": { "logo": "https://acme.example/logo-v2.png", "color": "#06C167" } }'
Response
Returns { ok, targeted, unknown }: how many activities were re-branded, and any ids that did not resolve.
1 2 3 4 5
{ "ok": true, "targeted": 12, "unknown": [] }
Examples
Full brand update
Every brand field at once.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
curl -X POST https://api.webliveactivity.com/api/branding \ -H 'Content-Type: application/json' \ -H 'x-api-key: wla_your_key' \ -d '{ "widgetContainerId": "acme-orders", "brand": { "title": "Acme Fresh Order", "name": "Acme Fresh", "url": "https://fresh.acme.example", "logo": "https://fresh.acme.example/logo.png", "description": "Fresh groceries, delivered fast", "color": "#2ECC71" } }'
The display name (title) and the cover's logo, description, and color show on the app's next open, no restart needed. The brand name and site on a card already on screen are baked into its attributes and stay put until it restarts. To recolor the live widget surface, send state.accentColorHex through update.









