Dispatch a catalog notification

POST https://getokta.io/api/apps/notifications/dispatch

Dispatches a key declared in your app’s catalog to its recipient; the platform picks the channels from the school’s settings. An Embedded app calls `App\Services\PartnerApi\Notifications\DispatchNotification` in-process with the same payload.

  • Rate Limit: MODERATE
    How heavily this call counts against your quota: LIGHT < MODERATE < HEAVY.
  • Permission needed: notifications.dispatch.send
    The scope the tenant must grant your app before this call is allowed.
  • Reference Code: srv_6ff9
    A stable identifier for this endpoint — quote it to support to speed up tracing.

Body Params

key string required

A key declared in your app’s catalog (`<slug>.<resource>.<event>`). An undeclared key is refused with a 422 that names it.

payload.recipient object

`{type, id}` — who it is about: `parent_of_student` (student ulid), `host_user` (a user id), `school_admin` (the school). Absent = the school’s configured recipients. No `*_id` key is ever read as an address.

payload.variables object

What the templates’ `{{ placeholders }}` resolve to. Flat keys beside the reserved fields are moved here automatically.

payload.subject string

A title your app rendered — used when no template applies.

payload.body string

A body your app rendered — third in precedence after the school’s wording and `default_template`.

payload.url string

A link the in-app card opens.

payload.locale string

Locale of the text you sent (`ar`/`en`).

payload.metadata object

Data for your own use; never printed.