The one-call notification API lets you send a notification in a single request. Pass a template, target users, and variable values — the platform handles the rest. No campaign creation, no recipient management, no lifecycle tracking.

When should I use one-call notifications?

One-call notifications are designed for transactional and real-time use cases:
  • Order confirmations
  • Password reset alerts
  • Appointment reminders
  • Real-time activity notifications
  • System alerts
For marketing campaigns with scheduling, large recipient lists, and lifecycle tracking, use Campaigns instead.

What are the two delivery modes?

ModeMax targetsBehavior
realtime1Delivers immediately to a single user
batch10,000Queues delivery for bulk processing
Realtime mode accepts exactly one target. Passing multiple targets in realtime mode returns an ERR_TARGET_LIMIT_EXCEEDED error.

How does it work?

  1. Create and approve a template with a variable schema
  2. Call POST /api/notifications/send with the template key, targets, and variables
  3. The platform resolves the template, substitutes variables, and delivers through all linked channels
curl -X POST https://{appId}.api-{region}.cometchat.io/v3/business-messaging/api/notifications/send \
  -H "appid: YOUR_APP_ID" \
  -H "apikey: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "template": {
      "key": "order-confirmation",
      "variables": {
        "customerName": "Jane",
        "orderId": "ORD-12345"
      }
    },
    "targets": ["user-jane-123"],
    "mode": "realtime",
    "title": "Order Confirmed"
  }'

What is fire-and-forget?

One-call notifications are fire-and-forget. The API returns a notificationId immediately, but there is no campaign object to track status. Use analytics to monitor delivery metrics after the fact.
The response includes the resolved channels array showing which delivery channels were used, along with the mode, title, and tag for your records.
See the full Send Notification API reference for request and response details.