titlerequiredSender name shown on the notification. Must be between 1 and 120 characters.
Holler webhook API
Create an alert in the Holler iPhone app, share its invite with friends, then publish notifications through its private webhook URL.
Copy the webhook URL from your alert and send JSON to it.
curl -X POST "https://holler-api.krill.workers.dev/v1/hooks/YOUR_PUBLISH_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: campground-upper-pines-2026-07-18" \
-d '{
"title": "Campground available",
"message": "Upper Pines opened for July 18",
"url": "https://www.recreation.gov/",
"image": "https://example.com/upper-pines.jpg"
}'
A valid event returns 202 Accepted after it is stored and queued. Notification delivery continues in the background.
The request body is intentionally small and fixed.
titlerequiredSender name shown on the notification. Must be between 1 and 120 characters.
messagerequiredNotification body. Must be between 1 and 500 characters.
urloptionalHTTPS destination opened when someone taps the notification. Maximum 2,000 characters.
imageoptionalPublic HTTPS JPEG, PNG, or GIF used as the circular sender avatar. Maximum 5 MB; image failures fall back to the default avatar.
Content-TyperequiredMust describe a JSON request body.
Idempotency-KeyrecommendedUp to 128 characters. Safe retries with the same key and payload return the original event.
Every API error uses the same JSON shape.
The event is stored and queued for subscribers.
Malformed JSON or invalid fields.
The request body is larger than 4 KB.
The webhook is unknown, rotated, deleted, or paused.
An idempotency key was reused with different content.
The webhook burst or creator daily limit was reached.
The service-wide daily safety limit was reached.
{
"error": {
"code": "bad_request",
"message": "Invalid notification",
"fields": { "title": ["Required"] }
}
}
Holler has one free product with fixed safety rails.
Holler's servers keep events and delivery diagnostics for about 24 hours for delivery processing. There is no server-side event history; each recipient's iPhone separately caches its own received notifications locally for 7 days.
Sharing and publishing use separate capabilities.
Only give this to the service publishing notifications. Rotate it immediately if it leaks.
Send these to friends. They can join the alert, but they cannot publish or manage it.
Holler has no accounts. The anonymous owner token and raw alert credentials stay in iOS SecureStore.
Each recipient’s iPhone downloads the image directly. The image host may observe recipient requests and IP addresses.