Docs π
Your webhooks can be found inside the app. The links you see in there already contain your secret. The examples below show monkeys π where your secret goes.
Feeling impatient? Skip ahead to Send test notification and make a device go brrr.
Your webhooks #
You have multiple webhooks: a shared one that sends to all of your devices at once, and a separate one for each individual device. Each webhook link contains a secret that authorizes requests. For example, a webhook link looks like this:
https://api.brrr.now/v1/br_usr_a1b2c3d4e5f6g7h8i9j0 The last part of the URL, br_usr_a1b2c3d4e5f6g7h8i9j0, is your secret. Anyone with this URL can send push notifications to your device, so treat it carefully.
Keep your secret private. If itβs ever exposed, you can easily rotate it in the app.
Send a simple push notification #
The easiest way to send a push notification is by sending a POST request to a webhook with a plain text body that'll be displayed in the notification body.
curl -X POST https://api.brrr.now/v1/ππππππππππ \
-d 'Hello world! π' In addition to using POST, you can also send notifications with simple HTTP GET requests. This makes quick testing in a browser easy and helps when your client has limited HTTP support.
GET supports the same parameters as POST, passed as query parameters instead of in the request body.
https://api.brrr.now/v1/ππππππππππ?message=Hello%20world%21%20%F0%9F%9A%80&title=Quick%20test Send JSON to customize #
Send a JSON request body to customize the alert, for example, to include a title, a grouping thread ID, a non-default sound, or an expiration date.
curl -X POST https://api.brrr.now/v1/ππππππππππ \
-H 'Content-Type: application/json' \
-d '{
"message": "The coffee machine is currently unreachable. Morale is expected to drop.",
"title": "Coffee Machine Offline",
"thread_id": "ops-coffee",
"sound": "upbeat_bells",
"expiration_date": "2026-04-23T09:00:00.000Z"
}' The JSON request body may contain any of the following fields.
titlesubtitlemessagethread_idsounddefault, system, or one of: brrr, bell_ringing, bubble_ding, bubbly_success_ding, cat_meow, calm1, calm2, cha_ching, dog_barking, door_bell, duck_quack, short_triple_blink, upbeat_bells, warm_soft_error. Only supported on iPhone and iPad.open_urlimage_urlexpiration_datefilter_criteriainterruption_levelpassive adds the notification to the system's notification list without lighting up the screen or playing a sound. active presents the notification, lights up the screen, and can play a sound. time-sensitive presents the notification immediately, lights up the screen, can play a sound, and breaks through controls such as Notification Summary and Focus.Sending the key in the Authorization header #
If you prefer, you can use the /v1/send endpoint and send the same webhook key in the Authorization header instead of placing it in the URL.
curl -X POST https://api.brrr.now/v1/send \
-H 'Authorization: Bearer ππππππππππ' \
-d 'Hello world! π' This can be a better fit when your request passes through other systems, because URLs are commonly logged and putting the key in the header reduces the risk of it ending up in logs.
Send test notification #
Compose a test notification, send it to your own devices, and use the generated cURL command and JSON below when youβre ready to plug it into your own workflow.
curl -X POST https://api.brrr.now/v1/ππππππππππ \
-H 'Content-Type: application/json' \
-d '{
"message": "Hello world! π"
}'