Skip to content

Notifications API

Send a notification by calling an event. Sendivent selects a channel automatically (Routing), or you can force one.

Endpoints

  • POST /v1/send/{event} — auto-routing
  • POST /v1/send/{event}/{channel} — force channel (email, sms, slack, push, telegram, whatsapp, discord)

Request body

FieldTypeRequiredDescription
tostring | object | arrayYesRecipient(s). See Contacts.
payloadobjectNoTemplate variables (available as {{key}}).
languagestringNoLanguage code (en, sv, de).
overridesobjectNoChannel overrides and brand overrides. See Email, SMS.
fromstring | objectNoCustom sender. Must be verified.

If Sendivent can't route (missing identifier, missing template, or unverified sender), the request fails. See Routing, Email, and Errors.

Responses

Success (200)

json
{
  "success": true,
  "deliveries": [
    { "email": "550e8400-e29b-41d4-a716-446655440000" }
  ]
}

The key (email, sms, slack, push, telegram, whatsapp, discord) is the channel used. The value is the delivery ID.

See Deliveries to track status.

Multiple recipients

When to is an array, each recipient gets a separate delivery with their own personalized content:

json
{
  "to": [
    { "email": "alice@example.com", "name": "Alice" },
    { "email": "bob@example.com", "name": "Bob" }
  ],
  "payload": { "company": "ACME" }
}

Each contact's data is merged with payload for template rendering — Alice sees "Hi Alice" and Bob sees "Hi Bob".

Examples & SDKs

For copy-paste recipes and language-specific usage:

Errors

Errors return a non-2xx status and a JSON body with an error field.

See Errors for status codes and examples.

See also

  • Events — how events map to templates
  • Routing — how auto-routing selects a channel
  • Contacts — supported to formats and metadata
  • Templates — variables and helpers
  • Deliveries — tracking status and failures

Released under the MIT License.