---
title: "POST /api/notification/send"
method: POST
path: "/api/notification/send"
tags: ["/api/notification"]
---

# POST /api/notification/send

`POST /api/notification/send`

Send an unsaved notification.

## Request body

- union — Notification schema for API input. Like FullyHydratedNotification but restricts templates to user-provided types only (no handlebars-resource).
  - object
    - `creator` object, nullable
    - `handlers` object[]
      - `active` boolean, nullable
      - `channel` MetabaseChannelModelsChannelChannel — Channel schema.
        - `active` boolean
        - `description` string, nullable
        - `details` object, required
        - `name` string, required
        - `type` string, required
      - `channel_id` integer, nullable — value must be an integer greater than zero.
      - `channel_type` unknown, required
      - `notification_id` integer — value must be an integer greater than zero.
      - `recipients` MetabaseNotificationModelsNotificationRecipient[]
        - union — Schema for :model/NotificationRecipient.
          - object
            - `details` unknown
            - `notification_handler_id` integer — value must be an integer greater than zero.
            - `permissions_group_id` unknown
            - `type` 'notification-recipient/raw-value' | 'notification-recipient/user' | 'notification-recipient/template' | 'notification-recipient/group', required
            - `user_id` integer, required — value must be an integer greater than zero.
          - object
            - `details` unknown
            - `notification_handler_id` integer — value must be an integer greater than zero.
            - `permissions_group_id` integer, required — value must be an integer greater than zero.
            - `type` 'notification-recipient/raw-value' | 'notification-recipient/user' | 'notification-recipient/template' | 'notification-recipient/group', required
            - `user_id` unknown
          - object
            - `details` object, required
              - …
            - `notification_handler_id` integer — value must be an integer greater than zero.
            - `permissions_group_id` unknown
            - `type` 'notification-recipient/raw-value' | 'notification-recipient/user' | 'notification-recipient/template' | 'notification-recipient/group', required
            - `user_id` unknown
          - object
            - `details` object, required
              - …
            - `notification_handler_id` integer — value must be an integer greater than zero.
            - `permissions_group_id` unknown
            - `type` 'notification-recipient/raw-value' | 'notification-recipient/user' | 'notification-recipient/template' | 'notification-recipient/group', required
            - `user_id` unknown
      - `template` union — Channel Template schema for API-provided templates. Does not allow handlebars-resource.
        - object
          - `channel_type` unknown, required
          - `details` MetabaseChannelModelsChannelChannelTemplateEmailDetailsUserProvided, required — Email template details schema for API-provided templates. Only handlebars-text is allowed; handlebars-resource is restricted to internal use only.
            - `body` string, required
            - `recipient-type` 'cc' | 'bcc' | 'cc' | 'bcc'
            - `subject` string, required
            - `type` 'email/handlebars-text' | 'email/handlebars-text', required
        - unknown
      - `template_id` integer, nullable — value must be an integer greater than zero.
    - `payload` MetabaseNotificationModelsNotificationCard, required — Schema for :model/NotificationCard.
      - `card` object, nullable
      - `card_id` integer, required — value must be an integer greater than zero.
      - `send_condition` 'goal_below' | 'has_result' | 'goal_above'
      - `send_once` boolean
    - `payload_id` unknown
    - `payload_type` 'notification/dashboard' | 'notification/system-event' | 'notification/testing' | 'notification/card', required
    - `subscriptions` MetabaseNotificationModelsNotificationSubscription[]
      - union — Schema for :model/NotificationSubscription.
        - object
          - `cron_schedule` unknown
          - `event_name` union, required
            - string
            - string
          - `type` 'notification-subscription/cron' | 'notification-subscription/system-event', required
        - object
          - `cron_schedule` string, required
          - `event_name` unknown
          - `type` 'notification-subscription/cron' | 'notification-subscription/system-event', required
          - `ui_display_type` 'cron/raw' | 'cron/builder', nullable
  - object
    - `creator` object, nullable
    - `handlers` object[]
      - `active` boolean, nullable
      - `channel` MetabaseChannelModelsChannelChannel — Channel schema.
        - `active` boolean
        - `description` string, nullable
        - `details` object, required
        - `name` string, required
        - `type` string, required
      - `channel_id` integer, nullable — value must be an integer greater than zero.
      - `channel_type` unknown, required
      - `notification_id` integer — value must be an integer greater than zero.
      - `recipients` MetabaseNotificationModelsNotificationRecipient[]
        - union — Schema for :model/NotificationRecipient.
          - object
            - `details` unknown
            - `notification_handler_id` integer — value must be an integer greater than zero.
            - `permissions_group_id` unknown
            - `type` 'notification-recipient/raw-value' | 'notification-recipient/user' | 'notification-recipient/template' | 'notification-recipient/group', required
            - `user_id` integer, required — value must be an integer greater than zero.
          - object
            - `details` unknown
            - `notification_handler_id` integer — value must be an integer greater than zero.
            - `permissions_group_id` integer, required — value must be an integer greater than zero.
            - `type` 'notification-recipient/raw-value' | 'notification-recipient/user' | 'notification-recipient/template' | 'notification-recipient/group', required
            - `user_id` unknown
          - object
            - `details` object, required
              - …
            - `notification_handler_id` integer — value must be an integer greater than zero.
            - `permissions_group_id` unknown
            - `type` 'notification-recipient/raw-value' | 'notification-recipient/user' | 'notification-recipient/template' | 'notification-recipient/group', required
            - `user_id` unknown
          - object
            - `details` object, required
              - …
            - `notification_handler_id` integer — value must be an integer greater than zero.
            - `permissions_group_id` unknown
            - `type` 'notification-recipient/raw-value' | 'notification-recipient/user' | 'notification-recipient/template' | 'notification-recipient/group', required
            - `user_id` unknown
      - `template` union — Channel Template schema for API-provided templates. Does not allow handlebars-resource.
        - object
          - `channel_type` unknown, required
          - `details` MetabaseChannelModelsChannelChannelTemplateEmailDetailsUserProvided, required — Email template details schema for API-provided templates. Only handlebars-text is allowed; handlebars-resource is restricted to internal use only.
            - `body` string, required
            - `recipient-type` 'cc' | 'bcc' | 'cc' | 'bcc'
            - `subject` string, required
            - `type` 'email/handlebars-text' | 'email/handlebars-text', required
        - unknown
      - `template_id` integer, nullable — value must be an integer greater than zero.
    - `payload_id` unknown
    - `payload_type` 'notification/dashboard' | 'notification/system-event' | 'notification/testing' | 'notification/card', required
    - `subscriptions` MetabaseNotificationModelsNotificationSubscription[]
      - union — Schema for :model/NotificationSubscription.
        - object
          - `cron_schedule` unknown
          - `event_name` union, required
            - string
            - string
          - `type` 'notification-subscription/cron' | 'notification-subscription/system-event', required
        - object
          - `cron_schedule` string, required
          - `event_name` unknown
          - `type` 'notification-subscription/cron' | 'notification-subscription/system-event', required
          - `ui_display_type` 'cron/raw' | 'cron/builder', nullable
  - object
    - `creator` object, nullable
    - `creator_id` integer
    - `handlers` object[]
      - `active` boolean, nullable
      - `channel` MetabaseChannelModelsChannelChannel — Channel schema.
        - `active` boolean
        - `description` string, nullable
        - `details` object, required
        - `name` string, required
        - `type` string, required
      - `channel_id` integer, nullable — value must be an integer greater than zero.
      - `channel_type` unknown, required
      - `notification_id` integer — value must be an integer greater than zero.
      - `recipients` MetabaseNotificationModelsNotificationRecipient[]
        - union — Schema for :model/NotificationRecipient.
          - object
            - `details` unknown
            - `notification_handler_id` integer — value must be an integer greater than zero.
            - `permissions_group_id` unknown
            - `type` 'notification-recipient/raw-value' | 'notification-recipient/user' | 'notification-recipient/template' | 'notification-recipient/group', required
            - `user_id` integer, required — value must be an integer greater than zero.
          - object
            - `details` unknown
            - `notification_handler_id` integer — value must be an integer greater than zero.
            - `permissions_group_id` integer, required — value must be an integer greater than zero.
            - `type` 'notification-recipient/raw-value' | 'notification-recipient/user' | 'notification-recipient/template' | 'notification-recipient/group', required
            - `user_id` unknown
          - object
            - `details` object, required
              - …
            - `notification_handler_id` integer — value must be an integer greater than zero.
            - `permissions_group_id` unknown
            - `type` 'notification-recipient/raw-value' | 'notification-recipient/user' | 'notification-recipient/template' | 'notification-recipient/group', required
            - `user_id` unknown
          - object
            - `details` object, required
              - …
            - `notification_handler_id` integer — value must be an integer greater than zero.
            - `permissions_group_id` unknown
            - `type` 'notification-recipient/raw-value' | 'notification-recipient/user' | 'notification-recipient/template' | 'notification-recipient/group', required
            - `user_id` unknown
      - `template` union — Channel Template schema for API-provided templates. Does not allow handlebars-resource.
        - object
          - `channel_type` unknown, required
          - `details` MetabaseChannelModelsChannelChannelTemplateEmailDetailsUserProvided, required — Email template details schema for API-provided templates. Only handlebars-text is allowed; handlebars-resource is restricted to internal use only.
            - `body` string, required
            - `recipient-type` 'cc' | 'bcc' | 'cc' | 'bcc'
            - `subject` string, required
            - `type` 'email/handlebars-text' | 'email/handlebars-text', required
        - unknown
      - `template_id` integer, nullable — value must be an integer greater than zero.
    - `payload` MetabaseNotificationModelsNotificationCard, required — Schema for :model/NotificationCard.
      - `card` object, nullable
      - `card_id` integer, required — value must be an integer greater than zero.
      - `send_condition` 'goal_below' | 'has_result' | 'goal_above'
      - `send_once` boolean
    - `payload_id` integer
    - `payload_type` 'notification/dashboard' | 'notification/system-event' | 'notification/testing' | 'notification/card', required
    - `subscriptions` MetabaseNotificationModelsNotificationSubscription[]
      - union — Schema for :model/NotificationSubscription.
        - object
          - `cron_schedule` unknown
          - `event_name` union, required
            - string
            - string
          - `type` 'notification-subscription/cron' | 'notification-subscription/system-event', required
        - object
          - `cron_schedule` string, required
          - `event_name` unknown
          - `type` 'notification-subscription/cron' | 'notification-subscription/system-event', required
          - `ui_display_type` 'cron/raw' | 'cron/builder', nullable
  - object
    - `creator` object, nullable
    - `creator_id` integer
    - `handlers` object[]
      - `active` boolean, nullable
      - `channel` MetabaseChannelModelsChannelChannel — Channel schema.
        - `active` boolean
        - `description` string, nullable
        - `details` object, required
        - `name` string, required
        - `type` string, required
      - `channel_id` integer, nullable — value must be an integer greater than zero.
      - `channel_type` unknown, required
      - `notification_id` integer — value must be an integer greater than zero.
      - `recipients` MetabaseNotificationModelsNotificationRecipient[]
        - union — Schema for :model/NotificationRecipient.
          - object
            - `details` unknown
            - `notification_handler_id` integer — value must be an integer greater than zero.
            - `permissions_group_id` unknown
            - `type` 'notification-recipient/raw-value' | 'notification-recipient/user' | 'notification-recipient/template' | 'notification-recipient/group', required
            - `user_id` integer, required — value must be an integer greater than zero.
          - object
            - `details` unknown
            - `notification_handler_id` integer — value must be an integer greater than zero.
            - `permissions_group_id` integer, required — value must be an integer greater than zero.
            - `type` 'notification-recipient/raw-value' | 'notification-recipient/user' | 'notification-recipient/template' | 'notification-recipient/group', required
            - `user_id` unknown
          - object
            - `details` object, required
              - …
            - `notification_handler_id` integer — value must be an integer greater than zero.
            - `permissions_group_id` unknown
            - `type` 'notification-recipient/raw-value' | 'notification-recipient/user' | 'notification-recipient/template' | 'notification-recipient/group', required
            - `user_id` unknown
          - object
            - `details` object, required
              - …
            - `notification_handler_id` integer — value must be an integer greater than zero.
            - `permissions_group_id` unknown
            - `type` 'notification-recipient/raw-value' | 'notification-recipient/user' | 'notification-recipient/template' | 'notification-recipient/group', required
            - `user_id` unknown
      - `template` union — Channel Template schema for API-provided templates. Does not allow handlebars-resource.
        - object
          - `channel_type` unknown, required
          - `details` MetabaseChannelModelsChannelChannelTemplateEmailDetailsUserProvided, required — Email template details schema for API-provided templates. Only handlebars-text is allowed; handlebars-resource is restricted to internal use only.
            - `body` string, required
            - `recipient-type` 'cc' | 'bcc' | 'cc' | 'bcc'
            - `subject` string, required
            - `type` 'email/handlebars-text' | 'email/handlebars-text', required
        - unknown
      - `template_id` integer, nullable — value must be an integer greater than zero.
    - `payload_id` integer
    - `payload_type` 'notification/dashboard' | 'notification/system-event' | 'notification/testing' | 'notification/card', required
    - `subscriptions` MetabaseNotificationModelsNotificationSubscription[]
      - union — Schema for :model/NotificationSubscription.
        - object
          - `cron_schedule` unknown
          - `event_name` union, required
            - string
            - string
          - `type` 'notification-subscription/cron' | 'notification-subscription/system-event', required
        - object
          - `cron_schedule` string, required
          - `event_name` unknown
          - `type` 'notification-subscription/cron' | 'notification-subscription/system-event', required
          - `ui_display_type` 'cron/raw' | 'cron/builder', nullable
  - object
    - `creator` object, nullable
    - `handlers` object[]
      - `active` boolean, nullable
      - `channel` MetabaseChannelModelsChannelChannel — Channel schema.
        - `active` boolean
        - `description` string, nullable
        - `details` object, required
        - `name` string, required
        - `type` string, required
      - `channel_id` integer, nullable — value must be an integer greater than zero.
      - `channel_type` unknown, required
      - `notification_id` integer — value must be an integer greater than zero.
      - `recipients` MetabaseNotificationModelsNotificationRecipient[]
        - union — Schema for :model/NotificationRecipient.
          - object
            - `details` unknown
            - `notification_handler_id` integer — value must be an integer greater than zero.
            - `permissions_group_id` unknown
            - `type` 'notification-recipient/raw-value' | 'notification-recipient/user' | 'notification-recipient/template' | 'notification-recipient/group', required
            - `user_id` integer, required — value must be an integer greater than zero.
          - object
            - `details` unknown
            - `notification_handler_id` integer — value must be an integer greater than zero.
            - `permissions_group_id` integer, required — value must be an integer greater than zero.
            - `type` 'notification-recipient/raw-value' | 'notification-recipient/user' | 'notification-recipient/template' | 'notification-recipient/group', required
            - `user_id` unknown
          - object
            - `details` object, required
              - …
            - `notification_handler_id` integer — value must be an integer greater than zero.
            - `permissions_group_id` unknown
            - `type` 'notification-recipient/raw-value' | 'notification-recipient/user' | 'notification-recipient/template' | 'notification-recipient/group', required
            - `user_id` unknown
          - object
            - `details` object, required
              - …
            - `notification_handler_id` integer — value must be an integer greater than zero.
            - `permissions_group_id` unknown
            - `type` 'notification-recipient/raw-value' | 'notification-recipient/user' | 'notification-recipient/template' | 'notification-recipient/group', required
            - `user_id` unknown
      - `template` union — Channel Template schema for API-provided templates. Does not allow handlebars-resource.
        - object
          - `channel_type` unknown, required
          - `details` MetabaseChannelModelsChannelChannelTemplateEmailDetailsUserProvided, required — Email template details schema for API-provided templates. Only handlebars-text is allowed; handlebars-resource is restricted to internal use only.
            - `body` string, required
            - `recipient-type` 'cc' | 'bcc' | 'cc' | 'bcc'
            - `subject` string, required
            - `type` 'email/handlebars-text' | 'email/handlebars-text', required
        - unknown
      - `template_id` integer, nullable — value must be an integer greater than zero.
    - `payload` MetabaseNotificationModelsNotificationCard, required — Schema for :model/NotificationCard.
      - `card` object, nullable
      - `card_id` integer, required — value must be an integer greater than zero.
      - `send_condition` 'goal_below' | 'has_result' | 'goal_above'
      - `send_once` boolean
    - `subscriptions` MetabaseNotificationModelsNotificationSubscription[]
      - union — Schema for :model/NotificationSubscription.
        - object
          - `cron_schedule` unknown
          - `event_name` union, required
            - string
            - string
          - `type` 'notification-subscription/cron' | 'notification-subscription/system-event', required
        - object
          - `cron_schedule` string, required
          - `event_name` unknown
          - `type` 'notification-subscription/cron' | 'notification-subscription/system-event', required
          - `ui_display_type` 'cron/raw' | 'cron/builder', nullable
  - object
    - `creator` object, nullable
    - `handlers` object[]
      - `active` boolean, nullable
      - `channel` MetabaseChannelModelsChannelChannel — Channel schema.
        - `active` boolean
        - `description` string, nullable
        - `details` object, required
        - `name` string, required
        - `type` string, required
      - `channel_id` integer, nullable — value must be an integer greater than zero.
      - `channel_type` unknown, required
      - `notification_id` integer — value must be an integer greater than zero.
      - `recipients` MetabaseNotificationModelsNotificationRecipient[]
        - union — Schema for :model/NotificationRecipient.
          - object
            - `details` unknown
            - `notification_handler_id` integer — value must be an integer greater than zero.
            - `permissions_group_id` unknown
            - `type` 'notification-recipient/raw-value' | 'notification-recipient/user' | 'notification-recipient/template' | 'notification-recipient/group', required
            - `user_id` integer, required — value must be an integer greater than zero.
          - object
            - `details` unknown
            - `notification_handler_id` integer — value must be an integer greater than zero.
            - `permissions_group_id` integer, required — value must be an integer greater than zero.
            - `type` 'notification-recipient/raw-value' | 'notification-recipient/user' | 'notification-recipient/template' | 'notification-recipient/group', required
            - `user_id` unknown
          - object
            - `details` object, required
              - …
            - `notification_handler_id` integer — value must be an integer greater than zero.
            - `permissions_group_id` unknown
            - `type` 'notification-recipient/raw-value' | 'notification-recipient/user' | 'notification-recipient/template' | 'notification-recipient/group', required
            - `user_id` unknown
          - object
            - `details` object, required
              - …
            - `notification_handler_id` integer — value must be an integer greater than zero.
            - `permissions_group_id` unknown
            - `type` 'notification-recipient/raw-value' | 'notification-recipient/user' | 'notification-recipient/template' | 'notification-recipient/group', required
            - `user_id` unknown
      - `template` union — Channel Template schema for API-provided templates. Does not allow handlebars-resource.
        - object
          - `channel_type` unknown, required
          - `details` MetabaseChannelModelsChannelChannelTemplateEmailDetailsUserProvided, required — Email template details schema for API-provided templates. Only handlebars-text is allowed; handlebars-resource is restricted to internal use only.
            - `body` string, required
            - `recipient-type` 'cc' | 'bcc' | 'cc' | 'bcc'
            - `subject` string, required
            - `type` 'email/handlebars-text' | 'email/handlebars-text', required
        - unknown
      - `template_id` integer, nullable — value must be an integer greater than zero.
    - `subscriptions` MetabaseNotificationModelsNotificationSubscription[]
      - union — Schema for :model/NotificationSubscription.
        - object
          - `cron_schedule` unknown
          - `event_name` union, required
            - string
            - string
          - `type` 'notification-subscription/cron' | 'notification-subscription/system-event', required
        - object
          - `cron_schedule` string, required
          - `event_name` unknown
          - `type` 'notification-subscription/cron' | 'notification-subscription/system-event', required
          - `ui_display_type` 'cron/raw' | 'cron/builder', nullable

## Response `2XX`

Successful response

## Other responses

- `4XX` — Client error response
- `5XX` — Server error response

---

[API](https://skmtc.net/metabase/apis/metabase-api.md) · [All operations](https://skmtc.net/metabase/apis/metabase-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/metabase/metabase-api/revisions/08b5a2bafb4f/schema)
