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

# Webhook for notifications

`POST /notifications`

## Request

- Base URL: `https://client-provided.endpoint`
- URL: `https://client-provided.endpoint/notifications`
- Auth: API key in header `Authorization`

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.dev/viafoura/apis/webhooks-api.md) - [All operations](https://skmtc.dev/viafoura/apis/webhooks-api/llms.txt) - [OpenAPI document](https://skmtc.dev/viafoura/apis/webhooks-api/revisions/d2b5e07afc23?raw)
