---
title: "Send push notification (Admin only)"
method: POST
path: "/push-notifications/send"
tags: ["Push Notifications"]
---

# Send push notification (Admin only)

`POST /push-notifications/send`

Send push notification to specified users.

This endpoint is typically used by the system internally.
In a production environment, you might want to add additional
authorization checks to ensure only admin users or system processes
can send notifications.

## Request body

- PushNotificationRequest
  - `user_ids` string[], required — List of user IDs to send notifications to
  - `payload` PushNotificationPayload, required
    - `title` string, required — Notification title
    - `body` string, required — Notification body
    - `data` object, nullable — Additional data payload
    - `sound` string, nullable — Notification sound
    - `badge` integer, nullable — Badge number for iOS

## Response `200`

Successful Response

- PushNotificationResponse
  - `success_count` integer, required — Number of successful notifications sent
  - `failure_count` integer, required — Number of failed notifications
  - `total_tokens` integer, required — Total number of tokens processed
  - `failed_tokens` string[] — List of failed tokens
  - `details` object, nullable — Additional response details

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/noso/apis/crucible-backend-api.md) · [All operations](https://skmtc.dev/noso/apis/crucible-backend-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/noso/crucible-backend-api/revisions/112efbdea3eb/schema)
