---
title: "Claim Promo Offer"
method: POST
path: "/cabinet/promo/claim"
tags: ["Cabinet Promo"]
---

# Claim Promo Offer

`POST /cabinet/promo/claim`

## Request

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

Claim a promo offer.

## Request body

- ClaimOfferRequest: Request to claim an offer.
  - `offer_id` integer, required

## Response `200`

Successful Response

- ClaimOfferResponse: Response after claiming offer.
  - `success` boolean, required
  - `message` string, required
  - `discount_percent` integer, nullable
  - `expires_at` string, date-time, nullable

## Other responses

- `422`: Validation Error

## Changes

- **2026-11-03** `2360876ff9c5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/bedolagam/apis/remnawave-bot-admin-api/changes/cabinet/promo/claim/post.md)

---

[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)
