---
title: "Execute Promotion"
method: POST
path: "/v1/billing/promotions/{promotion_id}"
tags: ["Billing", "billing"]
---

# Execute Promotion

`POST /v1/billing/promotions/{promotion_id}`

## Request

- Base URL: `https://client.api.prod.orsay.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://client.api.prod.orsay.ai/v1/billing/promotions/{promotion_id}`
- Auth: HTTP bearer

## Path parameters

- `promotion_id` string, uuid, required

## Request body

- PromotionRequest
  - `SuccessUrl` string, required
  - `CancelUrl` string, required
  - `ReturnUrl` string, nullable
  - `DataFastVisitorId` string, nullable
  - `DataFastSessionId` string, nullable
  - `Interval` 'month' | 'year'

## Response `200`

Successful Response

- BillingResponse
  - `CheckoutUrl` string, nullable
  - `ClientSecret` string, nullable
  - `RequestId` string, uuid, required

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-16** `ded10b609e50`: 1 info
  - added the new optional request property `Interval`
- **2026-09-13** `35b872275c15`: 2 info
  - added the new optional request property `DataFastSessionId`
  - added the new optional request property `DataFastVisitorId`

[Operation history](https://skmtc.dev/orsay/apis/orsay-api/changes/v1/billing/promotions/:promotion_id/post.md)

---

[API](https://skmtc.dev/orsay/apis/orsay-api.md) - [All operations](https://skmtc.dev/orsay/apis/orsay-api/llms.txt) - [OpenAPI document](https://skmtc.dev/orsay/apis/orsay-api/revisions/988a26cafef5?raw)
