---
title: "Broadcast Offer"
method: POST
path: "/cabinet/admin/promo-offers/broadcast"
tags: ["Admin Promo Offers"]
---

# Broadcast Offer

`POST /cabinet/admin/promo-offers/broadcast`

## Request

- The document declares no server URL.
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/bedolagam/apis/remnawave-bot-admin-api/docs/cabinet/admin/promo-offers/broadcast/post.ts> (a function with typed inputs; its response is checked against the schema)

Broadcast promo offer to users with optional Telegram notification.

## Request body

- AppCabinetRoutesAdminPromoOffersPromoOfferBroadcastRequest
  - `notification_type` string, required
  - `valid_hours` integer, required
  - `discount_percent` integer
  - `bonus_amount_kopeks` integer
  - `effect_type` string
  - `extra_data` object
  - `target` string, nullable
  - `user_id` integer, nullable
  - `telegram_id` integer, nullable
  - `email` string, nullable: User email (for email-only users)
  - `send_notification` boolean: Send Telegram notification to users
  - `message_text` string, nullable: Custom message text (HTML)
  - `button_text` string, nullable: Button text

## Response `201`

Successful Response

- AppCabinetRoutesAdminPromoOffersPromoOfferBroadcastResponse
  - `created_offers` integer, required
  - `user_ids` integer[], required
  - `target` string, nullable
  - `notifications_sent` integer
  - `notifications_failed` integer

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/bedolagam/apis/remnawave-bot-admin-api.md) - [All operations](https://skmtc.dev/bedolagam/apis/remnawave-bot-admin-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bedolagam/apis/remnawave-bot-admin-api/revisions/2360876ff9c5?raw)
