---
title: "Update promotion"
method: PUT
path: "/promotions/{id}"
tags: ["Promotions"]
---

# Update promotion

`PUT /promotions/{id}`

## Request

- Base URL: `https://api.c1st.com/api`
- URL: `https://api.c1st.com/api/promotions/{id}`
- Auth: HTTP bearer

Replace the promotion object of a specific promotion with another.

## Path parameters

- `id` integer, required

## Request body

- object
  - `content` Promotion: Object representing a promotion.
    - `id` integer, nullable: A unique ID. Use this to handle this subscription.
    - `name` string: Short name for the promotion
    - `description` string, nullable: Description of the promotion. This is only displayed in the controlpanel, not for the customers.
    - `deleted` 0 | 1, nullable: Whether or not the promotion is deleted. Disabled promotions do not trigger even when inside the date range.
    - `startdate` string, nullable: Specifies when the promotion starts. Null if the promotion has no startdate and thus is always in effect (except if deleted).
    - `enddate` string, nullable: Specifies when the promotion ends. Null if the promotion has no enddate.
    - `minproducts` integer, nullable: Minimum number of prodcts before the promotion is in effect
    - `applyall` boolean, nullable: Whether or not to apply promotion to all
    - `productfilters` PromotionProductFilter[], nullable
      - `attribute` 'product_productno' | 'product_tag' | 'product_brand' | 'product_styleno': What attribute to filter the promotion on.
      - `value` union
        - string, nullable: The value that the attribute needs to have to match.
        - string[], nullable: A list of possible values. The attribute needs to match at least one of the values for the rule to apply.
    - `customerfilters` PromotionCustomerFilter[], nullable
      - `attribute` 'customer_tag': What attribute to filter the promotion on.
      - `value` union
        - string[]: A list of possible values. The attribute needs to match at least one of the values for the rule to apply.
        - string: The value that the attribute needs to have to match.
    - `loyalty_members_only` boolean, nullable
    - `serviceplanfilters` PromotionServicePlanFilter[], nullable
      - `attribute` 'serviceplan_handle': What attribute to filter the promotion on.
      - `value` union
        - string[]: A list of possible values. The attribute needs to match at least one of the values for the rule to apply.
        - string: The value that the attribute needs to have to match.
    - `articles` CartArticle[], nullable: A list of products from the cart that match the promotion. This will only be set in the case of the lookup endpoint.
      - `productno` string, nullable: The product number of the product that the article represents.
      - `quantity` number, nullable: The amount that is present of that product.
    - `storeid` integer, nullable
    - `productno_counts` object[]
      - `productno` string, nullable
      - `count` number, nullable
    - `count` integer, nullable: The number of times this promotion matches things in the cart. This will only be set in the case of the lookup endpoint.
    - `action` PromotionAction: The action / effect the promotion has on checkout.
      - `type` 'percentage' | 'adjustPriceBy' | 'percentageByCostprice' | 'totalPriceUnit': The type of the action.
      - `amount` number, double: The amount to be deducted, depending on the `type`.

## Response `200`

Ok

- object
  - `updated` integer: Whether or not the promotion was deleted. 0 for failure, 1 for success.

---

[API](https://skmtc.dev/c1st/apis/customers-1st-api.md) - [All operations](https://skmtc.dev/c1st/apis/customers-1st-api/llms.txt) - [OpenAPI document](https://skmtc.dev/c1st/apis/customers-1st-api/revisions/4250bb326f2a?raw)
