---
title: "Create Promotion Stack"
method: POST
path: "/v1/promotions/{campaignId}/stacks"
tags: ["Promotions"]
---

# Create Promotion Stack

`POST /v1/promotions/{campaignId}/stacks`

This method creates one promotion stack. The sequence of promotion tier IDs will determine the promotion stacking order.

## Request body

- PromotionsStacksCreateRequestBody — Request body schema for **POST** `v1/promotions/{campaignId}/stacks`.
  - `name` string, required — Promotion stack name.
  - `tiers` object, required — Contains the tier configuration. A promotion stack can include up to 30 tiers.
    - `ids` string[], required — Contains the list of tiers in a pre-defined sequence.
    - `hierarchy_mode` 'MANUAL'
  - `category_id` string — Promotion stack category ID.

## Response `200`

Returns a new stack object if a valid promotion campaign identifier was provided in the path and available promotion IDs in the payload.

- PromotionsStacksCreateResponseBody — Response body schema for **POST** `v1/promotions/{campaignId}/stacks`.
  - `name` string, required — Promotion stack name.
  - `tiers` object, required — Contains the tier configuration. A promotion stack can include up to 30 tiers.
    - `ids` string[], required — Contains the list of tiers in a pre-defined sequence.
    - `hierarchy_mode` 'MANUAL'
  - `id` string, required — Unique promotion stack ID.
  - `created_at` string, date-time, required — Timestamp representing the date and time when the promotion stack was created. The value is shown in the ISO 8601 format.
  - `campaign_id` string, required — Promotion stack's parent campaign's unique ID.
  - `object` 'promotion_stack', required — The type of the object represented by JSON.
  - `category_id` string, nullable, required — Promotion stack category ID.
  - `categories` PromotionStackBase[], required — Details about the category assigned to the promotion stack.
    - `name` string, required — Promotion stack name.
    - `tiers` object, required — Contains the tier configuration. A promotion stack can include up to 30 tiers.
      - `ids` string[], required — Contains the list of tiers in a pre-defined sequence.
      - `hierarchy_mode` 'MANUAL'

## Other responses

- `404` — Returns an error if the campaign or promotion tier cannot be found.

---

[API](https://skmtc.net/voucherifyio/apis/voucherify-api-async-actions.md) · [All operations](https://skmtc.net/voucherifyio/apis/voucherify-api-async-actions/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/voucherifyio/voucherify-api-async-actions/versions/4982266e0494/schema)
