# PR04 - Update a promotion

Call FrequencyMaximum usage: Once per minuteRead MoreMore context

Endpoint: PUT /api/promotions/{promotion_internal_id}
Security: Shop-API-Key

## Security:

  - `Shop-API-Key` (unknown)
    apiKey in header Authorization scopes: ROLE_SHOP_ADMIN

## Path parameters:

  - `promotion_internal_id` (string, required)
    Promotion internal identifier

## Query parameters:

  - `shop_id` (integer)
    Use this parameter when your user has access to several shops. If not specified, the shop_id from your default shop will be used.

## Request fields (application/json):

  - `application_to_cart` (array)
    If applicable, promo code associated to the promotion. Only editable if promotion is upcoming.

  - `application_to_cart.promo_code` (string, required)
    Promo code associated to the promotion

  - `channel_codes` (array)
    Channels on which the promotion is applied. If none, promotion applied on all channels

  - `customer_group_ids` (array)
    The customer groups on which the promotion is applied. If none, promotion applies to all customer groups.

  - `customer_organization_ids` (array)
    The customer organizations on which the promotion is applied. If none, promotion applies to all customer organizations.

  - `end_date` (string)
    End date of the promotion period of activity

  - `internal_description` (string, required)
    Internal description of the promotion, set by the shop

  - `public_descriptions` (array)
    The public descriptions of the promotion, with the locales they apply to

  - `public_descriptions.locale` (string, required)
    Description's locale

  - `public_descriptions.value` (string, required)
    The description itself

  - `reward` (object, required)
    Defines the reward applied when promotion is triggered

  - `reward.selection` (object, required)
    The product assortment receiving the reward

  - `reward.selection.type` (string, required)
    The type of assortment selection for the reward
Enum: `"PURCHASED_ITEMS"`, `"OFFER"`, `"PRODUCT"`, `"CATEGORY"`, `"BRAND"`
    Enum: "BRAND", "CATEGORY", "OFFER", "PRODUCT", "PURCHASED_ITEMS"

  - `start_date` (string, required)
    Start date of the promotion period of activity. Only editable if promotion is upcoming.

  - `trigger` (object, required)
    Trigger of the promotion

  - `trigger.selection` (object, required)
    The product assortment triggering the promotion

  - `trigger.selection.type` (string, required)
    The type of assortment selection for the trigger
Enum: `"ALL"`, `"OFFER"`, `"PRODUCT"`, `"CATEGORY"`, `"BRAND"`
    Enum: "ALL", "BRAND", "CATEGORY", "OFFER", "PRODUCT"

## Request examples:

  - `Example with all values (application/json)` (unknown)

  - `Complete example with value types (application/json)` (unknown)

## Response 200:

  - `200` (unknown)
    OK

