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)

Request body

FieldTypeRequiredDescription
tostring | object | arrayYesRecipient(s). See Contacts.
payloadobjectNoTemplate variables (available as {{key}}).
languagestringNoLanguage code (en, sv, de).
overridesobjectNoChannel 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) 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.