# Update settings for current Workspace

- Operation ID: `endpointSettingsUpdateSettingsPUT`
- HTTP method: `PUT`
- Path: `/v4/promotions/settings`
- [Human-readable API reference](https://hub.synerise.com/api-reference/loyalty-and-engagement#tag/Promotion-settings/operation/endpointSettingsUpdateSettingsPUT)

## Self-contained OpenAPI method

The fenced document below contains this method's documentation and all of its local references. It is self-contained; no category or master specification fetch is required.

```yaml
openapi: 3.0.0
info:
  title: Synerise Public API
  version: 1.9.1
paths:
  /v4/promotions/settings:
    put:
      tags:
        - Promotion settings
      summary: Update settings for current Workspace
      description: |
        This method overrides all current settings. If you do not send a setting that currently exists, it will be reverted to default value.

        ---

        **API consumers:** <a href="/api-reference/authorization?tag=Authorization&amp;operationId=profileLogin" target="_blank" rel="noopener">Workspace (Business Profile)</a>, <a href="/api-reference/authorization?tag=Authorization&amp;operationId=userLogin" target="_blank" rel="noopener">Synerise User</a>

        **API key permission required:** `PROMOTIONS_SETTINGS_PROMOTIONS_UPDATE`

        **User role permission required:** `campaigns_personalised_promotions: update`
      operationId: endpointSettingsUpdateSettingsPUT
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                checkoutSettings:
                  type: object
                  description: Handbill checkout settings
                  nullable: true
                  properties:
                    handbillUuidsForCheckout:
                      type: array
                      description: Handbill UUIDs to use for checkout couponing
                      nullable: true
                      items:
                        type: string
                        format: uuid
                    codeGeneration:
                      type: object
                      description: Checkout code generation options
                      nullable: true
                      properties:
                        prefix:
                          type: string
                          description: Prefix added to each code
                        length:
                          type: integer
                          default: 36
                          description: Length of the random code to generate
                        crc:
                          type: boolean
                          description: When `true`, a CRC string is added to the end of the code
                enableCodeGeneration:
                  type: boolean
                  description: Flag which indicates if promotion code should be generated as ordinal number prefixed with prefix defined in `codePrefix`
                  nullable: true
                  example: true
                codePrefix:
                  type: string
                  description: Prefix which will be added to promotion code, when `enableCodeGeneration` is set to true
                  nullable: true
                  example: SYN
                blockTag:
                  type: string
                  description: Tag name which marks a profile as blocked. Blocked profiles do not receive promotions in POS methods and are not allowed to activate new promotions.
                  nullable: true
                  example: BLOCKED
                expression:
                  type: string
                  nullable: true
                  format: uuid
                  description: Expression UUID which will be used to count the balance of loyalty points in the promotion activation endpoint.
                promotionListSettings:
                  type: object
                  nullable: true
                  description: Filter for promotions in [`/promotion/get-for-client-by-custom-settings/{identifierType}/{identifierValue}`](#operation/GetClientPromotionsByACustomFilter) method
                  allOf:
                    - type: object
                      properties:
                        setFieldsValues:
                          type: object
                          deprecated: true
                          description: Set values on promotions when returning list to profile
                        where:
                          type: object
                          description: Promotion filter
                          properties:
                            excludeIds:
                              type: array
                              description: IDs of promotions to exclude from the list
                              nullable: true
                              items:
                                type: integer
                                example: 3
                            handbillPromotionIds:
                              type: array
                              description: Handbill promotion IDs to include
                              nullable: true
                              items:
                                type: integer
                                example: 3
                            visibilityStatus:
                              type: array
                              description: Filter by visibility status
                              nullable: true
                              items:
                                type: string
                                description: Profile-oriented status of the promotion.
                                enum:
                                  - DRAFT
                                  - PUBLISH
                                  - HIDDEN
                                default: DRAFT
                            status:
                              type: array
                              description: Promotion filter by assignment status
                              nullable: true
                              items:
                                type: string
                                description: Profile-oriented status of the promotion.
                                enum:
                                  - ASSIGNED
                                  - ACTIVE
                                  - REDEEMED
                            statusByType:
                              type: object
                              description: Filter by a combination of promotion type and status
                              properties:
                                GENERAL:
                                  type: array
                                  description: Promotion filter by assignment status
                                  nullable: true
                                  items:
                                    type: string
                                    description: Profile-oriented status of the promotion.
                                    enum:
                                      - ASSIGNED
                                      - ACTIVE
                                      - REDEEMED
                                CUSTOM:
                                  type: array
                                  description: Promotion filter by assignment status
                                  nullable: true
                                  items:
                                    type: string
                                    description: Profile-oriented status of the promotion.
                                    enum:
                                      - ASSIGNED
                                      - ACTIVE
                                      - REDEEMED
                                MEMBERS_ONLY:
                                  type: array
                                  description: Promotion filter by assignment status
                                  nullable: true
                                  items:
                                    type: string
                                    description: Profile-oriented status of the promotion.
                                    enum:
                                      - ASSIGNED
                                      - ACTIVE
                                      - REDEEMED
                                HANDBILL:
                                  type: array
                                  description: Promotion filter by assignment status
                                  nullable: true
                                  items:
                                    type: string
                                    description: Profile-oriented status of the promotion.
                                    enum:
                                      - ASSIGNED
                                      - ACTIVE
                                      - REDEEMED
                            target:
                              type: array
                              description: Promotion filter by target type
                              nullable: true
                              items:
                                type: string
                                description: If this field is set to "SEGMENT", you must provide a list of segments in `targetSegment`.
                                default: ALL
                                enum:
                                  - ALL
                                  - SEGMENT
                            targetByType:
                              type: object
                              description: Filter by a combination of promotion type and target
                              properties:
                                GENERAL:
                                  type: array
                                  description: Promotion filter by target type
                                  nullable: true
                                  items:
                                    type: string
                                    description: If this field is set to "SEGMENT", you must provide a list of segments in `targetSegment`.
                                    default: ALL
                                    enum:
                                      - ALL
                                      - SEGMENT
                                CUSTOM:
                                  type: array
                                  description: Promotion filter by target type
                                  nullable: true
                                  items:
                                    type: string
                                    description: If this field is set to "SEGMENT", you must provide a list of segments in `targetSegment`.
                                    default: ALL
                                    enum:
                                      - ALL
                                      - SEGMENT
                                MEMBERS_ONLY:
                                  type: array
                                  description: Promotion filter by target type
                                  nullable: true
                                  items:
                                    type: string
                                    description: If this field is set to "SEGMENT", you must provide a list of segments in `targetSegment`.
                                    default: ALL
                                    enum:
                                      - ALL
                                      - SEGMENT
                                HANDBILL:
                                  type: array
                                  description: Promotion filter by target type
                                  nullable: true
                                  items:
                                    type: string
                                    description: If this field is set to "SEGMENT", you must provide a list of segments in `targetSegment`.
                                    default: ALL
                                    enum:
                                      - ALL
                                      - SEGMENT
                            type:
                              type: array
                              description: Filter by promotion type
                              nullable: true
                              items:
                                type: string
                                description: Promotion type
                                enum:
                                  - MEMBERS_ONLY
                                  - HANDBILL
                                  - CUSTOM
                                  - GENERAL
                                default: GENERAL
                            presentOnly:
                              description: When set to `false`, expired promotions are included in the response.
                              type: boolean
                              nullable: true
                              default: true
                            lastingOnly:
                              description: When set to `true`, filters to promotions that are currently active and those that were not yet activated.
                              type: boolean
                              nullable: true
                              default: true
                            displayableOnly:
                              description: When set to `true`, filters to promotions that are currently configured to be displayed (by `displayFrom` and `displayTo` dates).
                              type: boolean
                              nullable: true
                              default: true
                            checkExistsInTarget:
                              nullable: true
                              type: boolean
                              default: true
                              description: When set to `true`, the profile must exist within the target segmentation.
                            tagNames:
                              type: array
                              description: Promotion filter by promotion tags
                              nullable: true
                              items:
                                type: string
                        fields:
                          type: array
                          description: Fields to be returned in the promotion object
                          nullable: true
                          items:
                            type: string
                        sort:
                          type: object
                          nullable: true
                          description: Promotion sorting settings
                          properties:
                            forDBQuery:
                              type: array
                              description: Sorting options for database queries (sort all promotions matched by the filter)
                              items:
                                type: object
                                properties:
                                  field:
                                    type: string
                                    description: Field name to sort by
                                    enum:
                                      - headerName
                                      - name
                                      - code
                                      - startAt
                                      - createdAt
                                      - updatedAt
                                      - expireAt
                                      - requireRedeemedPoints
                                      - type
                                      - priority
                                      - status
                                  direction:
                                    type: string
                                    description: Sorting direction
                                    enum:
                                      - asc
                                      - desc
                        page:
                          type: number
                          description: Page number to return for pagination. The first page has the index `1`.
                        limit:
                          type: number
                          description: The number of items to return per page
                promotionAssignmentSettings:
                  type: object
                  nullable: true
                  description: |
                    Filter for promotions in the [`/promotion/get-for-client/{identifierType}/{identifierValue}/handbill/{handbillUuid}`](#operation/getAssignHandbillForClient_GET) and `/promotion/get-for-client/{identifierType}/{identifierValue}/with-handbills` methods.

                    For `where` fields not defined in the stored settings, the following defaults apply: `target: ["ALL", "SEGMENT"]`, `visibilityStatus: ["PUBLISH"]`, `type: ["GENERAL", "CUSTOM", "MEMBERS_ONLY", "HANDBILL"]`, `presentOnly: true`, `lastingOnly: true`, `displayOnly: false`. Precedence (lowest to highest): defaults, stored settings, request query parameters.
                  allOf:
                    - type: object
                      properties:
                        setFieldsValues:
                          type: object
                          deprecated: true
                          description: Set values on promotions when returning list to profile
                        where:
                          type: object
                          description: Promotion filter
                          properties:
                            excludeIds:
                              type: array
                              description: IDs of promotions to exclude from the list
                              nullable: true
                              items:
                                type: integer
                                example: 3
                            handbillPromotionIds:
                              type: array
                              description: Handbill promotion IDs to include
                              nullable: true
                              items:
                                type: integer
                                example: 3
                            visibilityStatus:
                              type: array
                              description: Filter by visibility status
                              nullable: true
                              items:
                                type: string
                                description: Profile-oriented status of the promotion.
                                enum:
                                  - DRAFT
                                  - PUBLISH
                                  - HIDDEN
                                default: DRAFT
                            status:
                              type: array
                              description: Promotion filter by assignment status
                              nullable: true
                              items:
                                type: string
                                description: Profile-oriented status of the promotion.
                                enum:
                                  - ASSIGNED
                                  - ACTIVE
                                  - REDEEMED
                            statusByType:
                              type: object
                              description: Filter by a combination of promotion type and status
                              properties:
                                GENERAL:
                                  type: array
                                  description: Promotion filter by assignment status
                                  nullable: true
                                  items:
                                    type: string
                                    description: Profile-oriented status of the promotion.
                                    enum:
                                      - ASSIGNED
                                      - ACTIVE
                                      - REDEEMED
                                CUSTOM:
                                  type: array
                                  description: Promotion filter by assignment status
                                  nullable: true
                                  items:
                                    type: string
                                    description: Profile-oriented status of the promotion.
                                    enum:
                                      - ASSIGNED
                                      - ACTIVE
                                      - REDEEMED
                                MEMBERS_ONLY:
                                  type: array
                                  description: Promotion filter by assignment status
                                  nullable: true
                                  items:
                                    type: string
                                    description: Profile-oriented status of the promotion.
                                    enum:
                                      - ASSIGNED
                                      - ACTIVE
                                      - REDEEMED
                                HANDBILL:
                                  type: array
                                  description: Promotion filter by assignment status
                                  nullable: true
                                  items:
                                    type: string
                                    description: Profile-oriented status of the promotion.
                                    enum:
                                      - ASSIGNED
                                      - ACTIVE
                                      - REDEEMED
                            target:
                              type: array
                              description: Promotion filter by target type
                              nullable: true
                              items:
                                type: string
                                description: If this field is set to "SEGMENT", you must provide a list of segments in `targetSegment`.
                                default: ALL
                                enum:
                                  - ALL
                                  - SEGMENT
                            targetByType:
                              type: object
                              description: Filter by a combination of promotion type and target
                              properties:
                                GENERAL:
                                  type: array
                                  description: Promotion filter by target type
                                  nullable: true
                                  items:
                                    type: string
                                    description: If this field is set to "SEGMENT", you must provide a list of segments in `targetSegment`.
                                    default: ALL
                                    enum:
                                      - ALL
                                      - SEGMENT
                                CUSTOM:
                                  type: array
                                  description: Promotion filter by target type
                                  nullable: true
                                  items:
                                    type: string
                                    description: If this field is set to "SEGMENT", you must provide a list of segments in `targetSegment`.
                                    default: ALL
                                    enum:
                                      - ALL
                                      - SEGMENT
                                MEMBERS_ONLY:
                                  type: array
                                  description: Promotion filter by target type
                                  nullable: true
                                  items:
                                    type: string
                                    description: If this field is set to "SEGMENT", you must provide a list of segments in `targetSegment`.
                                    default: ALL
                                    enum:
                                      - ALL
                                      - SEGMENT
                                HANDBILL:
                                  type: array
                                  description: Promotion filter by target type
                                  nullable: true
                                  items:
                                    type: string
                                    description: If this field is set to "SEGMENT", you must provide a list of segments in `targetSegment`.
                                    default: ALL
                                    enum:
                                      - ALL
                                      - SEGMENT
                            type:
                              type: array
                              description: Filter by promotion type
                              nullable: true
                              items:
                                type: string
                                description: Promotion type
                                enum:
                                  - MEMBERS_ONLY
                                  - HANDBILL
                                  - CUSTOM
                                  - GENERAL
                                default: GENERAL
                            presentOnly:
                              description: When set to `false`, expired promotions are included in the response.
                              type: boolean
                              nullable: true
                              default: true
                            lastingOnly:
                              description: When set to `true`, filters to promotions that are currently active and those that were not yet activated.
                              type: boolean
                              nullable: true
                              default: true
                            displayableOnly:
                              description: When set to `true`, filters to promotions that are currently configured to be displayed (by `displayFrom` and `displayTo` dates).
                              type: boolean
                              nullable: true
                              default: true
                            checkExistsInTarget:
                              nullable: true
                              type: boolean
                              default: true
                              description: When set to `true`, the profile must exist within the target segmentation.
                            tagNames:
                              type: array
                              description: Promotion filter by promotion tags
                              nullable: true
                              items:
                                type: string
                        fields:
                          type: array
                          description: Fields to be returned in the promotion object
                          nullable: true
                          items:
                            type: string
                        sort:
                          type: object
                          nullable: true
                          description: Promotion sorting settings
                          properties:
                            forDBQuery:
                              type: array
                              description: Sorting options for database queries (sort all promotions matched by the filter)
                              items:
                                type: object
                                properties:
                                  field:
                                    type: string
                                    description: Field name to sort by
                                    enum:
                                      - headerName
                                      - name
                                      - code
                                      - startAt
                                      - createdAt
                                      - updatedAt
                                      - expireAt
                                      - requireRedeemedPoints
                                      - type
                                      - priority
                                      - status
                                  direction:
                                    type: string
                                    description: Sorting direction
                                    enum:
                                      - asc
                                      - desc
                        page:
                          type: number
                          description: Page number to return for pagination. The first page has the index `1`.
                        limit:
                          type: number
                          description: The number of items to return per page
                restorePointsOnProfileDeactivation:
                  type: boolean
                  description: When set to `true` and you use the method which [deactivates all promotions for a profile](#operation/deactivateAllPromotions), the points taken for activation of the promotion will be restored.
                  nullable: true
                  default: true
                allowRedeemCompletionWhenBlocked:
                  type: boolean
                  description: When set to `true`, the profile can complete the redemption of promotions that had been activated before a lock was put on that profile.
                  nullable: true
                  default: false
                saleSettings:
                  type: object
                  nullable: true
                  description: Settings for sales
                  properties:
                    discountSourceType:
                      type: integer
                      nullable: true
                      description: The type which is assigned to discounts to differentiate which ones come from Synerise when using the Process Basket/Checkout endpoints.
                      example: 0
                    clientIdCardType:
                      type: integer
                      nullable: true
                      description: The type of card which is used for extracting profile identification data
                      example: 0
                    handbillCheckout:
                      type: string
                      format: uuid
                      nullable: true
                      description: UUID of the Handbill which is used to generate promotions in the Process Checkout endpoints
                    priceValueBaseStrategy:
                      type: string
                      default: MUTABLE
                      description: |
                        
                        This strategy defines how basket discount values are calculated in the Process Basket endpoints.

                        - If the CONSTANT strategy is chosen, the discounts are always calculated based on the evidPrice of the item.
                        - If the MUTABLE strategy is chosen, the price of an item is updated after each promotion assignment and it is treated as a base for calculating the discounts that follow.

                        **Example:** One basket with two promotions (20%, 30%) and one item with a price of 1.00.

                        - When the CONSTANT strategy is chosen, the discounts are always subtracted from evidPrice=1.00, so the effective discounts are 0.20 and 0.30. The final price is 0.50.
                        - When the MUTABLE strategy is chosen, the discounts are calculated using the updated item price, so applying them in order (20%, 30%) is done in the following way:
                          1. `20% of 1.00 = 0.20, *updated price* = 0.80`
                          2. `30% of *updated price* = 30% * 0.80 = 0.24`
                          3. The final price is `1.00 - 0.20 - 0.24 = 0.56`

                          To define the order of applying promotions, use the `discountOrder` object.
                      enum:
                        - CONSTANT
                        - MUTABLE
                    combineBasketDiscounts:
                      type: boolean
                      description: If `true`, basket discounts are combined.
                      default: false
                    discountOrder:
                      type: object
                      description: Discount order settings
                      properties:
                        strategy:
                          type: string
                          description: The strategy defines the order of applying discounts. The direction is set in `direction`.
                          default: DISCOUNT_VALUE
                          enum:
                            - DISCOUNT_VALUE
                            - PRIORITY
                        direction:
                          type: string
                          description: Direction of the discount order within the strategy selected in `strategy`.
                          default: desc
                          enum:
                            - asc
                            - desc
                    returnFields:
                      type: array
                      items:
                        type: string
                      description: An array of promotion fields which should be returned in the Process Basket endpoints in the `transactionItems.grantedDiscounts` object.
                lockSettings:
                  type: object
                  nullable: true
                  description: Settings for locks
                  required:
                    - lockPromotionRequestByIdentifier
                  properties:
                    promotionRequestedLockTtl:
                      type: number
                      description: The time in seconds for which promotion deactivation will be blocked after a POS request.
                      default: 60
                    processSalePromotionActivationLockWaitTime:
                      type: number
                      description: The time in seconds that the system will wait and retry to acquire a promotion activation lock during the process sale operation.
                    lockPromotionRequestByIdentifier:
                      type: boolean
                      description: Indicates if POS should provide the `lockIdentifier`, which puts a lock on promotion fetching the promotion list. This identifier can be sent when using the [Get Profile promotions by a custom filter](#operation/GetClientPromotionsByACustomFilter) endpoint.
                      nullable: false
                transferSettings:
                  type: array
                  minItems: 1
                  maxItems: 1
                  description: Settings for point transfers
                  items:
                    type: object
                    properties:
                      expression:
                        type: string
                        format: uuid
                        description: UUID of expression that defines how the points should be calculated when evaluating sender points balance
                        example: 2395fc33-f2f0-420c-8e7b-0ac63c3454de
                      recipient:
                        type: object
                        description: Point recipient settings
                        properties:
                          segments:
                            type: array
                            nullable: true
                            description: IDs of the Profile segmentations that can participate in point transfers as recipients
                            items:
                              type: string
                      sender:
                        type: object
                        description: Point sender settings
                        properties:
                          segments:
                            type: array
                            nullable: true
                            description: IDs of the Profile segmentations that can participate in point transfers as senders
                            items:
                              type: string
                cashbackSettings:
                  type: object
                  description: Settings for cashback mechanism
                  nullable: true
                  required:
                    - exchangeRate
                  properties:
                    exchangeRate:
                      type: number
                      minimum: 0.0001
                      description: Defines how much currency corresponds to one point. For example, if the currency is PLN and exchangeRate is 2, then 1 point equals 2 PLN.
                    limits:
                      type: object
                      nullable: true
                      description: Defines the limits on cashback usage
                      properties:
                        minPoints:
                          type: integer
                          nullable: true
                          minimum: 1
                          description: The minimum number of points required to spend for cashback. If null - there is no limit defined.
                          example: 10
                        maxPoints:
                          type: integer
                          nullable: true
                          minimum: 1
                          description: The maximum number of points allowed to spend for cashback. If null - there is no limit defined.
                          example: 1000
                        maxTransactionAmount:
                          type: number
                          nullable: true
                          minimum: 0.01
                          description: Maximum amount in local currency to redeem in a transaction. If null - there is no limit defined.
                          example: 20
                        maxTransactionPercentage:
                          type: number
                          nullable: true
                          description: Defines how much (in percent) of the total transaction amount can be treated as cashback. If null - there is no limit defined.
                          example: 50
                          minimum: 0.01
                          maximum: 100
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      saleSettings:
                        type: object
                        nullable: true
                        description: Settings for sales
                        properties:
                          discountSourceType:
                            type: integer
                            nullable: true
                            description: The type which is assigned to discounts to differentiate which ones come from Synerise when using the Process Basket/Checkout endpoints.
                            example: 0
                          clientIdCardType:
                            type: integer
                            nullable: true
                            description: The type of card which is used for extracting profile identification data
                            example: 0
                          handbillCheckout:
                            type: string
                            format: uuid
                            nullable: true
                            description: UUID of the Handbill which is used to generate promotions in the Process Checkout endpoints
                          priceValueBaseStrategy:
                            type: string
                            default: MUTABLE
                            description: |
                              
                              This strategy defines how basket discount values are calculated in the Process Basket endpoints.

                              - If the CONSTANT strategy is chosen, the discounts are always calculated based on the evidPrice of the item.
                              - If the MUTABLE strategy is chosen, the price of an item is updated after each promotion assignment and it is treated as a base for calculating the discounts that follow.

                              **Example:** One basket with two promotions (20%, 30%) and one item with a price of 1.00.

                              - When the CONSTANT strategy is chosen, the discounts are always subtracted from evidPrice=1.00, so the effective discounts are 0.20 and 0.30. The final price is 0.50.
                              - When the MUTABLE strategy is chosen, the discounts are calculated using the updated item price, so applying them in order (20%, 30%) is done in the following way:
                                1. `20% of 1.00 = 0.20, *updated price* = 0.80`
                                2. `30% of *updated price* = 30% * 0.80 = 0.24`
                                3. The final price is `1.00 - 0.20 - 0.24 = 0.56`

                                To define the order of applying promotions, use the `discountOrder` object.
                            enum:
                              - CONSTANT
                              - MUTABLE
                          combineBasketDiscounts:
                            type: boolean
                            description: If `true`, basket discounts are combined.
                            default: false
                          discountOrder:
                            type: object
                            description: Discount order settings
                            properties:
                              strategy:
                                type: string
                                description: The strategy defines the order of applying discounts. The direction is set in `direction`.
                                default: DISCOUNT_VALUE
                                enum:
                                  - DISCOUNT_VALUE
                                  - PRIORITY
                              direction:
                                type: string
                                description: Direction of the discount order within the strategy selected in `strategy`.
                                default: desc
                                enum:
                                  - asc
                                  - desc
                          returnFields:
                            type: array
                            items:
                              type: string
                            description: An array of promotion fields which should be returned in the Process Basket endpoints in the `transactionItems.grantedDiscounts` object.
                    additionalProperties:
                      description: More settings
                    default: {}
              example:
                application/json:
                  data:
                    expression: xxxxxxx-d047-40fd-99c8-yyyyxxxxyyy
                    blockTag: BLOCK_PROMOTIONS
                    promotionListSettings:
                      fields:
                        - code
                        - possibleRedeems
                        - lastingAt
                        - vouchers
                      sort: NONE
                      limit: 200
                      where:
                        status:
                          - ASSIGNED
                          - ACTIVE
                        type:
                          - CUSTOM
                          - MEMBERS_ONLY
                          - HANDBILL
                        target:
                          - ALL
                          - SEGMENT
                        tagNames: null
                        lastingOnly: true
                        presentOnly: true
                        statusByType:
                          CUSTOM:
                            - ACTIVE
                          HANDBILL:
                            - ASSIGNED
                        targetByType:
                          CUSTOM:
                            - ALL
                          HANDBILL:
                            - ALL
                          MEMBERS_ONLY:
                            - SEGMENT
                        visibilityStatus:
                          - PUBLISH
                          - HIDDEN
        "400":
          description: Request body invalid/malformed/missing elements
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    title: JSON content issue
                    properties:
                      message:
                        type: string
                        description: Summary of the error
                      error:
                        description: Details of the error
                        anyOf:
                          - type: array
                            description: An array of objects with error details
                            items:
                              type: object
                              description: Details of an error
                              properties:
                                message:
                                  type: string
                                  description: Short description of the error
                                  example: Internal Error
                                additionalProperties:
                                  description: Additional information, if applicable
                          - type: string
                            description: Description of the error
                  - type: object
                    title: JSON structure issue
                    properties:
                      message:
                        type: string
                        description: Summary of the error
                      code:
                        type: string
                        description: String-type code of the error
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP code of the problem
                  error:
                    type: string
                    description: Summary of the error
                  message:
                    type: string
                    description: Error details
                  timestamp:
                    type: string
                    description: Time when the error occurred
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    description: HTTP code of the problem
                  error:
                    type: string
                    description: Summary of the error
                  message:
                    type: string
                    description: Error details
                  timestamp:
                    type: string
                    description: Time when the error occurred
      x-snr-doc-urls:
        - /api-reference/loyalty-and-engagement#tag/Promotion-settings/operation/endpointSettingsUpdateSettingsPUT
      x-codeSamples:
        - lang: cURL
          label: cURL
          source: |-
            curl --request PUT \
              --url https://api.synerise.com/v4/promotions/settings \
              --header 'content-type: application/json' \
              --data '{"checkoutSettings":{"handbillUuidsForCheckout":["497f6eca-6276-4993-bfeb-53cbbbba6f08"],"codeGeneration":{"prefix":"string","length":36,"crc":true}},"enableCodeGeneration":true,"codePrefix":"SYN","blockTag":"BLOCKED","expression":"8e30707e-988c-498c-a88e-47375a3dcfb5","promotionListSettings":{"setFieldsValues":{},"where":{"excludeIds":[3],"handbillPromotionIds":[3],"visibilityStatus":["DRAFT"],"status":["ASSIGNED"],"statusByType":{"GENERAL":["ASSIGNED"],"CUSTOM":["ASSIGNED"],"MEMBERS_ONLY":["ASSIGNED"],"HANDBILL":["ASSIGNED"]},"target":["ALL"],"targetByType":{"GENERAL":["ALL"],"CUSTOM":["ALL"],"MEMBERS_ONLY":["ALL"],"HANDBILL":["ALL"]},"type":["MEMBERS_ONLY"],"presentOnly":true,"lastingOnly":true,"displayableOnly":true,"checkExistsInTarget":true,"tagNames":["string"]},"fields":["string"],"sort":{"forDBQuery":[{"field":"headerName","direction":"asc"}]},"page":0,"limit":0},"promotionAssignmentSettings":{"setFieldsValues":{},"where":{"excludeIds":[3],"handbillPromotionIds":[3],"visibilityStatus":["DRAFT"],"status":["ASSIGNED"],"statusByType":{"GENERAL":["ASSIGNED"],"CUSTOM":["ASSIGNED"],"MEMBERS_ONLY":["ASSIGNED"],"HANDBILL":["ASSIGNED"]},"target":["ALL"],"targetByType":{"GENERAL":["ALL"],"CUSTOM":["ALL"],"MEMBERS_ONLY":["ALL"],"HANDBILL":["ALL"]},"type":["MEMBERS_ONLY"],"presentOnly":true,"lastingOnly":true,"displayableOnly":true,"checkExistsInTarget":true,"tagNames":["string"]},"fields":["string"],"sort":{"forDBQuery":[{"field":"headerName","direction":"asc"}]},"page":0,"limit":0},"restorePointsOnProfileDeactivation":true,"allowRedeemCompletionWhenBlocked":false,"saleSettings":{"discountSourceType":0,"clientIdCardType":0,"handbillCheckout":"04845f2a-86bf-4319-89c4-1f24d4e1f58e","priceValueBaseStrategy":"CONSTANT","combineBasketDiscounts":false,"discountOrder":{"strategy":"DISCOUNT_VALUE","direction":"asc"},"returnFields":["string"]},"lockSettings":{"promotionRequestedLockTtl":60,"processSalePromotionActivationLockWaitTime":0,"lockPromotionRequestByIdentifier":true},"transferSettings":[{"expression":"2395fc33-f2f0-420c-8e7b-0ac63c3454de","recipient":{"segments":["string"]},"sender":{"segments":["string"]}}],"cashbackSettings":{"exchangeRate":0.0001,"limits":{"minPoints":10,"maxPoints":1000,"maxTransactionAmount":20,"maxTransactionPercentage":50}}}'
        - lang: Python
          label: Python
          source: |-
            import http.client

            conn = http.client.HTTPSConnection("api.synerise.com")

            payload = "{\"checkoutSettings\":{\"handbillUuidsForCheckout\":[\"497f6eca-6276-4993-bfeb-53cbbbba6f08\"],\"codeGeneration\":{\"prefix\":\"string\",\"length\":36,\"crc\":true}},\"enableCodeGeneration\":true,\"codePrefix\":\"SYN\",\"blockTag\":\"BLOCKED\",\"expression\":\"8e30707e-988c-498c-a88e-47375a3dcfb5\",\"promotionListSettings\":{\"setFieldsValues\":{},\"where\":{\"excludeIds\":[3],\"handbillPromotionIds\":[3],\"visibilityStatus\":[\"DRAFT\"],\"status\":[\"ASSIGNED\"],\"statusByType\":{\"GENERAL\":[\"ASSIGNED\"],\"CUSTOM\":[\"ASSIGNED\"],\"MEMBERS_ONLY\":[\"ASSIGNED\"],\"HANDBILL\":[\"ASSIGNED\"]},\"target\":[\"ALL\"],\"targetByType\":{\"GENERAL\":[\"ALL\"],\"CUSTOM\":[\"ALL\"],\"MEMBERS_ONLY\":[\"ALL\"],\"HANDBILL\":[\"ALL\"]},\"type\":[\"MEMBERS_ONLY\"],\"presentOnly\":true,\"lastingOnly\":true,\"displayableOnly\":true,\"checkExistsInTarget\":true,\"tagNames\":[\"string\"]},\"fields\":[\"string\"],\"sort\":{\"forDBQuery\":[{\"field\":\"headerName\",\"direction\":\"asc\"}]},\"page\":0,\"limit\":0},\"promotionAssignmentSettings\":{\"setFieldsValues\":{},\"where\":{\"excludeIds\":[3],\"handbillPromotionIds\":[3],\"visibilityStatus\":[\"DRAFT\"],\"status\":[\"ASSIGNED\"],\"statusByType\":{\"GENERAL\":[\"ASSIGNED\"],\"CUSTOM\":[\"ASSIGNED\"],\"MEMBERS_ONLY\":[\"ASSIGNED\"],\"HANDBILL\":[\"ASSIGNED\"]},\"target\":[\"ALL\"],\"targetByType\":{\"GENERAL\":[\"ALL\"],\"CUSTOM\":[\"ALL\"],\"MEMBERS_ONLY\":[\"ALL\"],\"HANDBILL\":[\"ALL\"]},\"type\":[\"MEMBERS_ONLY\"],\"presentOnly\":true,\"lastingOnly\":true,\"displayableOnly\":true,\"checkExistsInTarget\":true,\"tagNames\":[\"string\"]},\"fields\":[\"string\"],\"sort\":{\"forDBQuery\":[{\"field\":\"headerName\",\"direction\":\"asc\"}]},\"page\":0,\"limit\":0},\"restorePointsOnProfileDeactivation\":true,\"allowRedeemCompletionWhenBlocked\":false,\"saleSettings\":{\"discountSourceType\":0,\"clientIdCardType\":0,\"handbillCheckout\":\"04845f2a-86bf-4319-89c4-1f24d4e1f58e\",\"priceValueBaseStrategy\":\"CONSTANT\",\"combineBasketDiscounts\":false,\"discountOrder\":{\"strategy\":\"DISCOUNT_VALUE\",\"direction\":\"asc\"},\"returnFields\":[\"string\"]},\"lockSettings\":{\"promotionRequestedLockTtl\":60,\"processSalePromotionActivationLockWaitTime\":0,\"lockPromotionRequestByIdentifier\":true},\"transferSettings\":[{\"expression\":\"2395fc33-f2f0-420c-8e7b-0ac63c3454de\",\"recipient\":{\"segments\":[\"string\"]},\"sender\":{\"segments\":[\"string\"]}}],\"cashbackSettings\":{\"exchangeRate\":0.0001,\"limits\":{\"minPoints\":10,\"maxPoints\":1000,\"maxTransactionAmount\":20,\"maxTransactionPercentage\":50}}}"

            headers = { 'content-type': "application/json" }

            conn.request("PUT", "/v4/promotions/settings", payload, headers)

            res = conn.getresponse()
            data = res.read()

            print(data.decode("utf-8"))
        - lang: JavaScript
          label: JavaScript
          source: |-
            const data = JSON.stringify({
              "checkoutSettings": {
                "handbillUuidsForCheckout": [
                  "497f6eca-6276-4993-bfeb-53cbbbba6f08"
                ],
                "codeGeneration": {
                  "prefix": "string",
                  "length": 36,
                  "crc": true
                }
              },
              "enableCodeGeneration": true,
              "codePrefix": "SYN",
              "blockTag": "BLOCKED",
              "expression": "8e30707e-988c-498c-a88e-47375a3dcfb5",
              "promotionListSettings": {
                "setFieldsValues": {},
                "where": {
                  "excludeIds": [
                    3
                  ],
                  "handbillPromotionIds": [
                    3
                  ],
                  "visibilityStatus": [
                    "DRAFT"
                  ],
                  "status": [
                    "ASSIGNED"
                  ],
                  "statusByType": {
                    "GENERAL": [
                      "ASSIGNED"
                    ],
                    "CUSTOM": [
                      "ASSIGNED"
                    ],
                    "MEMBERS_ONLY": [
                      "ASSIGNED"
                    ],
                    "HANDBILL": [
                      "ASSIGNED"
                    ]
                  },
                  "target": [
                    "ALL"
                  ],
                  "targetByType": {
                    "GENERAL": [
                      "ALL"
                    ],
                    "CUSTOM": [
                      "ALL"
                    ],
                    "MEMBERS_ONLY": [
                      "ALL"
                    ],
                    "HANDBILL": [
                      "ALL"
                    ]
                  },
                  "type": [
                    "MEMBERS_ONLY"
                  ],
                  "presentOnly": true,
                  "lastingOnly": true,
                  "displayableOnly": true,
                  "checkExistsInTarget": true,
                  "tagNames": [
                    "string"
                  ]
                },
                "fields": [
                  "string"
                ],
                "sort": {
                  "forDBQuery": [
                    {
                      "field": "headerName",
                      "direction": "asc"
                    }
                  ]
                },
                "page": 0,
                "limit": 0
              },
              "promotionAssignmentSettings": {
                "setFieldsValues": {},
                "where": {
                  "excludeIds": [
                    3
                  ],
                  "handbillPromotionIds": [
                    3
                  ],
                  "visibilityStatus": [
                    "DRAFT"
                  ],
                  "status": [
                    "ASSIGNED"
                  ],
                  "statusByType": {
                    "GENERAL": [
                      "ASSIGNED"
                    ],
                    "CUSTOM": [
                      "ASSIGNED"
                    ],
                    "MEMBERS_ONLY": [
                      "ASSIGNED"
                    ],
                    "HANDBILL": [
                      "ASSIGNED"
                    ]
                  },
                  "target": [
                    "ALL"
                  ],
                  "targetByType": {
                    "GENERAL": [
                      "ALL"
                    ],
                    "CUSTOM": [
                      "ALL"
                    ],
                    "MEMBERS_ONLY": [
                      "ALL"
                    ],
                    "HANDBILL": [
                      "ALL"
                    ]
                  },
                  "type": [
                    "MEMBERS_ONLY"
                  ],
                  "presentOnly": true,
                  "lastingOnly": true,
                  "displayableOnly": true,
                  "checkExistsInTarget": true,
                  "tagNames": [
                    "string"
                  ]
                },
                "fields": [
                  "string"
                ],
                "sort": {
                  "forDBQuery": [
                    {
                      "field": "headerName",
                      "direction": "asc"
                    }
                  ]
                },
                "page": 0,
                "limit": 0
              },
              "restorePointsOnProfileDeactivation": true,
              "allowRedeemCompletionWhenBlocked": false,
              "saleSettings": {
                "discountSourceType": 0,
                "clientIdCardType": 0,
                "handbillCheckout": "04845f2a-86bf-4319-89c4-1f24d4e1f58e",
                "priceValueBaseStrategy": "CONSTANT",
                "combineBasketDiscounts": false,
                "discountOrder": {
                  "strategy": "DISCOUNT_VALUE",
                  "direction": "asc"
                },
                "returnFields": [
                  "string"
                ]
              },
              "lockSettings": {
                "promotionRequestedLockTtl": 60,
                "processSalePromotionActivationLockWaitTime": 0,
                "lockPromotionRequestByIdentifier": true
              },
              "transferSettings": [
                {
                  "expression": "2395fc33-f2f0-420c-8e7b-0ac63c3454de",
                  "recipient": {
                    "segments": [
                      "string"
                    ]
                  },
                  "sender": {
                    "segments": [
                      "string"
                    ]
                  }
                }
              ],
              "cashbackSettings": {
                "exchangeRate": 0.0001,
                "limits": {
                  "minPoints": 10,
                  "maxPoints": 1000,
                  "maxTransactionAmount": 20,
                  "maxTransactionPercentage": 50
                }
              }
            });

            const xhr = new XMLHttpRequest();
            xhr.withCredentials = true;

            xhr.addEventListener("readystatechange", function () {
              if (this.readyState === this.DONE) {
                console.log(this.responseText);
              }
            });

            xhr.open("PUT", "https://api.synerise.com/v4/promotions/settings");
            xhr.setRequestHeader("content-type", "application/json");

            xhr.send(data);
        - lang: Node.js
          label: Node.js
          source: |-
            const http = require("https");

            const options = {
              "method": "PUT",
              "hostname": "api.synerise.com",
              "port": null,
              "path": "/v4/promotions/settings",
              "headers": {
                "content-type": "application/json"
              }
            };

            const req = http.request(options, function (res) {
              const chunks = [];

              res.on("data", function (chunk) {
                chunks.push(chunk);
              });

              res.on("end", function () {
                const body = Buffer.concat(chunks);
                console.log(body.toString());
              });
            });

            req.write(JSON.stringify({
              checkoutSettings: {
                handbillUuidsForCheckout: ['497f6eca-6276-4993-bfeb-53cbbbba6f08'],
                codeGeneration: {prefix: 'string', length: 36, crc: true}
              },
              enableCodeGeneration: true,
              codePrefix: 'SYN',
              blockTag: 'BLOCKED',
              expression: '8e30707e-988c-498c-a88e-47375a3dcfb5',
              promotionListSettings: {
                setFieldsValues: {},
                where: {
                  excludeIds: [3],
                  handbillPromotionIds: [3],
                  visibilityStatus: ['DRAFT'],
                  status: ['ASSIGNED'],
                  statusByType: {
                    GENERAL: ['ASSIGNED'],
                    CUSTOM: ['ASSIGNED'],
                    MEMBERS_ONLY: ['ASSIGNED'],
                    HANDBILL: ['ASSIGNED']
                  },
                  target: ['ALL'],
                  targetByType: {GENERAL: ['ALL'], CUSTOM: ['ALL'], MEMBERS_ONLY: ['ALL'], HANDBILL: ['ALL']},
                  type: ['MEMBERS_ONLY'],
                  presentOnly: true,
                  lastingOnly: true,
                  displayableOnly: true,
                  checkExistsInTarget: true,
                  tagNames: ['string']
                },
                fields: ['string'],
                sort: {forDBQuery: [{field: 'headerName', direction: 'asc'}]},
                page: 0,
                limit: 0
              },
              promotionAssignmentSettings: {
                setFieldsValues: {},
                where: {
                  excludeIds: [3],
                  handbillPromotionIds: [3],
                  visibilityStatus: ['DRAFT'],
                  status: ['ASSIGNED'],
                  statusByType: {
                    GENERAL: ['ASSIGNED'],
                    CUSTOM: ['ASSIGNED'],
                    MEMBERS_ONLY: ['ASSIGNED'],
                    HANDBILL: ['ASSIGNED']
                  },
                  target: ['ALL'],
                  targetByType: {GENERAL: ['ALL'], CUSTOM: ['ALL'], MEMBERS_ONLY: ['ALL'], HANDBILL: ['ALL']},
                  type: ['MEMBERS_ONLY'],
                  presentOnly: true,
                  lastingOnly: true,
                  displayableOnly: true,
                  checkExistsInTarget: true,
                  tagNames: ['string']
                },
                fields: ['string'],
                sort: {forDBQuery: [{field: 'headerName', direction: 'asc'}]},
                page: 0,
                limit: 0
              },
              restorePointsOnProfileDeactivation: true,
              allowRedeemCompletionWhenBlocked: false,
              saleSettings: {
                discountSourceType: 0,
                clientIdCardType: 0,
                handbillCheckout: '04845f2a-86bf-4319-89c4-1f24d4e1f58e',
                priceValueBaseStrategy: 'CONSTANT',
                combineBasketDiscounts: false,
                discountOrder: {strategy: 'DISCOUNT_VALUE', direction: 'asc'},
                returnFields: ['string']
              },
              lockSettings: {
                promotionRequestedLockTtl: 60,
                processSalePromotionActivationLockWaitTime: 0,
                lockPromotionRequestByIdentifier: true
              },
              transferSettings: [
                {
                  expression: '2395fc33-f2f0-420c-8e7b-0ac63c3454de',
                  recipient: {segments: ['string']},
                  sender: {segments: ['string']}
                }
              ],
              cashbackSettings: {
                exchangeRate: 0.0001,
                limits: {
                  minPoints: 10,
                  maxPoints: 1000,
                  maxTransactionAmount: 20,
                  maxTransactionPercentage: 50
                }
              }
            }));
            req.end();
        - lang: PHP
          label: PHP
          source: |-
            <?php

            $request = new HttpRequest();
            $request->setUrl('https://api.synerise.com/v4/promotions/settings');
            $request->setMethod(HTTP_METH_PUT);

            $request->setHeaders([
              'content-type' => 'application/json'
            ]);

            $request->setBody('{"checkoutSettings":{"handbillUuidsForCheckout":["497f6eca-6276-4993-bfeb-53cbbbba6f08"],"codeGeneration":{"prefix":"string","length":36,"crc":true}},"enableCodeGeneration":true,"codePrefix":"SYN","blockTag":"BLOCKED","expression":"8e30707e-988c-498c-a88e-47375a3dcfb5","promotionListSettings":{"setFieldsValues":{},"where":{"excludeIds":[3],"handbillPromotionIds":[3],"visibilityStatus":["DRAFT"],"status":["ASSIGNED"],"statusByType":{"GENERAL":["ASSIGNED"],"CUSTOM":["ASSIGNED"],"MEMBERS_ONLY":["ASSIGNED"],"HANDBILL":["ASSIGNED"]},"target":["ALL"],"targetByType":{"GENERAL":["ALL"],"CUSTOM":["ALL"],"MEMBERS_ONLY":["ALL"],"HANDBILL":["ALL"]},"type":["MEMBERS_ONLY"],"presentOnly":true,"lastingOnly":true,"displayableOnly":true,"checkExistsInTarget":true,"tagNames":["string"]},"fields":["string"],"sort":{"forDBQuery":[{"field":"headerName","direction":"asc"}]},"page":0,"limit":0},"promotionAssignmentSettings":{"setFieldsValues":{},"where":{"excludeIds":[3],"handbillPromotionIds":[3],"visibilityStatus":["DRAFT"],"status":["ASSIGNED"],"statusByType":{"GENERAL":["ASSIGNED"],"CUSTOM":["ASSIGNED"],"MEMBERS_ONLY":["ASSIGNED"],"HANDBILL":["ASSIGNED"]},"target":["ALL"],"targetByType":{"GENERAL":["ALL"],"CUSTOM":["ALL"],"MEMBERS_ONLY":["ALL"],"HANDBILL":["ALL"]},"type":["MEMBERS_ONLY"],"presentOnly":true,"lastingOnly":true,"displayableOnly":true,"checkExistsInTarget":true,"tagNames":["string"]},"fields":["string"],"sort":{"forDBQuery":[{"field":"headerName","direction":"asc"}]},"page":0,"limit":0},"restorePointsOnProfileDeactivation":true,"allowRedeemCompletionWhenBlocked":false,"saleSettings":{"discountSourceType":0,"clientIdCardType":0,"handbillCheckout":"04845f2a-86bf-4319-89c4-1f24d4e1f58e","priceValueBaseStrategy":"CONSTANT","combineBasketDiscounts":false,"discountOrder":{"strategy":"DISCOUNT_VALUE","direction":"asc"},"returnFields":["string"]},"lockSettings":{"promotionRequestedLockTtl":60,"processSalePromotionActivationLockWaitTime":0,"lockPromotionRequestByIdentifier":true},"transferSettings":[{"expression":"2395fc33-f2f0-420c-8e7b-0ac63c3454de","recipient":{"segments":["string"]},"sender":{"segments":["string"]}}],"cashbackSettings":{"exchangeRate":0.0001,"limits":{"minPoints":10,"maxPoints":1000,"maxTransactionAmount":20,"maxTransactionPercentage":50}}}');

            try {
              $response = $request->send();

              echo $response->getBody();
            } catch (HttpException $ex) {
              echo $ex;
            }
        - lang: Java
          label: Java
          source: |-
            HttpResponse<String> response = Unirest.put("https://api.synerise.com/v4/promotions/settings")
              .header("content-type", "application/json")
              .body("{\"checkoutSettings\":{\"handbillUuidsForCheckout\":[\"497f6eca-6276-4993-bfeb-53cbbbba6f08\"],\"codeGeneration\":{\"prefix\":\"string\",\"length\":36,\"crc\":true}},\"enableCodeGeneration\":true,\"codePrefix\":\"SYN\",\"blockTag\":\"BLOCKED\",\"expression\":\"8e30707e-988c-498c-a88e-47375a3dcfb5\",\"promotionListSettings\":{\"setFieldsValues\":{},\"where\":{\"excludeIds\":[3],\"handbillPromotionIds\":[3],\"visibilityStatus\":[\"DRAFT\"],\"status\":[\"ASSIGNED\"],\"statusByType\":{\"GENERAL\":[\"ASSIGNED\"],\"CUSTOM\":[\"ASSIGNED\"],\"MEMBERS_ONLY\":[\"ASSIGNED\"],\"HANDBILL\":[\"ASSIGNED\"]},\"target\":[\"ALL\"],\"targetByType\":{\"GENERAL\":[\"ALL\"],\"CUSTOM\":[\"ALL\"],\"MEMBERS_ONLY\":[\"ALL\"],\"HANDBILL\":[\"ALL\"]},\"type\":[\"MEMBERS_ONLY\"],\"presentOnly\":true,\"lastingOnly\":true,\"displayableOnly\":true,\"checkExistsInTarget\":true,\"tagNames\":[\"string\"]},\"fields\":[\"string\"],\"sort\":{\"forDBQuery\":[{\"field\":\"headerName\",\"direction\":\"asc\"}]},\"page\":0,\"limit\":0},\"promotionAssignmentSettings\":{\"setFieldsValues\":{},\"where\":{\"excludeIds\":[3],\"handbillPromotionIds\":[3],\"visibilityStatus\":[\"DRAFT\"],\"status\":[\"ASSIGNED\"],\"statusByType\":{\"GENERAL\":[\"ASSIGNED\"],\"CUSTOM\":[\"ASSIGNED\"],\"MEMBERS_ONLY\":[\"ASSIGNED\"],\"HANDBILL\":[\"ASSIGNED\"]},\"target\":[\"ALL\"],\"targetByType\":{\"GENERAL\":[\"ALL\"],\"CUSTOM\":[\"ALL\"],\"MEMBERS_ONLY\":[\"ALL\"],\"HANDBILL\":[\"ALL\"]},\"type\":[\"MEMBERS_ONLY\"],\"presentOnly\":true,\"lastingOnly\":true,\"displayableOnly\":true,\"checkExistsInTarget\":true,\"tagNames\":[\"string\"]},\"fields\":[\"string\"],\"sort\":{\"forDBQuery\":[{\"field\":\"headerName\",\"direction\":\"asc\"}]},\"page\":0,\"limit\":0},\"restorePointsOnProfileDeactivation\":true,\"allowRedeemCompletionWhenBlocked\":false,\"saleSettings\":{\"discountSourceType\":0,\"clientIdCardType\":0,\"handbillCheckout\":\"04845f2a-86bf-4319-89c4-1f24d4e1f58e\",\"priceValueBaseStrategy\":\"CONSTANT\",\"combineBasketDiscounts\":false,\"discountOrder\":{\"strategy\":\"DISCOUNT_VALUE\",\"direction\":\"asc\"},\"returnFields\":[\"string\"]},\"lockSettings\":{\"promotionRequestedLockTtl\":60,\"processSalePromotionActivationLockWaitTime\":0,\"lockPromotionRequestByIdentifier\":true},\"transferSettings\":[{\"expression\":\"2395fc33-f2f0-420c-8e7b-0ac63c3454de\",\"recipient\":{\"segments\":[\"string\"]},\"sender\":{\"segments\":[\"string\"]}}],\"cashbackSettings\":{\"exchangeRate\":0.0001,\"limits\":{\"minPoints\":10,\"maxPoints\":1000,\"maxTransactionAmount\":20,\"maxTransactionPercentage\":50}}}")
              .asString();
servers:
  - description: Microsoft Azure EU
    url: https://api.synerise.com
  - description: Microsoft Azure USA
    url: https://api.azu.synerise.com
  - description: Google Cloud Platform
    url: https://api.geb.synerise.com
tags:
  - name: Promotion settings
```
