canonical: https://jentic.com/apis/magicbell.com/magicbell

# MagicBell API

The MagicBell API sends notifications and manages the channels they reach. It creates and lists broadcasts, and registers, reads, and deletes delivery tokens for mobile push through APNs, FCM, and Expo, for web push, for the in-app inbox, and for Slack and Teams. Responses are JSON, so an agent can send a broadcast and manage where a user receives notifications without building its own delivery infrastructure.

## For AI agents

Create and list broadcasts and manage push, web, in-app, Slack, and Teams delivery tokens.

## Scope

Sends broadcasts and manages delivery tokens through MagicBell; it does not author notification templates or configure channel providers, which are set up in the MagicBell dashboard.

## Capabilities

- Create and list broadcasts
- Register and delete APNs, FCM, and Expo push tokens
- Manage web push tokens
- Manage in-app inbox tokens
- Manage Slack and Teams channel tokens
- Read a broadcast by its identifier

## Use cases

### Send a broadcast

Reaching many users with one message is a common notification need. The MagicBell API creates a broadcast and lists prior broadcasts, so an application can send an announcement and review what was sent. Each broadcast can be fetched by its identifier for follow-up.

Example prompt: Create a broadcast and confirm it was sent.

### Register device push tokens

Delivering push to a device requires the right token. The MagicBell API saves and deletes tokens for APNs, FCM, and Expo, so an application can keep a user's devices current for mobile push. Listing tokens lets it audit which devices are registered.

Example prompt: Save the supplied device push token for the user.

### Manage channels a user receives on

Users receive notifications across web, in-app, and chat channels. The MagicBell API manages tokens for web push, the in-app inbox, and Slack and Teams, so an application can add or remove the channels a user is reachable on. Removing a token stops delivery to that channel.

Example prompt: Add a channel token so the user can receive notifications there.

### Agent-driven notifications

An AI agent can send a broadcast or update a user's channels without a developer wiring each call. Through Jentic the agent matches an intent such as 'notify all users about the outage' to the MagicBell broadcast operation, runs it, and confirms the result. The credential stays in the user's Jentic One instance and never reaches the agent's prompt.

Example prompt: Create a broadcast for the audience and confirm it was sent.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/broadcasts` | Create a broadcast. |
| GET | `/broadcasts` | List all broadcasts. |
| PUT | `/channels/mobile_push/apns/tokens` | Save an APNs push token. |
| PUT | `/channels/mobile_push/fcm/tokens` | Save an FCM push token. |
| GET | `/channels/in_app/inbox/tokens` | List in-app inbox tokens. |
| PUT | `/channels/slack/tokens` | Save a Slack channel token. |

## Key resources

- **Broadcasts** — Create, list, and fetch notification broadcasts.
- **Mobile push tokens** — APNs, FCM, and Expo device tokens.
- **Web and inbox tokens** — Web push and in-app inbox delivery tokens.
- **Chat channel tokens** — Slack and Teams channel tokens.

## Why Jentic

- **Setup:** Wiring MagicBell yourself means managing project and user JWT tokens, registering device tokens per channel, and sending broadcasts. With Jentic you install once, import MagicBell from the API Directory, and store the credential a single time.
- **Permission scoping:** Jentic lets you grant your agent only the operations it needs, such as creating broadcasts and registering tokens without token deletion, and enforces that on every call.
- **Credential handling:** Your MagicBell credential is stored once, encrypted, by your own Jentic One instance. It is injected when a call runs and never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents find MagicBell through Jentic's intent search, matching a request like 'send a broadcast to all users' to the right operation without hardcoded endpoints.

## Related APIs

- **Knock** — Notification workflows across channels.
- **Pusher** — Realtime messaging and push notifications.
- **Slack** — Team messaging and workspace notifications.

## FAQ

### What can an AI agent do with the MagicBell API through Jentic?

An agent can create and list broadcasts and manage push, web, in-app, Slack, and Teams delivery tokens. Through Jentic the agent matches an intent to the right operation and runs it with your credential injected at execution time.

### How do I authenticate with the MagicBell API?

MagicBell uses JWT bearer tokens: a project-level token, projectJwt, for broadcasts and a user-level token, userJwt, for per-user channel and token operations. You store the credential once in your Jentic One instance, and it is added to each call at run time rather than exposed to the agent.

### Which channels does MagicBell support?

The API manages delivery tokens for mobile push through APNs, FCM, and Expo, for web push, for the in-app inbox, and for Slack and Teams. An application registers a token per channel so a user can receive notifications there.

### Does the MagicBell API document rate limits?

The OpenAPI specification does not state rate limits; request allowances depend on your MagicBell plan. Check the current limits for your account in MagicBell's documentation.

### Can I control which MagicBell operations my agent can call?

Yes. Jentic lets you allow only the operations your agent needs, for example creating broadcasts and registering tokens while withholding token deletion. Your Jentic One instance enforces that boundary on every call and keeps the credential outside the agent's context.
