Request Body
{
"channel": "EMAIL | SMS | WHATSAPP | SLACK | TEAMS | DISCORD | LINE | IN_APP | PUSH",
"recipient": {
"email": "user@example.com",
"sms": "+911234567890",
"whatsapp": "+911234567890",
"pushToken": "push-token-123",
"inApp": "internal-user-id",
"slack": "U01XXXXXXX",
"discord": "discord-user-id",
"teams": "teams-user-id",
"line": "line-user-id",
"userId": "unified-user-id"
},
"template": {
"name": "welcome_template"
},
"templateVariables": {
"firstName": "John",
"offerCode": "ABCD123"
},
"providerIntegration": {
"id": "provider-uuid-1234",
"name": "Provider Name",
"code": "SLACK | TWILIO | WATI | ..."
},
"subject": "Welcome to our app!",
"body": "Hello John, welcome onboard!",
"buttons": [
{
"text": "Visit Website",
"value": "https://example.com"
}
]
}
Request Fields
Required Fields
The communication channel. One of: EMAIL
, SMS
, WHATSAPP
, SLACK
, TEAMS
, DISCORD
, LINE
, IN_APP
, PUSH
The destination for the message. Must include the field matching the selected channel.
Optional Fields
Template configuration for the message
Key-value pairs to populate template placeholders
Message subject (for EMAIL only)
Message body (for SLACK, EMAIL, TEAMS)
Interactive buttons (for SLACK only)
Response
Success Response (200 OK)
{
"notificationId": "c1234567-89ab-4def-9012-3456789abcdef"
}
Response Fields
Unique identifier for the sent message
Error Responses
400
- Bad Request (Invalid request format or missing required fields)
401
- Unauthorized (Missing or invalid API key)
403
- Forbidden (Insufficient permissions to send message)
404
- Not Found (Template or provider not found)
429
- Too Many Requests
500
- Internal Server Error
Examples
{
"channel": "SLACK",
"recipient": {
"slack": "U01ABCDEF"
},
"body": "Hello from Slack!",
"buttons": [
{
"text": "Open App",
"value": "open_app"
}
],
"providerIntegration": {
"code": "SLACK",
"name": "Slack Default"
}
}