Quick Start
Send your first push notification in two API calls.
1. Start a notification channel
Create a channel by posting a group name. This mints a join code users scan to subscribe.
1 2 3 4 5 6 7 8 9 10 11 12
curl -X POST https://api.webliveactivity.com/api/push/start \ -H 'Content-Type: application/json' \ -H 'x-api-key: wla_your_key' \ -d '{ "group": "order-updates", "pushGroupId": "my-push-group", "brand": { "name": "Acme", "url": "https://acme.example", "logo": "https://acme.example/logo.png" } }'
The response includes a groupId you will use to target sends.
2. Let users join
Surface a join link so users can subscribe. The easiest way is the embed button, pointed at the group's groupId:
1 2 3 4 5 6
<iframe src="https://webliveactivity.com/embed/button?type=notify&userId=pg-your-group-id" width="340" height="95" style="border:0;color-scheme:light"> </iframe>
The frame is transparent, so the button sits on whatever your page already has behind it. Add &theme=dark when that surface is dark, and match the tag's color-scheme to it (style="border:0;color-scheme:dark"). That turns the "Powered By" line under the button white and keeps the background transparent; the button itself is untouched either way.
Or show a QR code users can scan from the Web Activities app.
3. Send a notification
Post a message to the group. Every subscribed device receives it.
1 2 3 4 5 6 7 8 9 10 11 12
curl -X POST https://api.webliveactivity.com/api/push/send \ -H 'Content-Type: application/json' \ -H 'x-api-key: wla_your_key' \ -d '{ "group": "Acme Orders", "pushGroupId": "acme-orders", "title": "Your order shipped!", "subtitle": "Order #1234", "message": "Your package is on the way. Expected delivery: tomorrow by 5 PM.", "imageUrl": "https://acme.example/shipped.png", "actionURL": "https://acme.example/orders/1234" }'
| Field | Meaning |
|---|---|
group | The push group's display name. Required. |
pushGroupId | Any string identifying the push group, unique to your team. Required. |
title | The bold first line. One of title or message is required. |
subtitle | The line under the title. Optional. |
message | The body copy. One of title or message is required. |
imageUrl | A picture attached to the notification. Optional. |
actionURL | The page a tap opens, an http(s) URL. Optional; without it a tap opens the group in the app. |
Sending is billed the same way as Live Activity updates. The free tier includes 10,000 requests per month.









