Skip to content

Features

One event. The right channel.

Boson stores the notification, routes it through a registered channel handler, and delivers in-app over a WebSocket. Email, SMS, and push use the same event once a provider is configured.
Multi-channel routing

Route events to email, SMS, push, and in-app from a single API.

Delivery logging

Every attempt lands in the activity log with status and metadata.

Real-time webhooks

Push delivery updates to your own systems with HMAC-SHA256 signing.

Environments

Separate keys and settings per environment. Playground stays out of prod.

Plugin architecture

Each channel is a handler. Add new channels without touching core.

Rate limiting

Per-tenant and per-channel rate limits keep your queues healthy.

Channels

The API accepts all four. Delivery depends on the channel.

Live
In-app

Stored for the inbox and pushed to connected subscribers over a WebSocket.

Provider required
Email

Accepted by the API. Sends when an email provider is configured for the workspace.

Provider required
SMS

Accepted by the API. Sends when Twilio credentials are configured.

Provider required
Push

Accepted by the API. Sends when Firebase Cloud Messaging is configured.

Handlers, not a fork

The worker keeps a registry of channel handlers. An event names a channel, the worker looks up that handler, and the handler delivers. In-app writes the inbox and publishes on Redis for the WebSocket. Email, SMS, and push call their provider when credentials are present.

Send an event

Every route except health expects the workspace key in the x-api-key header. This example writes an in-app notification.

curl -X POST https://api.getboson.com/v1/events \
  -H "content-type: application/json" \
  -H "x-api-key: $BOSON_API_KEY" \
  -d '{
    "channel": "in_app",
    "subscriberId": "user_123",
    "title": "Deploy finished",
    "body": "api-7f3c is live"
  }'

Start sending notifications today

Free tier available. No credit card required.