---
title: "Send batch notifications"
method: POST
path: "/api/notifications/send-batch"
tags: ["notifications"]
---

# Send batch notifications

`POST /api/notifications/send-batch`

Send the same Firebase notification to multiple users. Admin only.

## Request body

- SendBatchNotificationRequest — Request model for sending one notification to multiple users.
  - `user_ids` string[], required — Target user IDs.
  - `title` string, required — Notification title
  - `body` string, required — Notification body
  - `notification_type` 'chat' | 'booking' | 'payment' | 'subscription' | 'event' | 'general' | 'daily_morning' | 'daily_evening' | 'lunch' | 'journey' | 'corabea_plus' | 'diary_shared' | 'kit_document' — Notification type constants for FCM notifications.
  - `data` object, nullable — Optional FCM data payload (string key-value pairs)
  - `notification_metadata` object, nullable — Optional metadata for backend logs (chat_id, appointment_id, etc.)
  - `active_only` boolean — If true, send only to active FCM tokens

## Response `200`

Successful Response

- SendBatchNotificationResponse — Response model for batch notification send.
  - `total_users` integer, required — Total users requested
  - `processed_users` integer, required — Total users processed
  - `successful_users` integer, required — Users with fully successful delivery
  - `failed_users` integer, required — Users with zero successful devices or at least one failure
  - `success_count` integer, required — Total successful device sends across all users
  - `failure_count` integer, required — Total failed device sends across all users
  - `total_devices` integer, required — Total targeted devices across all users
  - `results` SendBatchNotificationUserResult[] — Per-user delivery results
    - `user_id` string, uuid, required — Recipient user ID
    - `success_count` integer, required — Number of successful device sends for this user
    - `failure_count` integer, required — Number of failed device sends for this user
    - `total_devices` integer, required — Total number of devices targeted for this user
    - `success` boolean, required — True when at least one device was reached and no failures occurred

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/corabea/apis/corabea-api.md) · [All operations](https://skmtc.dev/corabea/apis/corabea-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/corabea/corabea-api/revisions/13c1bce1bdc4/schema)
