Documentation

Reference

Every endpoint, every package, and what the words mean.

All documentation
Getting started
Overview Quickstart SDK packages
Frontend
React Vue Svelte React Native Web Components Headless & theming Real-time
Backend API
Authentication Templates Trigger & status Contacts & preferences
More
Self-hosting Reference

Endpoints

RouteCredentialWhat it does
POST /v1/notificationsService keyTrigger an event for 1–100 recipients
GET /v1/notifications/{event_id}Service keyDelivery status for one event
POST /v1/contactsService keyCreate or update a contact
POST /v1/contacts/tokensService keyMint a contact token
GET /v1/contacts/{id}/notificationsContact tokenThe contact's inbox
GET /v1/contacts/{id}/preferencesEitherThe preference matrix
PUT /v1/contacts/{id}/preferencesEitherSet one type × channel preference
PUT /v1/contacts/{id}/languageEitherSet the preferred language

A contact token may only ever act as its own contact. A service key may act as any contact in its account.

Packages

  • API base: https://api.elaan.io/v1 (self-hosted installs use their own host)
  • npm: @elaanio/react, @elaanio/vue, @elaanio/svelte, @elaanio/react-native, @elaanio/elements, @elaanio/react-core, @elaanio/core
  • SDK source & issues: github.com/ThingsIDoForLove/elaan-js
  • Console: console.elaan.io, where you create notification types, templates, brands, and service keys.

Glossary

  • Notification type: a kind of message ("order shipped"), carrying its per-channel defaults. Referenced everywhere by its key.
  • Template: the content for one type on one channel, optionally per brand and per language.
  • Brand: a named set of values (name, colour, logo URL) a template renders against. Every account has exactly one default.
  • Contact: a recipient, addressed by your own external_id.
  • Event: one trigger for one recipient, with its own id and its own delivery status.
  • Channel: in-app inbox, email, or push.