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.

Bash
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.

Bash
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.

title
String. First line of the notification, if present.
subtitle
String. Line under the title, if present.
message
String. Primary content of the notification.
thread_id
String. Optional identifier used to group related notifications together in Notification Center.
sound
String. Use default, 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_url
String. Link to open when the notification is selected.
image_url
String. Link to an image to be displayed in the notification.
expiration_date
ISO 8601 date and time. In case the notification isn't successfully delivered when the webhook is invoked, Apple Push Notification Service may retry until the expiration date is reached.
filter_criteria
String. Optional criterion used to match a Focus filter on the device. If the device’s active Focus allows this criterion, the notification can be shown. Focus filtering must be configured on the device.
interruption_level
String. Omit this field to use the system default behavior. passive 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.

Bash
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.

Bash
curl -X POST https://api.brrr.now/v1/πŸ™ˆπŸ™ˆπŸ™ˆπŸ™ˆπŸ™ˆπŸ™ˆπŸ™ˆπŸ™ˆπŸ™ˆπŸ™ˆ \
  -H 'Content-Type: application/json' \
  -d '{
    "message": "Hello world! πŸš€"
}'