---
title: "Webhook for notifications"
method: POST
path: "/notifications"
tags: ["WebhookEvents"]
---

# Webhook for notifications

`POST /notifications`

Webhook endpoint called by Viafoura when there are notifications to send (Path is not required).

## Headers

- `X-Request-ID` string, uuid, required

## Request body

- NotificationsBody
  - `request_uuid` string, uuid — UUID identifying this request
  - `time` integer — Time the request was initiated in epoch ms
  - `version` integer — Version of this request
  - `notifications` Notification[] — Notifications sent with this request
    - `notification_type` 'broadcast_site' | 'broadcast_topic' | 'like' | 'reply' | 'subscribed_page_content' | 'subscribed_user_content' | 'follow' | 'reply_removed', required
    - `notification_uuid` string, uuid, required — UUID of this notification
    - `time` integer, required — Time of the notification in epoch ms
    - `section_uuid` string, uuid, required — The target section of the notification
    - `content_container_uuid` string, uuid — Optional target container of the notification
    - `user` User
      - `name` string — Optional
      - `viafoura_id` object, required
        - `uuid` string, uuid, required — Viafoura UUID of the user
        - `id` integer, required — Viafoura integer ID of the user
      - `external_id` object
        - `provider` string — Optional user external login provider
        - `id` string — Optional user external login id
    - `recipients` User[], required — Recipients of the notification
      - `name` string — Optional
      - `viafoura_id` object, required
        - `uuid` string, uuid, required — Viafoura UUID of the user
        - `id` integer, required — Viafoura integer ID of the user
      - `external_id` object
        - `provider` string — Optional user external login provider
        - `id` string — Optional user external login id
    - `payload` NotificationPayload, required
      - `url` string, required — Target URL of the notification
      - `image_url` string, required — Image URL to display with the notification
      - `title` string — Optional
      - `description` string — Optional
      - `topic_id` string — Optional topic of a broadcast_topic notification
      - `content` Content
        - `uuid` string, uuid, required
        - `body` string — Optional
      - `target_content_uuid` string, uuid — Optional target content UUID of the notification

## Response `202`

Accepted

## Other responses

- `400` — Failure that should NOT be retried
- `401` — Auth header missing or invalid
- `500` — Failure that should be retried

---

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