Broadcasts let you fan out an announcement to every relevant user or topic. Use these APIs to create announcements, inspect their status, and audit how they generated notifications and deliveries across your project.
Channels represent the mediums such as Email, Push, SMS, Slack, through which deliveries happen. These routes configure how each channel behaves inside a project, ensuring every notification honors user preferences and branding.
APIs dedicated to the Mobile Push channel. Use them to connect devices, rotate credentials, and troubleshoot delivery for this medium.
ENDPOINTS
PUT /channels/mobile_push/apns/tokens
GET /channels/mobile_push/apns/tokens/{token_id}
DELETE /channels/mobile_push/apns/tokens/{token_id}
GET /channels/mobile_push/apns/tokens
PUT /channels/mobile_push/expo/tokens
GET /channels/mobile_push/expo/tokens/{token_id}
DELETE /channels/mobile_push/expo/tokens/{token_id}
GET /channels/mobile_push/expo/tokens
PUT /channels/mobile_push/fcm/tokens
GET /channels/mobile_push/fcm/tokens/{token_id}
DELETE /channels/mobile_push/fcm/tokens/{token_id}
GET /channels/mobile_push/fcm/tokens
Saves the APNs token for the authenticated user. This token serves as a credential for accessing channel-specific functionality. Each token is unique to the user and channel combination, allowing for direct communication with the user via the channel.
Request body
app_id
string
The bundle identifier of the application registering this token. Use this to override the default identifier configured on the APNs integration.
pattern: ^[a-zA-Z0-9]+(.[a-zA-Z0-9]+)*$
device_token
stringrequired
The APNs device token to register with MagicBell.
min length: 64
installation_id
string
The APNs environment this token belongs to. If omitted we assume it targets production.
Fetches details of a specific APNs token belonging to the authenticated user. Returns information about the token's status, creation date, and any associated metadata. Users can only access their own tokens.
Deletes one of the authenticated user's APNs tokens. This permanently invalidates the specified token, preventing it from being used for future channel access. This action cannot be undone. Users can only revoke their own tokens.
Lists all APNs tokens belonging to the authenticated user. Returns a paginated list of tokens, including their status, creation dates, and associated metadata.
Query parameters
ending_before
nullable string
a cursor for use in pagination, points to the first ID in next page
limit
integer
defines the maximum number of items to return per page (default: 50)
starting_after
nullable string
a cursor for use in pagination, points to the last ID in previous page
Saves the Expo token for the authenticated user. This token serves as a credential for accessing channel-specific functionality. Each token is unique to the user and channel combination, allowing for direct communication with the user via the channel.
Fetches details of a specific Expo token belonging to the authenticated user. Returns information about the token's status, creation date, and any associated metadata. Users can only access their own tokens.
Deletes one of the authenticated user's Expo tokens. This permanently invalidates the specified token, preventing it from being used for future channel access. This action cannot be undone. Users can only revoke their own tokens.
Lists all Expo tokens belonging to the authenticated user. Returns a paginated list of tokens, including their status, creation dates, and associated metadata.
Query parameters
ending_before
nullable string
a cursor for use in pagination, points to the first ID in next page
limit
integer
defines the maximum number of items to return per page (default: 50)
starting_after
nullable string
a cursor for use in pagination, points to the last ID in previous page
Saves the FCM token for the authenticated user. This token serves as a credential for accessing channel-specific functionality. Each token is unique to the user and channel combination, allowing for direct communication with the user via the channel.
Request body
device_token
stringrequired
The Firebase Cloud Messaging device registration token to associate with the user.
Fetches details of a specific FCM token belonging to the authenticated user. Returns information about the token's status, creation date, and any associated metadata. Users can only access their own tokens.
Deletes one of the authenticated user's FCM tokens. This permanently invalidates the specified token, preventing it from being used for future channel access. This action cannot be undone. Users can only revoke their own tokens.
Lists all FCM tokens belonging to the authenticated user. Returns a paginated list of tokens, including their status, creation dates, and associated metadata.
Query parameters
ending_before
nullable string
a cursor for use in pagination, points to the first ID in next page
limit
integer
defines the maximum number of items to return per page (default: 50)
starting_after
nullable string
a cursor for use in pagination, points to the last ID in previous page
APIs dedicated to the In App channel. Use them to connect devices, rotate credentials, and troubleshoot delivery for this medium.
ENDPOINTS
PUT /channels/in_app/inbox/tokens
GET /channels/in_app/inbox/tokens/{token_id}
DELETE /channels/in_app/inbox/tokens/{token_id}
GET /channels/in_app/inbox/tokens
Saves the Inbox token for the authenticated user. This token serves as a credential for accessing channel-specific functionality. Each token is unique to the user and channel combination, allowing for direct communication with the user via the channel.
Request body
connection_id
nullable string
Realtime connection ID to restrict delivery to a specific Ably connection.
Fetches details of a specific Inbox token belonging to the authenticated user. Returns information about the token's status, creation date, and any associated metadata. Users can only access their own tokens.
Deletes one of the authenticated user's Inbox tokens. This permanently invalidates the specified token, preventing it from being used for future channel access. This action cannot be undone. Users can only revoke their own tokens.
Lists all Inbox tokens belonging to the authenticated user. Returns a paginated list of tokens, including their status, creation dates, and associated metadata.
Query parameters
ending_before
nullable string
a cursor for use in pagination, points to the first ID in next page
limit
integer
defines the maximum number of items to return per page (default: 50)
starting_after
nullable string
a cursor for use in pagination, points to the last ID in previous page
APIs dedicated to the Slack channel. Use them to connect devices, rotate credentials, and troubleshoot delivery for this medium.
ENDPOINTS
PUT /channels/slack/magicbell_slackbot/tokens
GET /channels/slack/magicbell_slackbot/tokens/{token_id}
DELETE /channels/slack/magicbell_slackbot/tokens/{token_id}
GET /channels/slack/magicbell_slackbot/tokens
PUT /channels/slack/tokens
GET /channels/slack/tokens/{token_id}
DELETE /channels/slack/tokens/{token_id}
GET /channels/slack/tokens
Saves the MagicBell SlackBot token for the authenticated user. This token serves as a credential for accessing channel-specific functionality. Each token is unique to the user and channel combination, allowing for direct communication with the user via the channel.
Request body
oauth
object
Show child attributes
Hide child attributes
scope
string
The OAuth scope granted during installation
channel_id
stringrequired
The ID of the Slack channel this installation is associated with
installation_id
stringrequired
A unique identifier for this Slack workspace installation
webhook
object
Obtained directly from the incoming_webhook object in the installation response from the Slack API.
Fetches details of a specific MagicBell SlackBot token belonging to the authenticated user. Returns information about the token's status, creation date, and any associated metadata. Users can only access their own tokens.
Deletes one of the authenticated user's MagicBell SlackBot tokens. This permanently invalidates the specified token, preventing it from being used for future channel access. This action cannot be undone. Users can only revoke their own tokens.
Lists all MagicBell SlackBot tokens belonging to the authenticated user. Returns a paginated list of tokens, including their status, creation dates, and associated metadata.
Query parameters
ending_before
nullable string
a cursor for use in pagination, points to the first ID in next page
limit
integer
defines the maximum number of items to return per page (default: 50)
starting_after
nullable string
a cursor for use in pagination, points to the last ID in previous page
Saves the Slack token for the authenticated user. This token serves as a credential for accessing channel-specific functionality. Each token is unique to the user and channel combination, allowing for direct communication with the user via the channel.
Request body
oauth
object
Show child attributes
Hide child attributes
channel_id
stringrequired
The ID of the Slack channel this installation is associated with
installation_id
stringrequired
A unique identifier for this Slack workspace installation
scope
string
The OAuth scope granted during installation
webhook
object
Obtained directly from the incoming_webhook object in the installation response from the Slack API.
Fetches details of a specific Slack token belonging to the authenticated user. Returns information about the token's status, creation date, and any associated metadata. Users can only access their own tokens.
Deletes one of the authenticated user's Slack tokens. This permanently invalidates the specified token, preventing it from being used for future channel access. This action cannot be undone. Users can only revoke their own tokens.
Lists all Slack tokens belonging to the authenticated user. Returns a paginated list of tokens, including their status, creation dates, and associated metadata.
Query parameters
ending_before
nullable string
a cursor for use in pagination, points to the first ID in next page
limit
integer
defines the maximum number of items to return per page (default: 50)
starting_after
nullable string
a cursor for use in pagination, points to the last ID in previous page
Saves the Teams token for the authenticated user. This token serves as a credential for accessing channel-specific functionality. Each token is unique to the user and channel combination, allowing for direct communication with the user via the channel.
Fetches details of a specific Teams token belonging to the authenticated user. Returns information about the token's status, creation date, and any associated metadata. Users can only access their own tokens.
Deletes one of the authenticated user's Teams tokens. This permanently invalidates the specified token, preventing it from being used for future channel access. This action cannot be undone. Users can only revoke their own tokens.
Lists all Teams tokens belonging to the authenticated user. Returns a paginated list of tokens, including their status, creation dates, and associated metadata.
Query parameters
ending_before
nullable string
a cursor for use in pagination, points to the first ID in next page
limit
integer
defines the maximum number of items to return per page (default: 50)
starting_after
nullable string
a cursor for use in pagination, points to the last ID in previous page
The timestamp when the token was discarded, if applicable.
format: date-time
endpoint
stringrequired
The push subscription URL obtained from PushSubscription.endpoint after calling registration.pushManager.subscribe(). This is the unique URL for this device that push messages will be sent to.
format: uri
id
stringrequired
The unique identifier for the token.
keys
objectrequired
The encryption keys from the PushSubscription.getKey() method, needed to encrypt push messages for this subscription.
Show child attributes
Hide child attributes
auth
stringrequired
The authentication secret obtained from PushSubscription.getKey('auth'). Used to encrypt push messages for this subscription.
p256dh
stringrequired
The P-256 ECDH public key obtained from PushSubscription.getKey('p256dh'). Used to encrypt push messages for this subscription.
updated_at
nullable string
The timestamp when the token metadata last changed.
Saves the Web Push token for the authenticated user. This token serves as a credential for accessing channel-specific functionality. Each token is unique to the user and channel combination, allowing for direct communication with the user via the channel.
Request body
endpoint
stringrequired
The push subscription URL obtained from PushSubscription.endpoint after calling registration.pushManager.subscribe(). This is the unique URL for this device that push messages will be sent to.
format: uri
keys
objectrequired
The encryption keys from the PushSubscription.getKey() method, needed to encrypt push messages for this subscription.
Show child attributes
Hide child attributes
auth
stringrequired
The authentication secret obtained from PushSubscription.getKey('auth'). Used to encrypt push messages for this subscription.
p256dh
stringrequired
The P-256 ECDH public key obtained from PushSubscription.getKey('p256dh'). Used to encrypt push messages for this subscription.
Fetches details of a specific Web Push token belonging to the authenticated user. Returns information about the token's status, creation date, and any associated metadata. Users can only access their own tokens.
Deletes one of the authenticated user's Web Push tokens. This permanently invalidates the specified token, preventing it from being used for future channel access. This action cannot be undone. Users can only revoke their own tokens.
Lists all Web Push tokens belonging to the authenticated user. Returns a paginated list of tokens, including their status, creation dates, and associated metadata.
Query parameters
ending_before
nullable string
a cursor for use in pagination, points to the first ID in next page
limit
integer
defines the maximum number of items to return per page (default: 50)
starting_after
nullable string
a cursor for use in pagination, points to the last ID in previous page
Events capture everything that happens across deliveries. Query this stream to audit what occurred, troubleshoot delivery issues, and power observability dashboards.
Integrations connect MagicBell to external providers for delivery, data ingestion, and automation. Use these grouped APIs to configure providers, run installation flows, and receive incoming events.
Updates or creates the APNs integration for the project.
Request body
app_id
stringrequired
The default bundle identifier of the application that is configured with this project. It can be overriden on a per token basis, when registering device tokens.
pattern: ^[a-zA-Z0-9]+(.[a-zA-Z0-9]+)*$
badge
stringrequired
Controls whether the app icon badge counts unread or unseen notifications.
Possible enum values:
unread
unseen
certificate
stringrequired
The APNs certificate in P8 format. Generate it at developer.apple.com with the 'Apple Push Notification service (APNs)' option selected.
Retrieves the current APNs integration configurations for a specific integration type in the project. Returns configuration details and status information.
Retrieves the current Expo integration configurations for a specific integration type in the project. Returns configuration details and status information.
Retrieves the current FCM integration configurations for a specific integration type in the project. Returns configuration details and status information.
Manage integrations that sync data into the MagicBell Inbox surfaces, including hosted widgets and embeddable inboxes.
ENDPOINTS
PUT /integrations/inbox/installations
POST /integrations/inbox/installations/start
PUT /integrations/inbox
DELETE /integrations/inbox
GET /integrations/inbox
Creates a new installation of a Inbox integration for a user. This endpoint is used when an integration needs to be set up with user-specific credentials or configuration.
Request body
images
nullable objectrequired
Image overrides for assets used in the inbox UI.
Show child attributes
Hide child attributes
emptyInboxUrl
stringrequired
URL for the illustration shown when the inbox is empty.
locale
nullable stringrequired
Locale code (ISO language tag) used to localize built-in strings.
min length: 2
theme
nullable objectrequired
Visual customization options for the hosted inbox widget.
Show child attributes
Hide child attributes
icon
object
Launcher icon styling overrides.
Show child attributes
Hide child attributes
borderColor
stringrequired
CSS color used for the icon border.
width
stringrequired
Width of the launcher icon (any CSS length).
banner
object
Top banner styling options.
Show child attributes
Hide child attributes
fontSize
stringrequired
Font size for banner text.
backgroundColor
stringrequired
Banner background color.
textColor
stringrequired
Banner text color.
backgroundOpacity
number
Opacity applied to the banner background.
unseenBadge
object
Badge styling for unseen notification counts.
Show child attributes
Hide child attributes
backgroundColor
stringrequired
Badge background color.
header
object
Header styling for the inbox modal.
Show child attributes
Hide child attributes
textColor
stringrequired
Header text color.
borderRadius
stringrequired
Border radius applied to the header container.
fontFamily
stringrequired
CSS font family for the header title.
fontSize
stringrequired
Font size used in the header.
backgroundColor
stringrequired
Header background color.
footer
object
Footer styling for the inbox modal.
Show child attributes
Hide child attributes
fontSize
stringrequired
Font size used in the footer.
backgroundColor
stringrequired
Footer background color.
textColor
stringrequired
Footer text color.
borderRadius
stringrequired
Border radius applied to the footer container.
notification
object
Styling overrides for notification list items.
Show child attributes
Hide child attributes
default
objectrequired
Base styles applied to every notification item.
Show child attributes
Hide child attributes
state
object
Accent colors for notification state indicators.
Show child attributes
Hide child attributes
color
stringrequired
Color used for the state indicator.
margin
stringrequired
CSS margin applied around each notification card.
fontFamily
stringrequired
Font family for notification text.
fontSize
stringrequired
Font size for notification text.
textColor
stringrequired
Default text color for notifications.
borderRadius
stringrequired
Border radius applied to each notification card.
backgroundColor
stringrequired
Background color for notifications in their default state.
hover
object
Styles applied when a notification is hovered.
Show child attributes
Hide child attributes
backgroundColor
stringrequired
Background color on hover.
unseen
objectrequired
Overrides for unseen notifications.
Show child attributes
Hide child attributes
textColor
stringrequired
Text color used when a notification is unseen.
backgroundColor
stringrequired
Background color applied to unseen notifications.
hover
object
Hover styles for unseen notifications.
Show child attributes
Hide child attributes
backgroundColor
stringrequired
Background color on hover for unseen notifications.
state
object
State indicator styling for unseen notifications.
Show child attributes
Hide child attributes
color
stringrequired
Color for the unseen state indicator.
unread
objectrequired
Overrides for unread notifications.
Show child attributes
Hide child attributes
state
object
State indicator styling for unread notifications.
Show child attributes
Hide child attributes
color
stringrequired
Color for the unread state indicator.
textColor
stringrequired
Text color used when a notification is unread.
backgroundColor
stringrequired
Background color applied to unread notifications.
hover
object
Hover styles for unread notifications.
Show child attributes
Hide child attributes
backgroundColor
stringrequired
Background color on hover for unread notifications.
Initiates the installation flow for an Inbox integration. This is the first step in a multi-step installation process where user authorization or external service configuration may be required.
Retrieves the current Inbox integration configurations for a specific integration type in the project. Returns configuration details and status information.
Provision the hosted Slackbot that delivers actionable notifications into Slack without you maintaining an app. Ideal when you want a turnkey shared Slack experience.
ENDPOINTS
PUT /integrations/magicbell_slackbot/installations
POST /integrations/magicbell_slackbot/installations/start
POST /integrations/magicbell_slackbot/installations/finish
PUT /integrations/magicbell_slackbot
DELETE /integrations/magicbell_slackbot
GET /integrations/magicbell_slackbot
Creates a new installation of a MagicBell SlackBot integration for a user. This endpoint is used when an integration needs to be set up with user-specific credentials or configuration.
Request body
access_token
stringrequired
Bot token returned from the Slack OAuth exchange.
app_id
stringrequired
Slack app identifier for the installed app.
authed_user
objectrequired
Show child attributes
Hide child attributes
access_token
string
User token returned from the OAuth exchange.
refresh_token
string
Refresh token for the authed user.
id
stringrequired
Slack user ID for the installer.
token_type
string
Token type value provided by Slack.
expires_in
integer
Seconds until the user token expires.
scope
string
Space-delimited OAuth scopes granted to the user token.
bot_user_id
string
Slack user ID of the installed bot.
enterprise
object
Show child attributes
Hide child attributes
name
stringrequired
Enterprise grid name.
id
stringrequired
Enterprise grid identifier.
expires_in
integer
Seconds until the bot access token expires.
id
string
Unique identifier MagicBell assigns to the Slack installation.
pattern: ^[A-Z0-9]+-.*$
incoming_webhook
object
Show child attributes
Hide child attributes
channel
stringrequired
Human readable name for the webhook channel.
configuration_url
stringrequired
URL users can visit to manage the webhook.
url
stringrequired
Webhook URL that Slack posts events to.
is_enterprise_install
boolean
Indicates whether the installation occurred on an enterprise grid.
refresh_token
string
Refresh token for regenerating the bot access token.
scope
string
Space-delimited OAuth scopes granted to the bot token.
team
objectrequired
Show child attributes
Hide child attributes
name
string
Workspace name where the app was installed.
id
stringrequired
Workspace ID where the app was installed.
token_type
string
Type of bot token returned by Slack.
Request
curl --request PUT \
--url 'https://api.magicbell.com/v2/integrations/magicbell_slackbot/installations' \
--header 'content-type: application/json' \
--header "authorization: Bearer $TOKEN" \
--data '{"id":"A12345678-T123","access_token":"xoxb-123456789012-1234567890123-12345678901234567890abcdef123456","scope":"identify,commands,bot","team_name":"Team Installing Your App","team_id":"T12345678","enterprise_id":"E12345678","enterprise_name":"Enterprise Grid, Inc.","bot_user_id":"U12345678","app_id":"A12345678","authed_user":{"id":"U12345678","scope":"identify,commands"},"incoming_webhook":{"channel":"C12345678","channel_id":"C12345678","configuration_url":"https://teamname.slack.com/services/B12345678","url":"https://hooks.slack.com/services/T12345678/B12345678/123456789012345678901234"},"team":{"name":"Team Installing Your App","id":"T123"}}'
Initiates the installation flow for a MagicBell SlackBot integration. This is the first step in a multi-step installation process where user authorization or external service configuration may be required.
Request body
app_id
stringrequired
Slack app ID that the installation flow should use.
auth_url
string
Optional override for the authorization URL returned to the client.
extra_scopes
array
Additional OAuth scopes to request during installation.
Completes the installation flow for the MagicBell SlackBot integration. This endpoint is typically called after the user has completed any required authorization steps with MagicBell SlackBot.
Request body
app_id
stringrequired
The app ID of the Slack app that was originally configured at the project-level.
code
stringrequired
The code that was returned from the OAuth flow, and found in the query string of the redirect URL.
Retrieves the current MagicBell SlackBot integration configurations for a specific integration type in the project. Returns configuration details and status information.
Retrieves the current Mailgun integration configurations for a specific integration type in the project. Returns configuration details and status information.
Retrieves the current Ping Email integration configurations for a specific integration type in the project. Returns configuration details and status information.
Retrieves the current SendGrid integration configurations for a specific integration type in the project. Returns configuration details and status information.
Retrieves the current Amazon SES integration configurations for a specific integration type in the project. Returns configuration details and status information.
Configure Slack so broadcasts can post rich updates into channels or DMs. The flow covers OAuth installation, workspace selection, and webhook delivery setup.
ENDPOINTS
PUT /integrations/slack/installations
POST /integrations/slack/installations/start
POST /integrations/slack/installations/finish
PUT /integrations/slack
DELETE /integrations/slack
GET /integrations/slack
Creates a new installation of a Slack integration for a user. This endpoint is used when an integration needs to be set up with user-specific credentials or configuration.
Request body
access_token
stringrequired
Bot token returned from the Slack OAuth exchange.
app_id
stringrequired
Slack app identifier for the installed app.
authed_user
objectrequired
Show child attributes
Hide child attributes
token_type
string
Token type value provided by Slack.
expires_in
integer
Seconds until the user token expires.
scope
string
Space-delimited OAuth scopes granted to the user token.
access_token
string
User token returned from the OAuth exchange.
refresh_token
string
Refresh token for the authed user.
id
stringrequired
Slack user ID for the installer.
bot_user_id
string
Slack user ID of the installed bot.
enterprise
object
Show child attributes
Hide child attributes
name
stringrequired
Enterprise grid name.
id
stringrequired
Enterprise grid identifier.
expires_in
integer
Seconds until the bot access token expires.
id
string
Unique identifier MagicBell assigns to the Slack installation.
pattern: ^[A-Z0-9]+-.*$
incoming_webhook
object
Show child attributes
Hide child attributes
channel
stringrequired
Human readable name for the webhook channel.
configuration_url
stringrequired
URL users can visit to manage the webhook.
url
stringrequired
Webhook URL that Slack posts events to.
is_enterprise_install
boolean
Indicates whether the installation occurred on an enterprise grid.
refresh_token
string
Refresh token for regenerating the bot access token.
scope
string
Space-delimited OAuth scopes granted to the bot token.
team
objectrequired
Show child attributes
Hide child attributes
name
string
Workspace name where the app was installed.
id
stringrequired
Workspace ID where the app was installed.
token_type
string
Type of bot token returned by Slack.
Request
curl --request PUT \
--url 'https://api.magicbell.com/v2/integrations/slack/installations' \
--header 'content-type: application/json' \
--header "authorization: Bearer $TOKEN" \
--data '{"id":"A12345678-T123","access_token":"xoxb-123456789012-1234567890123-12345678901234567890abcdef123456","scope":"identify,commands,bot","team_name":"Team Installing Your App","team_id":"T12345678","enterprise_id":"E12345678","enterprise_name":"Enterprise Grid, Inc.","bot_user_id":"U12345678","app_id":"A12345678","authed_user":{"id":"U12345678","scope":"identify,commands"},"incoming_webhook":{"channel":"C12345678","channel_id":"C12345678","configuration_url":"https://teamname.slack.com/services/B12345678","url":"https://hooks.slack.com/services/T12345678/B12345678/123456789012345678901234"},"team":{"name":"Team Installing Your App","id":"T123"}}'
Initiates the installation flow for a Slack integration. This is the first step in a multi-step installation process where user authorization or external service configuration may be required.
Request body
app_id
stringrequired
Slack app ID that the installation flow should use.
auth_url
string
Optional override for the authorization URL returned to the client.
extra_scopes
array
Additional OAuth scopes to request during installation.
Completes the installation flow for the Slack integration. This endpoint is typically called after the user has completed any required authorization steps with Slack.
Request body
app_id
stringrequired
The app ID of the Slack app that was originally configured at the project-level.
code
stringrequired
The code that was returned from the OAuth flow, and found in the query string of the redirect URL.
Retrieves the current Slack integration configurations for a specific integration type in the project. Returns configuration details and status information.
Retrieves the current SMTP integration configurations for a specific integration type in the project. Returns configuration details and status information.
Retrieves the current Twilio integration configurations for a specific integration type in the project. Returns configuration details and status information.
Connect browser push providers so you can reach users on the open web. Handles VAPID keys, service-worker registration, and token lifecycles.
ENDPOINTS
PUT /integrations/web_push/installations
POST /integrations/web_push/installations/start
PUT /integrations/web_push
DELETE /integrations/web_push
GET /integrations/web_push
Creates a new installation of a Web Push integration for a user. This endpoint is used when an integration needs to be set up with user-specific credentials or configuration.
Request body
endpoint
stringrequired
The push subscription URL obtained from PushSubscription.endpoint after calling registration.pushManager.subscribe(). This is the unique URL for this device that push messages will be sent to.
format: uri
keys
objectrequired
The encryption keys from the PushSubscription.getKey() method, needed to encrypt push messages for this subscription.
Show child attributes
Hide child attributes
p256dh
stringrequired
The P-256 ECDH public key obtained from PushSubscription.getKey('p256dh'). Used to encrypt push messages for this subscription.
auth
stringrequired
The authentication secret obtained from PushSubscription.getKey('auth'). Used to encrypt push messages for this subscription.
Initiates the installation flow for a Web Push integration. This is the first step in a multi-step installation process where user authorization or external service configuration may be required.
Retrieves the current Web Push integration configurations for a specific integration type in the project. Returns configuration details and status information.
Notifications are the per-recipient records created from broadcasts. These endpoints let a user list, fetch, and manage the notifications that drive their inbox experience.
POST /notifications/archive
POST /notifications/read
GET /notifications/{notification_id}
POST /notifications/{notification_id}/archive
POST /notifications/{notification_id}/unarchive
POST /notifications/{notification_id}/read
POST /notifications/{notification_id}/unread
GET /notifications
Users are the recipients of every notification. These endpoints let you list users, upsert profiles, and remove users while keeping identifiers aligned with your product database.
PUT /users
DELETE /users/{user_id}
GET /users/{user_id}/channels/mobile_push/apns/tokens/{token_id}
DELETE /users/{user_id}/channels/mobile_push/apns/tokens/{token_id}
GET /users/{user_id}/channels/mobile_push/apns/tokens
GET /users/{user_id}/channels/mobile_push/expo/tokens/{token_id}
DELETE /users/{user_id}/channels/mobile_push/expo/tokens/{token_id}
GET /users/{user_id}/channels/mobile_push/expo/tokens
GET /users/{user_id}/channels/mobile_push/fcm/tokens/{token_id}
DELETE /users/{user_id}/channels/mobile_push/fcm/tokens/{token_id}
GET /users/{user_id}/channels/mobile_push/fcm/tokens
GET /users/{user_id}/channels/in_app/inbox/tokens/{token_id}
DELETE /users/{user_id}/channels/in_app/inbox/tokens/{token_id}
GET /users/{user_id}/channels/in_app/inbox/tokens
GET /users/{user_id}/channels/slack/magicbell_slackbot/tokens/{token_id}
DELETE /users/{user_id}/channels/slack/magicbell_slackbot/tokens/{token_id}
GET /users/{user_id}/channels/slack/magicbell_slackbot/tokens
GET /users/{user_id}/channels/slack/tokens/{token_id}
DELETE /users/{user_id}/channels/slack/tokens/{token_id}
GET /users/{user_id}/channels/slack/tokens
GET /users/{user_id}/channels/teams/tokens/{token_id}
DELETE /users/{user_id}/channels/teams/tokens/{token_id}
GET /users/{user_id}/channels/teams/tokens
GET /users/{user_id}/channels/web_push/tokens/{token_id}
DELETE /users/{user_id}/channels/web_push/tokens/{token_id}
GET /users/{user_id}/channels/web_push/tokens
GET /users
Fetches a specific APNs token by its ID for a given user. This endpoint is available to project administrators and requires project-level authentication. Use this to inspect token details including its status, creation date, and associated metadata.
Deletes a specific user's APNs token. This endpoint is available to project administrators and permanently invalidates the specified token. Once revoked, the token can no longer be used to access channel features. This action cannot be undone.
Lists all APNs tokens associated with a specific user. This endpoint is available to project administrators and returns a paginated list of tokens, including both active and revoked tokens.
Query parameters
ending_before
nullable string
a cursor for use in pagination, points to the first ID in next page
limit
integer
defines the maximum number of items to return per page (default: 50)
starting_after
nullable string
a cursor for use in pagination, points to the last ID in previous page
Fetches a specific Expo token by its ID for a given user. This endpoint is available to project administrators and requires project-level authentication. Use this to inspect token details including its status, creation date, and associated metadata.
Deletes a specific user's Expo token. This endpoint is available to project administrators and permanently invalidates the specified token. Once revoked, the token can no longer be used to access channel features. This action cannot be undone.
Lists all Expo tokens associated with a specific user. This endpoint is available to project administrators and returns a paginated list of tokens, including both active and revoked tokens.
Query parameters
ending_before
nullable string
a cursor for use in pagination, points to the first ID in next page
limit
integer
defines the maximum number of items to return per page (default: 50)
starting_after
nullable string
a cursor for use in pagination, points to the last ID in previous page
Fetches a specific FCM token by its ID for a given user. This endpoint is available to project administrators and requires project-level authentication. Use this to inspect token details including its status, creation date, and associated metadata.
Deletes a specific user's FCM token. This endpoint is available to project administrators and permanently invalidates the specified token. Once revoked, the token can no longer be used to access channel features. This action cannot be undone.
Lists all FCM tokens associated with a specific user. This endpoint is available to project administrators and returns a paginated list of tokens, including both active and revoked tokens.
Query parameters
ending_before
nullable string
a cursor for use in pagination, points to the first ID in next page
limit
integer
defines the maximum number of items to return per page (default: 50)
starting_after
nullable string
a cursor for use in pagination, points to the last ID in previous page
Fetches a specific Inbox token by its ID for a given user. This endpoint is available to project administrators and requires project-level authentication. Use this to inspect token details including its status, creation date, and associated metadata.
Deletes a specific user's Inbox token. This endpoint is available to project administrators and permanently invalidates the specified token. Once revoked, the token can no longer be used to access channel features. This action cannot be undone.
Lists all Inbox tokens associated with a specific user. This endpoint is available to project administrators and returns a paginated list of tokens, including both active and revoked tokens.
Query parameters
ending_before
nullable string
a cursor for use in pagination, points to the first ID in next page
limit
integer
defines the maximum number of items to return per page (default: 50)
starting_after
nullable string
a cursor for use in pagination, points to the last ID in previous page
Fetches a specific MagicBell SlackBot token by its ID for a given user. This endpoint is available to project administrators and requires project-level authentication. Use this to inspect token details including its status, creation date, and associated metadata.
Deletes a specific user's MagicBell SlackBot token. This endpoint is available to project administrators and permanently invalidates the specified token. Once revoked, the token can no longer be used to access channel features. This action cannot be undone.
Lists all MagicBell SlackBot tokens associated with a specific user. This endpoint is available to project administrators and returns a paginated list of tokens, including both active and revoked tokens.
Query parameters
ending_before
nullable string
a cursor for use in pagination, points to the first ID in next page
limit
integer
defines the maximum number of items to return per page (default: 50)
starting_after
nullable string
a cursor for use in pagination, points to the last ID in previous page
Fetches a specific Slack token by its ID for a given user. This endpoint is available to project administrators and requires project-level authentication. Use this to inspect token details including its status, creation date, and associated metadata.
Deletes a specific user's Slack token. This endpoint is available to project administrators and permanently invalidates the specified token. Once revoked, the token can no longer be used to access channel features. This action cannot be undone.
Lists all Slack tokens associated with a specific user. This endpoint is available to project administrators and returns a paginated list of tokens, including both active and revoked tokens.
Query parameters
ending_before
nullable string
a cursor for use in pagination, points to the first ID in next page
limit
integer
defines the maximum number of items to return per page (default: 50)
starting_after
nullable string
a cursor for use in pagination, points to the last ID in previous page
Fetches a specific Teams token by its ID for a given user. This endpoint is available to project administrators and requires project-level authentication. Use this to inspect token details including its status, creation date, and associated metadata.
Deletes a specific user's Teams token. This endpoint is available to project administrators and permanently invalidates the specified token. Once revoked, the token can no longer be used to access channel features. This action cannot be undone.
Lists all Teams tokens associated with a specific user. This endpoint is available to project administrators and returns a paginated list of tokens, including both active and revoked tokens.
Query parameters
ending_before
nullable string
a cursor for use in pagination, points to the first ID in next page
limit
integer
defines the maximum number of items to return per page (default: 50)
starting_after
nullable string
a cursor for use in pagination, points to the last ID in previous page
Fetches a specific Web Push token by its ID for a given user. This endpoint is available to project administrators and requires project-level authentication. Use this to inspect token details including its status, creation date, and associated metadata.
Deletes a specific user's Web Push token. This endpoint is available to project administrators and permanently invalidates the specified token. Once revoked, the token can no longer be used to access channel features. This action cannot be undone.
Lists all Web Push tokens associated with a specific user. This endpoint is available to project administrators and returns a paginated list of tokens, including both active and revoked tokens.
Query parameters
ending_before
nullable string
a cursor for use in pagination, points to the first ID in next page
limit
integer
defines the maximum number of items to return per page (default: 50)
starting_after
nullable string
a cursor for use in pagination, points to the last ID in previous page
Workflows let you orchestrate multi-step reactions to events, fan out to broadcasts, enrich data, or call external services. These routes manage definitions and runs so you can iterate on automation safely.
ENDPOINTS
PUT /workflows
GET /workflows/*
POST /workflows/runs
GET /workflows/runs/{run_id}
GET /workflows/{workflow_key}/runs
GET /workflows