Send a notification
POST /send
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ”object
object
Unique user identifier. Required.
User’s email address for email notifications.
User’s phone number for SMS/call notifications.
Mobile push tokens (FCM, APN) for push notifications.
object
object
Used by APN to differentiate between sandbox and production builds (sandbox/undefined or production)
Web push subscription config from the browser.
object
Configuration for a Push Subscription. This can be obtained on the frontend by calling serviceWorkerRegistration.pushManager.subscribe(). The expected format is the same output as JSON.stringify’ing a PushSubscription in the browser.
object
object
User’s timezone (e.g. “America/New_York”) for scheduling.
The destination channel of slack notifications sent to this user. Can be either of the following:
- Channel name, e.g. “test”
- Channel name with # prefix, e.g. “#test”
- Channel ID, e.g. “C1234567890”
- User ID for DM, e.g. “U1234567890”
- Username with @ prefix, e.g. “@test”
object
object
object
object
object
object
Last activity timestamp. Updated automatically. Read-only.
Last update timestamp. Read-only.
Creation timestamp. Read-only.
Bounce or complaint status if email was suppressed. Read-only.
object
object
object
object
ID of the notification type (e.g. “welcome_email”). Creates a new notification if it does not exist.
Recipient user. Provide id, email, or number to identify the user.
object
Unique user identifier. Required.
User’s email address for email notifications.
User’s phone number for SMS/call notifications.
Mobile push tokens (FCM, APN) for push notifications.
object
object
Used by APN to differentiate between sandbox and production builds (sandbox/undefined or production)
Web push subscription config from the browser.
object
Configuration for a Push Subscription. This can be obtained on the frontend by calling serviceWorkerRegistration.pushManager.subscribe(). The expected format is the same output as JSON.stringify’ing a PushSubscription in the browser.
object
object
User’s timezone (e.g. “America/New_York”) for scheduling.
The destination channel of slack notifications sent to this user. Can be either of the following:
- Channel name, e.g. “test”
- Channel name with # prefix, e.g. “#test”
- Channel ID, e.g. “C1234567890”
- User ID for DM, e.g. “U1234567890”
- Username with @ prefix, e.g. “@test”
object
object
object
object
object
object
Last activity timestamp. Updated automatically. Read-only.
Last update timestamp. Read-only.
Creation timestamp. Read-only.
Bounce or complaint status if email was suppressed. Read-only.
object
object
Override which channels to send to (e.g. [“EMAIL”, “SMS”]). Bypasses notification channel config.
Key-value pairs for template merge tags. Replaces placeholders like {{firstName}} in templates.
object
Optional sub-notification identifier for grouping or tracking.
Specific template ID to use. If omitted, uses the default template for each channel.
Sub-notification identifier (e.g. for grouping related notifications).
Per-channel overrides for send options (email, APN, FCM).
object
Email-specific overrides.
object
Reply-to addresses for the email.
CC recipients.
BCC recipients.
Override sender email address.
Override sender display name.
Conditional expression for when to send (e.g. merge tag logic).
Apple Push Notification (APN) overrides.
object
Seconds until the notification expires.
Delivery priority (10 = immediate, 5 = power-saving).
Group notifications with the same ID (replaces previous).
Thread identifier for grouping notifications.
Badge count on app icon.
Sound file name.
Silent background notification (no alert).
Firebase Cloud Messaging (FCM) overrides.
object
Android-specific FCM options.
object
Collapse key for grouping messages.
Delivery priority.
Time to live in seconds.
Restrict delivery to a specific package.
Inline email content (subject, html). Use when not using templates.
object
Email subject line.
HTML body content.
Preview/snippet text shown in inbox.
Display name of sender.
Sender email address.
Inline in-app content (title, url, image).
object
Notification title.
URL to open when clicked.
Image URL.
Inline SMS content (message, autoReply).
object
SMS body text.
object
Auto-reply message to send when user texts in.
Inline call content (message).
object
Text to speak (TTS).
Inline web push content (title, message, icon, url).
object
Notification title.
Body text.
Icon URL.
URL to open when clicked.
Inline mobile push content (title, message).
object
Notification title.
Body text.
Inline Slack content (text, blocks, etc.).
object
Fallback plain text (required when using blocks).
Slack Block Kit blocks.
object
Override bot username.
Icon: emoji (e.g. “:smile:”) or URL. Default: bot’s icon.
Parent message ts to post in a thread.
When true with thread_ts, broadcasts reply to channel. Default: false.
URL parsing: “full” (clickable links) or “none”. Default: “none”.
Convert channel and username refs to Slack links. Default: false.
Enable Slack markup (bold, italic, code). Default: true.
Unfurl link previews. Default: true.
Unfurl media previews. Default: true.
Slack message metadata with optional work object entities. Combines standard Slack message metadata fields with an array of entity objects.
object
An array of work object entities.
object
Entity type (e.g., ‘slack#/entities/task’, ‘slack#/entities/file’).
Schema for the given entity type.
object
Reference used to identify an entity within the developer’s system.
object
URL used to identify an entity within the developer’s system.
The exact URL posted in the source message. Required in metadata passed to chat.unfurl.
A human readable alphanumeric string representing your application’s metadata event.
A free-form object containing whatever data your application wishes to attach to messages.
object
Responses
Section titled “ Responses ”Successful response
object
Bad Request
Unauthorized
Internal Server Error