---
title: "Submit Purchase"
method: POST
path: "/cabinet/subscription/purchase"
tags: ["Cabinet Subscription"]
---

# Submit Purchase

`POST /cabinet/subscription/purchase`

## Request

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

Submit subscription purchase (deduct from balance, classic mode only).

## Request body

- PurchasePreviewRequest: Request to preview purchase pricing.
  - `selection` PurchaseSelectionRequest, required: User's selection for subscription purchase.
    - `period_id` string, nullable: Period ID like 'days:30'
    - `period_days` integer, nullable: Period in days
    - `traffic_value` integer, nullable: Traffic in GB (0 = unlimited)
    - `servers` string[], nullable: Server UUIDs
    - `devices` integer, nullable: Device limit

## Response `200`

Successful Response

- object

## 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/subscription/purchase/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)
