openapi: 3.1.0
info:
  title: Merchant Customer Pricing Service
  version: (dev)
  description: API for managing merchant customer price lists and pricing rules.
servers:
  - url: https://api-1.test.logitrail.com
    description: Test / Development Server
  - url: https://api-1.logitrail.com
    description: Production Server
paths:
  /v1/merchant/customer-pricing/price-lists:
    get:
      summary: List Customer Price Lists
      description: Returns all customer price lists belonging to the merchant.
      operationId: ListCustomerPriceLists
      security:
        - idp:
            - pricing:read
      parameters:
        - in: header
          name: x-logitrail-merchant-id
          schema:
            type: string
            minLength: 1
            description: Logitrail's Merchant ID.
          required: true
          description: Logitrail's Merchant ID.
      responses:
        '200':
          description: List of price lists.
          content:
            application/json:
              schema:
                type: object
                properties:
                  price_lists:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          pattern: ^[a-f0-9]{24}$
                          description: Internal technical ID of the price list.
                        key:
                          type: string
                          description: >-
                            Unique key identifying this price list within the
                            merchant.
                        comment:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Human-readable comment.
                        valid_from:
                          description: Date from which this price list is valid (ISO 8601).
                        pricing_rules:
                          description: Pricing rules for calculating prices.
                          type: array
                          items:
                            type: object
                            properties:
                              criteria:
                                description: >-
                                  Criteria that must be met for this rule to
                                  apply.
                                type: object
                                properties:
                                  operator:
                                    default: and
                                    description: >-
                                      Logical operator to combine criteria.
                                      Defaults to "and".
                                    type: string
                                    enum:
                                      - and
                                      - or
                                  criteria:
                                    description: List of decision criteria.
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        parameter:
                                          type: string
                                          enum:
                                            - order.shipping_type
                                            - pup.branch
                                            - carrier
                                            - customer.country
                                            - delivery.area
                                            - order.tags
                                            - order.total_eur
                                            - order.item_count
                                            - order.item_article_count
                                            - order.total_weight
                                            - order.sku_list
                                          description: >-
                                            The parameter/field name to evaluate.


                                            | Value | Purpose |

                                            |---|---|

                                            | `order.shipping_type` | Shipping type
                                            of the order (e.g. `prc_home`,
                                            `prc_pup`). |

                                            | `pup.branch` | Pickup point branch
                                            identifier. |

                                            | `carrier` | Carrier used for delivery.
                                            |

                                            | `customer.country` | Customer's
                                            country code (ISO 3166-1 alpha-2, e.g.
                                            `FI`, `SE`). |

                                            | `delivery.area` | Delivery area or
                                            zone. |

                                            | `order.tags` | Tags assigned to the
                                            order. |

                                            | `order.total_eur` | Total order value
                                            in euros. |

                                            | `order.item_count` | Number of items
                                            in the order. |

                                            | `order.item_article_count` | Number of
                                            distinct articles in the order. |

                                            | `order.total_weight` | Total weight of
                                            the order in grams. |

                                            | `order.sku_list` | List of SKUs in the
                                            order. |
                                        operator:
                                          type: string
                                          enum:
                                            - '='
                                            - '!'
                                            - '>='
                                            - <=
                                            - has
                                            - has_not
                                            - starts_with
                                            - ends_with
                                            - is_regex_match
                                          description: >-
                                            Comparison operator.


                                            | Value | Purpose |

                                            |---|---|

                                            | `=` | Equals. |

                                            | `!` | Not equals. |

                                            | `>=` | Greater than or equal to
                                            (numeric comparison). |

                                            | `<=` | Less than or equal to (numeric
                                            comparison). |

                                            | `has` | List contains the value. |

                                            | `has_not` | List does not contain the
                                            value. |

                                            | `starts_with` | String starts with the
                                            value. |

                                            | `ends_with` | String ends with the
                                            value. |

                                            | `is_regex_match` | Value matches the
                                            regular expression. |
                                        string_value:
                                          description: The value to compare against.
                                          type: string
                                      required:
                                        - parameter
                                        - operator
                                      additionalProperties: false
                                required:
                                  - operator
                                additionalProperties: false
                              comment:
                                description: Human-readable comment about this rule.
                                type: string
                              price_type:
                                type: string
                                enum:
                                  - gross_price
                                  - net_price
                                  - lgt_f
                                description: Type of the price.
                              price_value:
                                description: The price value.
                                type: number
                            required:
                              - price_type
                            additionalProperties: false
                        price_modification_rules:
                          description: Rules for modifying calculated prices.
                          type: array
                          items:
                            type: object
                            properties:
                              criteria:
                                description: >-
                                  Criteria that must be met for this rule to
                                  apply.
                                type: object
                                properties:
                                  operator:
                                    default: and
                                    description: >-
                                      Logical operator to combine criteria.
                                      Defaults to "and".
                                    type: string
                                    enum:
                                      - and
                                      - or
                                  criteria:
                                    description: List of decision criteria.
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        parameter:
                                          type: string
                                          enum:
                                            - order.shipping_type
                                            - pup.branch
                                            - carrier
                                            - customer.country
                                            - delivery.area
                                            - order.tags
                                            - order.total_eur
                                            - order.item_count
                                            - order.item_article_count
                                            - order.total_weight
                                            - order.sku_list
                                          description: >-
                                            The parameter/field name to evaluate.


                                            | Value | Purpose |

                                            |---|---|

                                            | `order.shipping_type` | Shipping type
                                            of the order (e.g. `prc_home`,
                                            `prc_pup`). |

                                            | `pup.branch` | Pickup point branch
                                            identifier. |

                                            | `carrier` | Carrier used for delivery.
                                            |

                                            | `customer.country` | Customer's
                                            country code (ISO 3166-1 alpha-2, e.g.
                                            `FI`, `SE`). |

                                            | `delivery.area` | Delivery area or
                                            zone. |

                                            | `order.tags` | Tags assigned to the
                                            order. |

                                            | `order.total_eur` | Total order value
                                            in euros. |

                                            | `order.item_count` | Number of items
                                            in the order. |

                                            | `order.item_article_count` | Number of
                                            distinct articles in the order. |

                                            | `order.total_weight` | Total weight of
                                            the order in grams. |

                                            | `order.sku_list` | List of SKUs in the
                                            order. |
                                        operator:
                                          type: string
                                          enum:
                                            - '='
                                            - '!'
                                            - '>='
                                            - <=
                                            - has
                                            - has_not
                                            - starts_with
                                            - ends_with
                                            - is_regex_match
                                          description: >-
                                            Comparison operator.


                                            | Value | Purpose |

                                            |---|---|

                                            | `=` | Equals. |

                                            | `!` | Not equals. |

                                            | `>=` | Greater than or equal to
                                            (numeric comparison). |

                                            | `<=` | Less than or equal to (numeric
                                            comparison). |

                                            | `has` | List contains the value. |

                                            | `has_not` | List does not contain the
                                            value. |

                                            | `starts_with` | String starts with the
                                            value. |

                                            | `ends_with` | String ends with the
                                            value. |

                                            | `is_regex_match` | Value matches the
                                            regular expression. |
                                        string_value:
                                          description: The value to compare against.
                                          type: string
                                      required:
                                        - parameter
                                        - operator
                                      additionalProperties: false
                                required:
                                  - operator
                                additionalProperties: false
                              comment:
                                description: Human-readable comment about this rule.
                                type: string
                              price_type:
                                type: string
                                enum:
                                  - gross_price
                                  - net_price
                                  - lgt_f
                                description: Type of the price.
                              price_value:
                                description: The price value.
                                type: number
                            required:
                              - price_type
                            additionalProperties: false
                        currency:
                          anyOf:
                            - type: string
                            - type: 'null'
                          description: Currency code (e.g. EUR).
                        vat_percentage:
                          anyOf:
                            - type: number
                            - type: 'null'
                          description: VAT percentage.
                        vat_handling:
                          type: string
                          enum:
                            - including_vat
                            - excluding_vat
                          description: >-
                            VAT handling: "including_vat" for VAT-inclusive
                            prices, "excluding_vat" for VAT-exclusive.
                        default_price:
                          anyOf:
                            - type: number
                            - type: 'null'
                          description: Default price when no pricing rule matches.
                        status:
                          type: string
                          enum:
                            - active
                            - disabled
                          description: >-
                            Status of the price list. Deleted price lists are
                            marked as "disabled".
                      required:
                        - id
                        - key
                        - valid_from
                        - vat_handling
                        - status
                      additionalProperties: false
                required:
                  - price_lists
                additionalProperties: false
        '400':
          description: Validation error, see response body for details.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: A brief, human readable error message.
                  error_code:
                    type: string
                    const: VALIDATION_ERROR
                    description: Reason of the error.
                  validation_errors:
                    type: array
                    items: {}
                    description: An array of validation error details.
                required:
                  - message
                  - error_code
                  - validation_errors
                additionalProperties: false
    post:
      summary: Create Customer Price List
      description: Creates a new customer price list.
      operationId: CreateCustomerPriceList
      security:
        - idp:
            - pricing:manage
      parameters:
        - in: header
          name: x-logitrail-merchant-id
          schema:
            type: string
            minLength: 1
            description: Logitrail's Merchant ID.
          required: true
          description: Logitrail's Merchant ID.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                price_list:
                  type: object
                  properties:
                    key:
                      type: string
                      minLength: 1
                    comment:
                      type: string
                    valid_from:
                      type: string
                    pricing_rules:
                      type: array
                      items:
                        type: object
                        properties:
                          criteria:
                            description: Criteria that must be met for this rule to apply.
                            type: object
                            properties:
                              operator:
                                default: and
                                description: >-
                                  Logical operator to combine criteria. Defaults
                                  to "and".
                                type: string
                                enum:
                                  - and
                                  - or
                              criteria:
                                description: List of decision criteria.
                                type: array
                                items:
                                  type: object
                                  properties:
                                    parameter:
                                      type: string
                                      enum:
                                        - order.shipping_type
                                        - pup.branch
                                        - carrier
                                        - customer.country
                                        - delivery.area
                                        - order.tags
                                        - order.total_eur
                                        - order.item_count
                                        - order.item_article_count
                                        - order.total_weight
                                        - order.sku_list
                                      description: >-
                                        The parameter/field name to evaluate.


                                        | Value | Purpose |

                                        |---|---|

                                        | `order.shipping_type` | Shipping type
                                        of the order (e.g. `prc_home`,
                                        `prc_pup`). |

                                        | `pup.branch` | Pickup point branch
                                        identifier. |

                                        | `carrier` | Carrier used for delivery.
                                        |

                                        | `customer.country` | Customer's
                                        country code (ISO 3166-1 alpha-2, e.g.
                                        `FI`, `SE`). |

                                        | `delivery.area` | Delivery area or
                                        zone. |

                                        | `order.tags` | Tags assigned to the
                                        order. |

                                        | `order.total_eur` | Total order value
                                        in euros. |

                                        | `order.item_count` | Number of items
                                        in the order. |

                                        | `order.item_article_count` | Number of
                                        distinct articles in the order. |

                                        | `order.total_weight` | Total weight of
                                        the order in grams. |

                                        | `order.sku_list` | List of SKUs in the
                                        order. |
                                    operator:
                                      type: string
                                      enum:
                                        - '='
                                        - '!'
                                        - '>='
                                        - <=
                                        - has
                                        - has_not
                                        - starts_with
                                        - ends_with
                                        - is_regex_match
                                      description: >-
                                        Comparison operator.


                                        | Value | Purpose |

                                        |---|---|

                                        | `=` | Equals. |

                                        | `!` | Not equals. |

                                        | `>=` | Greater than or equal to
                                        (numeric comparison). |

                                        | `<=` | Less than or equal to (numeric
                                        comparison). |

                                        | `has` | List contains the value. |

                                        | `has_not` | List does not contain the
                                        value. |

                                        | `starts_with` | String starts with the
                                        value. |

                                        | `ends_with` | String ends with the
                                        value. |

                                        | `is_regex_match` | Value matches the
                                        regular expression. |
                                    string_value:
                                      description: The value to compare against.
                                      type: string
                                  required:
                                    - parameter
                                    - operator
                          comment:
                            description: Human-readable comment about this rule.
                            type: string
                          price_type:
                            type: string
                            enum:
                              - gross_price
                              - net_price
                              - lgt_f
                            description: Type of the price.
                          price_value:
                            description: The price value.
                            type: number
                        required:
                          - price_type
                    price_modification_rules:
                      type: array
                      items:
                        type: object
                        properties:
                          criteria:
                            description: Criteria that must be met for this rule to apply.
                            type: object
                            properties:
                              operator:
                                default: and
                                description: >-
                                  Logical operator to combine criteria. Defaults
                                  to "and".
                                type: string
                                enum:
                                  - and
                                  - or
                              criteria:
                                description: List of decision criteria.
                                type: array
                                items:
                                  type: object
                                  properties:
                                    parameter:
                                      type: string
                                      enum:
                                        - order.shipping_type
                                        - pup.branch
                                        - carrier
                                        - customer.country
                                        - delivery.area
                                        - order.tags
                                        - order.total_eur
                                        - order.item_count
                                        - order.item_article_count
                                        - order.total_weight
                                        - order.sku_list
                                      description: >-
                                        The parameter/field name to evaluate.


                                        | Value | Purpose |

                                        |---|---|

                                        | `order.shipping_type` | Shipping type
                                        of the order (e.g. `prc_home`,
                                        `prc_pup`). |

                                        | `pup.branch` | Pickup point branch
                                        identifier. |

                                        | `carrier` | Carrier used for delivery.
                                        |

                                        | `customer.country` | Customer's
                                        country code (ISO 3166-1 alpha-2, e.g.
                                        `FI`, `SE`). |

                                        | `delivery.area` | Delivery area or
                                        zone. |

                                        | `order.tags` | Tags assigned to the
                                        order. |

                                        | `order.total_eur` | Total order value
                                        in euros. |

                                        | `order.item_count` | Number of items
                                        in the order. |

                                        | `order.item_article_count` | Number of
                                        distinct articles in the order. |

                                        | `order.total_weight` | Total weight of
                                        the order in grams. |

                                        | `order.sku_list` | List of SKUs in the
                                        order. |
                                    operator:
                                      type: string
                                      enum:
                                        - '='
                                        - '!'
                                        - '>='
                                        - <=
                                        - has
                                        - has_not
                                        - starts_with
                                        - ends_with
                                        - is_regex_match
                                      description: >-
                                        Comparison operator.


                                        | Value | Purpose |

                                        |---|---|

                                        | `=` | Equals. |

                                        | `!` | Not equals. |

                                        | `>=` | Greater than or equal to
                                        (numeric comparison). |

                                        | `<=` | Less than or equal to (numeric
                                        comparison). |

                                        | `has` | List contains the value. |

                                        | `has_not` | List does not contain the
                                        value. |

                                        | `starts_with` | String starts with the
                                        value. |

                                        | `ends_with` | String ends with the
                                        value. |

                                        | `is_regex_match` | Value matches the
                                        regular expression. |
                                    string_value:
                                      description: The value to compare against.
                                      type: string
                                  required:
                                    - parameter
                                    - operator
                          comment:
                            description: Human-readable comment about this rule.
                            type: string
                          price_type:
                            type: string
                            enum:
                              - gross_price
                              - net_price
                              - lgt_f
                            description: Type of the price.
                          price_value:
                            description: The price value.
                            type: number
                        required:
                          - price_type
                    currency:
                      type: string
                    vat_percentage:
                      type: number
                    vat_handling:
                      type: string
                      enum:
                        - including_vat
                        - excluding_vat
                    default_price:
                      type: number
                  required:
                    - key
                    - valid_from
                    - vat_handling
              required:
                - price_list
      responses:
        '201':
          description: Price list created successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  price_list:
                    type: object
                    properties:
                      id:
                        type: string
                        pattern: ^[a-f0-9]{24}$
                        description: Internal technical ID of the price list.
                      key:
                        type: string
                        description: >-
                          Unique key identifying this price list within the
                          merchant.
                      comment:
                        anyOf:
                          - type: string
                          - type: 'null'
                        description: Human-readable comment.
                      valid_from:
                        description: Date from which this price list is valid (ISO 8601).
                      pricing_rules:
                        description: Pricing rules for calculating prices.
                        type: array
                        items:
                          type: object
                          properties:
                            criteria:
                              description: >-
                                Criteria that must be met for this rule to
                                apply.
                              type: object
                              properties:
                                operator:
                                  default: and
                                  description: >-
                                    Logical operator to combine criteria.
                                    Defaults to "and".
                                  type: string
                                  enum:
                                    - and
                                    - or
                                criteria:
                                  description: List of decision criteria.
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      parameter:
                                        type: string
                                        enum:
                                          - order.shipping_type
                                          - pup.branch
                                          - carrier
                                          - customer.country
                                          - delivery.area
                                          - order.tags
                                          - order.total_eur
                                          - order.item_count
                                          - order.item_article_count
                                          - order.total_weight
                                          - order.sku_list
                                        description: >-
                                          The parameter/field name to evaluate.


                                          | Value | Purpose |

                                          |---|---|

                                          | `order.shipping_type` | Shipping type
                                          of the order (e.g. `prc_home`,
                                          `prc_pup`). |

                                          | `pup.branch` | Pickup point branch
                                          identifier. |

                                          | `carrier` | Carrier used for delivery.
                                          |

                                          | `customer.country` | Customer's
                                          country code (ISO 3166-1 alpha-2, e.g.
                                          `FI`, `SE`). |

                                          | `delivery.area` | Delivery area or
                                          zone. |

                                          | `order.tags` | Tags assigned to the
                                          order. |

                                          | `order.total_eur` | Total order value
                                          in euros. |

                                          | `order.item_count` | Number of items
                                          in the order. |

                                          | `order.item_article_count` | Number of
                                          distinct articles in the order. |

                                          | `order.total_weight` | Total weight of
                                          the order in grams. |

                                          | `order.sku_list` | List of SKUs in the
                                          order. |
                                      operator:
                                        type: string
                                        enum:
                                          - '='
                                          - '!'
                                          - '>='
                                          - <=
                                          - has
                                          - has_not
                                          - starts_with
                                          - ends_with
                                          - is_regex_match
                                        description: >-
                                          Comparison operator.


                                          | Value | Purpose |

                                          |---|---|

                                          | `=` | Equals. |

                                          | `!` | Not equals. |

                                          | `>=` | Greater than or equal to
                                          (numeric comparison). |

                                          | `<=` | Less than or equal to (numeric
                                          comparison). |

                                          | `has` | List contains the value. |

                                          | `has_not` | List does not contain the
                                          value. |

                                          | `starts_with` | String starts with the
                                          value. |

                                          | `ends_with` | String ends with the
                                          value. |

                                          | `is_regex_match` | Value matches the
                                          regular expression. |
                                      string_value:
                                        description: The value to compare against.
                                        type: string
                                    required:
                                      - parameter
                                      - operator
                                    additionalProperties: false
                              required:
                                - operator
                              additionalProperties: false
                            comment:
                              description: Human-readable comment about this rule.
                              type: string
                            price_type:
                              type: string
                              enum:
                                - gross_price
                                - net_price
                                - lgt_f
                              description: Type of the price.
                            price_value:
                              description: The price value.
                              type: number
                          required:
                            - price_type
                          additionalProperties: false
                      price_modification_rules:
                        description: Rules for modifying calculated prices.
                        type: array
                        items:
                          type: object
                          properties:
                            criteria:
                              description: >-
                                Criteria that must be met for this rule to
                                apply.
                              type: object
                              properties:
                                operator:
                                  default: and
                                  description: >-
                                    Logical operator to combine criteria.
                                    Defaults to "and".
                                  type: string
                                  enum:
                                    - and
                                    - or
                                criteria:
                                  description: List of decision criteria.
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      parameter:
                                        type: string
                                        enum:
                                          - order.shipping_type
                                          - pup.branch
                                          - carrier
                                          - customer.country
                                          - delivery.area
                                          - order.tags
                                          - order.total_eur
                                          - order.item_count
                                          - order.item_article_count
                                          - order.total_weight
                                          - order.sku_list
                                        description: >-
                                          The parameter/field name to evaluate.


                                          | Value | Purpose |

                                          |---|---|

                                          | `order.shipping_type` | Shipping type
                                          of the order (e.g. `prc_home`,
                                          `prc_pup`). |

                                          | `pup.branch` | Pickup point branch
                                          identifier. |

                                          | `carrier` | Carrier used for delivery.
                                          |

                                          | `customer.country` | Customer's
                                          country code (ISO 3166-1 alpha-2, e.g.
                                          `FI`, `SE`). |

                                          | `delivery.area` | Delivery area or
                                          zone. |

                                          | `order.tags` | Tags assigned to the
                                          order. |

                                          | `order.total_eur` | Total order value
                                          in euros. |

                                          | `order.item_count` | Number of items
                                          in the order. |

                                          | `order.item_article_count` | Number of
                                          distinct articles in the order. |

                                          | `order.total_weight` | Total weight of
                                          the order in grams. |

                                          | `order.sku_list` | List of SKUs in the
                                          order. |
                                      operator:
                                        type: string
                                        enum:
                                          - '='
                                          - '!'
                                          - '>='
                                          - <=
                                          - has
                                          - has_not
                                          - starts_with
                                          - ends_with
                                          - is_regex_match
                                        description: >-
                                          Comparison operator.


                                          | Value | Purpose |

                                          |---|---|

                                          | `=` | Equals. |

                                          | `!` | Not equals. |

                                          | `>=` | Greater than or equal to
                                          (numeric comparison). |

                                          | `<=` | Less than or equal to (numeric
                                          comparison). |

                                          | `has` | List contains the value. |

                                          | `has_not` | List does not contain the
                                          value. |

                                          | `starts_with` | String starts with the
                                          value. |

                                          | `ends_with` | String ends with the
                                          value. |

                                          | `is_regex_match` | Value matches the
                                          regular expression. |
                                      string_value:
                                        description: The value to compare against.
                                        type: string
                                    required:
                                      - parameter
                                      - operator
                                    additionalProperties: false
                              required:
                                - operator
                              additionalProperties: false
                            comment:
                              description: Human-readable comment about this rule.
                              type: string
                            price_type:
                              type: string
                              enum:
                                - gross_price
                                - net_price
                                - lgt_f
                              description: Type of the price.
                            price_value:
                              description: The price value.
                              type: number
                          required:
                            - price_type
                          additionalProperties: false
                      currency:
                        anyOf:
                          - type: string
                          - type: 'null'
                        description: Currency code (e.g. EUR).
                      vat_percentage:
                        anyOf:
                          - type: number
                          - type: 'null'
                        description: VAT percentage.
                      vat_handling:
                        type: string
                        enum:
                          - including_vat
                          - excluding_vat
                        description: >-
                          VAT handling: "including_vat" for VAT-inclusive
                          prices, "excluding_vat" for VAT-exclusive.
                      default_price:
                        anyOf:
                          - type: number
                          - type: 'null'
                        description: Default price when no pricing rule matches.
                      status:
                        type: string
                        enum:
                          - active
                          - disabled
                        description: >-
                          Status of the price list. Deleted price lists are
                          marked as "disabled".
                    required:
                      - id
                      - key
                      - valid_from
                      - vat_handling
                      - status
                    additionalProperties: false
                required:
                  - price_list
                additionalProperties: false
        '400':
          description: Validation error, see response body for details.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: A brief, human readable error message.
                  error_code:
                    type: string
                    const: VALIDATION_ERROR
                    description: Reason of the error.
                  validation_errors:
                    type: array
                    items: {}
                    description: An array of validation error details.
                required:
                  - message
                  - error_code
                  - validation_errors
                additionalProperties: false
  /v1/merchant/customer-pricing/price-lists/{priceListId}:
    get:
      summary: Get Customer Price List
      description: Returns a single customer price list by ID.
      operationId: GetCustomerPriceList
      security:
        - idp:
            - pricing:read
      parameters:
        - in: path
          name: priceListId
          schema:
            type: string
            pattern: ^[a-f0-9]{24}$
            description: Internal technical ID of the price list.
          required: true
          description: Internal technical ID of the price list.
        - in: header
          name: x-logitrail-merchant-id
          schema:
            type: string
            minLength: 1
            description: Logitrail's Merchant ID.
          required: true
          description: Logitrail's Merchant ID.
      responses:
        '200':
          description: The price list.
          content:
            application/json:
              schema:
                type: object
                properties:
                  price_list:
                    type: object
                    properties:
                      id:
                        type: string
                        pattern: ^[a-f0-9]{24}$
                        description: Internal technical ID of the price list.
                      key:
                        type: string
                        description: >-
                          Unique key identifying this price list within the
                          merchant.
                      comment:
                        anyOf:
                          - type: string
                          - type: 'null'
                        description: Human-readable comment.
                      valid_from:
                        description: Date from which this price list is valid (ISO 8601).
                      pricing_rules:
                        description: Pricing rules for calculating prices.
                        type: array
                        items:
                          type: object
                          properties:
                            criteria:
                              description: >-
                                Criteria that must be met for this rule to
                                apply.
                              type: object
                              properties:
                                operator:
                                  default: and
                                  description: >-
                                    Logical operator to combine criteria.
                                    Defaults to "and".
                                  type: string
                                  enum:
                                    - and
                                    - or
                                criteria:
                                  description: List of decision criteria.
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      parameter:
                                        type: string
                                        enum:
                                          - order.shipping_type
                                          - pup.branch
                                          - carrier
                                          - customer.country
                                          - delivery.area
                                          - order.tags
                                          - order.total_eur
                                          - order.item_count
                                          - order.item_article_count
                                          - order.total_weight
                                          - order.sku_list
                                        description: >-
                                          The parameter/field name to evaluate.


                                          | Value | Purpose |

                                          |---|---|

                                          | `order.shipping_type` | Shipping type
                                          of the order (e.g. `prc_home`,
                                          `prc_pup`). |

                                          | `pup.branch` | Pickup point branch
                                          identifier. |

                                          | `carrier` | Carrier used for delivery.
                                          |

                                          | `customer.country` | Customer's
                                          country code (ISO 3166-1 alpha-2, e.g.
                                          `FI`, `SE`). |

                                          | `delivery.area` | Delivery area or
                                          zone. |

                                          | `order.tags` | Tags assigned to the
                                          order. |

                                          | `order.total_eur` | Total order value
                                          in euros. |

                                          | `order.item_count` | Number of items
                                          in the order. |

                                          | `order.item_article_count` | Number of
                                          distinct articles in the order. |

                                          | `order.total_weight` | Total weight of
                                          the order in grams. |

                                          | `order.sku_list` | List of SKUs in the
                                          order. |
                                      operator:
                                        type: string
                                        enum:
                                          - '='
                                          - '!'
                                          - '>='
                                          - <=
                                          - has
                                          - has_not
                                          - starts_with
                                          - ends_with
                                          - is_regex_match
                                        description: >-
                                          Comparison operator.


                                          | Value | Purpose |

                                          |---|---|

                                          | `=` | Equals. |

                                          | `!` | Not equals. |

                                          | `>=` | Greater than or equal to
                                          (numeric comparison). |

                                          | `<=` | Less than or equal to (numeric
                                          comparison). |

                                          | `has` | List contains the value. |

                                          | `has_not` | List does not contain the
                                          value. |

                                          | `starts_with` | String starts with the
                                          value. |

                                          | `ends_with` | String ends with the
                                          value. |

                                          | `is_regex_match` | Value matches the
                                          regular expression. |
                                      string_value:
                                        description: The value to compare against.
                                        type: string
                                    required:
                                      - parameter
                                      - operator
                                    additionalProperties: false
                              required:
                                - operator
                              additionalProperties: false
                            comment:
                              description: Human-readable comment about this rule.
                              type: string
                            price_type:
                              type: string
                              enum:
                                - gross_price
                                - net_price
                                - lgt_f
                              description: Type of the price.
                            price_value:
                              description: The price value.
                              type: number
                          required:
                            - price_type
                          additionalProperties: false
                      price_modification_rules:
                        description: Rules for modifying calculated prices.
                        type: array
                        items:
                          type: object
                          properties:
                            criteria:
                              description: >-
                                Criteria that must be met for this rule to
                                apply.
                              type: object
                              properties:
                                operator:
                                  default: and
                                  description: >-
                                    Logical operator to combine criteria.
                                    Defaults to "and".
                                  type: string
                                  enum:
                                    - and
                                    - or
                                criteria:
                                  description: List of decision criteria.
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      parameter:
                                        type: string
                                        enum:
                                          - order.shipping_type
                                          - pup.branch
                                          - carrier
                                          - customer.country
                                          - delivery.area
                                          - order.tags
                                          - order.total_eur
                                          - order.item_count
                                          - order.item_article_count
                                          - order.total_weight
                                          - order.sku_list
                                        description: >-
                                          The parameter/field name to evaluate.


                                          | Value | Purpose |

                                          |---|---|

                                          | `order.shipping_type` | Shipping type
                                          of the order (e.g. `prc_home`,
                                          `prc_pup`). |

                                          | `pup.branch` | Pickup point branch
                                          identifier. |

                                          | `carrier` | Carrier used for delivery.
                                          |

                                          | `customer.country` | Customer's
                                          country code (ISO 3166-1 alpha-2, e.g.
                                          `FI`, `SE`). |

                                          | `delivery.area` | Delivery area or
                                          zone. |

                                          | `order.tags` | Tags assigned to the
                                          order. |

                                          | `order.total_eur` | Total order value
                                          in euros. |

                                          | `order.item_count` | Number of items
                                          in the order. |

                                          | `order.item_article_count` | Number of
                                          distinct articles in the order. |

                                          | `order.total_weight` | Total weight of
                                          the order in grams. |

                                          | `order.sku_list` | List of SKUs in the
                                          order. |
                                      operator:
                                        type: string
                                        enum:
                                          - '='
                                          - '!'
                                          - '>='
                                          - <=
                                          - has
                                          - has_not
                                          - starts_with
                                          - ends_with
                                          - is_regex_match
                                        description: >-
                                          Comparison operator.


                                          | Value | Purpose |

                                          |---|---|

                                          | `=` | Equals. |

                                          | `!` | Not equals. |

                                          | `>=` | Greater than or equal to
                                          (numeric comparison). |

                                          | `<=` | Less than or equal to (numeric
                                          comparison). |

                                          | `has` | List contains the value. |

                                          | `has_not` | List does not contain the
                                          value. |

                                          | `starts_with` | String starts with the
                                          value. |

                                          | `ends_with` | String ends with the
                                          value. |

                                          | `is_regex_match` | Value matches the
                                          regular expression. |
                                      string_value:
                                        description: The value to compare against.
                                        type: string
                                    required:
                                      - parameter
                                      - operator
                                    additionalProperties: false
                              required:
                                - operator
                              additionalProperties: false
                            comment:
                              description: Human-readable comment about this rule.
                              type: string
                            price_type:
                              type: string
                              enum:
                                - gross_price
                                - net_price
                                - lgt_f
                              description: Type of the price.
                            price_value:
                              description: The price value.
                              type: number
                          required:
                            - price_type
                          additionalProperties: false
                      currency:
                        anyOf:
                          - type: string
                          - type: 'null'
                        description: Currency code (e.g. EUR).
                      vat_percentage:
                        anyOf:
                          - type: number
                          - type: 'null'
                        description: VAT percentage.
                      vat_handling:
                        type: string
                        enum:
                          - including_vat
                          - excluding_vat
                        description: >-
                          VAT handling: "including_vat" for VAT-inclusive
                          prices, "excluding_vat" for VAT-exclusive.
                      default_price:
                        anyOf:
                          - type: number
                          - type: 'null'
                        description: Default price when no pricing rule matches.
                      status:
                        type: string
                        enum:
                          - active
                          - disabled
                        description: >-
                          Status of the price list. Deleted price lists are
                          marked as "disabled".
                    required:
                      - id
                      - key
                      - valid_from
                      - vat_handling
                      - status
                    additionalProperties: false
                required:
                  - price_list
                additionalProperties: false
        '400':
          description: Validation error, see response body for details.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: A brief, human readable error message.
                  error_code:
                    type: string
                    const: VALIDATION_ERROR
                    description: Reason of the error.
                  validation_errors:
                    type: array
                    items: {}
                    description: An array of validation error details.
                required:
                  - message
                  - error_code
                  - validation_errors
                additionalProperties: false
        '404':
          description: Price list not found.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: A brief, human readable error message.
                  error_code:
                    type: string
                    const: PRICE_LIST_NOT_FOUND
                required:
                  - message
                  - error_code
                additionalProperties: false
    post:
      summary: Update Customer Price List
      description: Updates an existing customer price list, including its pricing rules.
      operationId: UpdateCustomerPriceList
      security:
        - idp:
            - pricing:manage
      parameters:
        - in: path
          name: priceListId
          schema:
            type: string
            pattern: ^[a-f0-9]{24}$
            description: Internal technical ID of the price list.
          required: true
          description: Internal technical ID of the price list.
        - in: header
          name: x-logitrail-merchant-id
          schema:
            type: string
            minLength: 1
            description: Logitrail's Merchant ID.
          required: true
          description: Logitrail's Merchant ID.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                price_list:
                  type: object
                  properties:
                    key:
                      type: string
                    comment:
                      anyOf:
                        - type: string
                        - type: 'null'
                    valid_from:
                      type: string
                    pricing_rules:
                      type: array
                      items:
                        type: object
                        properties:
                          criteria:
                            description: Criteria that must be met for this rule to apply.
                            type: object
                            properties:
                              operator:
                                default: and
                                description: >-
                                  Logical operator to combine criteria. Defaults
                                  to "and".
                                type: string
                                enum:
                                  - and
                                  - or
                              criteria:
                                description: List of decision criteria.
                                type: array
                                items:
                                  type: object
                                  properties:
                                    parameter:
                                      type: string
                                      enum:
                                        - order.shipping_type
                                        - pup.branch
                                        - carrier
                                        - customer.country
                                        - delivery.area
                                        - order.tags
                                        - order.total_eur
                                        - order.item_count
                                        - order.item_article_count
                                        - order.total_weight
                                        - order.sku_list
                                      description: >-
                                        The parameter/field name to evaluate.


                                        | Value | Purpose |

                                        |---|---|

                                        | `order.shipping_type` | Shipping type
                                        of the order (e.g. `prc_home`,
                                        `prc_pup`). |

                                        | `pup.branch` | Pickup point branch
                                        identifier. |

                                        | `carrier` | Carrier used for delivery.
                                        |

                                        | `customer.country` | Customer's
                                        country code (ISO 3166-1 alpha-2, e.g.
                                        `FI`, `SE`). |

                                        | `delivery.area` | Delivery area or
                                        zone. |

                                        | `order.tags` | Tags assigned to the
                                        order. |

                                        | `order.total_eur` | Total order value
                                        in euros. |

                                        | `order.item_count` | Number of items
                                        in the order. |

                                        | `order.item_article_count` | Number of
                                        distinct articles in the order. |

                                        | `order.total_weight` | Total weight of
                                        the order in grams. |

                                        | `order.sku_list` | List of SKUs in the
                                        order. |
                                    operator:
                                      type: string
                                      enum:
                                        - '='
                                        - '!'
                                        - '>='
                                        - <=
                                        - has
                                        - has_not
                                        - starts_with
                                        - ends_with
                                        - is_regex_match
                                      description: >-
                                        Comparison operator.


                                        | Value | Purpose |

                                        |---|---|

                                        | `=` | Equals. |

                                        | `!` | Not equals. |

                                        | `>=` | Greater than or equal to
                                        (numeric comparison). |

                                        | `<=` | Less than or equal to (numeric
                                        comparison). |

                                        | `has` | List contains the value. |

                                        | `has_not` | List does not contain the
                                        value. |

                                        | `starts_with` | String starts with the
                                        value. |

                                        | `ends_with` | String ends with the
                                        value. |

                                        | `is_regex_match` | Value matches the
                                        regular expression. |
                                    string_value:
                                      description: The value to compare against.
                                      type: string
                                  required:
                                    - parameter
                                    - operator
                          comment:
                            description: Human-readable comment about this rule.
                            type: string
                          price_type:
                            type: string
                            enum:
                              - gross_price
                              - net_price
                              - lgt_f
                            description: Type of the price.
                          price_value:
                            description: The price value.
                            type: number
                        required:
                          - price_type
                    price_modification_rules:
                      type: array
                      items:
                        type: object
                        properties:
                          criteria:
                            description: Criteria that must be met for this rule to apply.
                            type: object
                            properties:
                              operator:
                                default: and
                                description: >-
                                  Logical operator to combine criteria. Defaults
                                  to "and".
                                type: string
                                enum:
                                  - and
                                  - or
                              criteria:
                                description: List of decision criteria.
                                type: array
                                items:
                                  type: object
                                  properties:
                                    parameter:
                                      type: string
                                      enum:
                                        - order.shipping_type
                                        - pup.branch
                                        - carrier
                                        - customer.country
                                        - delivery.area
                                        - order.tags
                                        - order.total_eur
                                        - order.item_count
                                        - order.item_article_count
                                        - order.total_weight
                                        - order.sku_list
                                      description: >-
                                        The parameter/field name to evaluate.


                                        | Value | Purpose |

                                        |---|---|

                                        | `order.shipping_type` | Shipping type
                                        of the order (e.g. `prc_home`,
                                        `prc_pup`). |

                                        | `pup.branch` | Pickup point branch
                                        identifier. |

                                        | `carrier` | Carrier used for delivery.
                                        |

                                        | `customer.country` | Customer's
                                        country code (ISO 3166-1 alpha-2, e.g.
                                        `FI`, `SE`). |

                                        | `delivery.area` | Delivery area or
                                        zone. |

                                        | `order.tags` | Tags assigned to the
                                        order. |

                                        | `order.total_eur` | Total order value
                                        in euros. |

                                        | `order.item_count` | Number of items
                                        in the order. |

                                        | `order.item_article_count` | Number of
                                        distinct articles in the order. |

                                        | `order.total_weight` | Total weight of
                                        the order in grams. |

                                        | `order.sku_list` | List of SKUs in the
                                        order. |
                                    operator:
                                      type: string
                                      enum:
                                        - '='
                                        - '!'
                                        - '>='
                                        - <=
                                        - has
                                        - has_not
                                        - starts_with
                                        - ends_with
                                        - is_regex_match
                                      description: >-
                                        Comparison operator.


                                        | Value | Purpose |

                                        |---|---|

                                        | `=` | Equals. |

                                        | `!` | Not equals. |

                                        | `>=` | Greater than or equal to
                                        (numeric comparison). |

                                        | `<=` | Less than or equal to (numeric
                                        comparison). |

                                        | `has` | List contains the value. |

                                        | `has_not` | List does not contain the
                                        value. |

                                        | `starts_with` | String starts with the
                                        value. |

                                        | `ends_with` | String ends with the
                                        value. |

                                        | `is_regex_match` | Value matches the
                                        regular expression. |
                                    string_value:
                                      description: The value to compare against.
                                      type: string
                                  required:
                                    - parameter
                                    - operator
                          comment:
                            description: Human-readable comment about this rule.
                            type: string
                          price_type:
                            type: string
                            enum:
                              - gross_price
                              - net_price
                              - lgt_f
                            description: Type of the price.
                          price_value:
                            description: The price value.
                            type: number
                        required:
                          - price_type
                    currency:
                      anyOf:
                        - type: string
                        - type: 'null'
                    vat_percentage:
                      anyOf:
                        - type: number
                        - type: 'null'
                    vat_handling:
                      type: string
                      enum:
                        - including_vat
                        - excluding_vat
                    default_price:
                      anyOf:
                        - type: number
                        - type: 'null'
              required:
                - price_list
      responses:
        '200':
          description: Price list updated successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  price_list:
                    type: object
                    properties:
                      id:
                        type: string
                        pattern: ^[a-f0-9]{24}$
                        description: Internal technical ID of the price list.
                      key:
                        type: string
                        description: >-
                          Unique key identifying this price list within the
                          merchant.
                      comment:
                        anyOf:
                          - type: string
                          - type: 'null'
                        description: Human-readable comment.
                      valid_from:
                        description: Date from which this price list is valid (ISO 8601).
                      pricing_rules:
                        description: Pricing rules for calculating prices.
                        type: array
                        items:
                          type: object
                          properties:
                            criteria:
                              description: >-
                                Criteria that must be met for this rule to
                                apply.
                              type: object
                              properties:
                                operator:
                                  default: and
                                  description: >-
                                    Logical operator to combine criteria.
                                    Defaults to "and".
                                  type: string
                                  enum:
                                    - and
                                    - or
                                criteria:
                                  description: List of decision criteria.
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      parameter:
                                        type: string
                                        enum:
                                          - order.shipping_type
                                          - pup.branch
                                          - carrier
                                          - customer.country
                                          - delivery.area
                                          - order.tags
                                          - order.total_eur
                                          - order.item_count
                                          - order.item_article_count
                                          - order.total_weight
                                          - order.sku_list
                                        description: >-
                                          The parameter/field name to evaluate.


                                          | Value | Purpose |

                                          |---|---|

                                          | `order.shipping_type` | Shipping type
                                          of the order (e.g. `prc_home`,
                                          `prc_pup`). |

                                          | `pup.branch` | Pickup point branch
                                          identifier. |

                                          | `carrier` | Carrier used for delivery.
                                          |

                                          | `customer.country` | Customer's
                                          country code (ISO 3166-1 alpha-2, e.g.
                                          `FI`, `SE`). |

                                          | `delivery.area` | Delivery area or
                                          zone. |

                                          | `order.tags` | Tags assigned to the
                                          order. |

                                          | `order.total_eur` | Total order value
                                          in euros. |

                                          | `order.item_count` | Number of items
                                          in the order. |

                                          | `order.item_article_count` | Number of
                                          distinct articles in the order. |

                                          | `order.total_weight` | Total weight of
                                          the order in grams. |

                                          | `order.sku_list` | List of SKUs in the
                                          order. |
                                      operator:
                                        type: string
                                        enum:
                                          - '='
                                          - '!'
                                          - '>='
                                          - <=
                                          - has
                                          - has_not
                                          - starts_with
                                          - ends_with
                                          - is_regex_match
                                        description: >-
                                          Comparison operator.


                                          | Value | Purpose |

                                          |---|---|

                                          | `=` | Equals. |

                                          | `!` | Not equals. |

                                          | `>=` | Greater than or equal to
                                          (numeric comparison). |

                                          | `<=` | Less than or equal to (numeric
                                          comparison). |

                                          | `has` | List contains the value. |

                                          | `has_not` | List does not contain the
                                          value. |

                                          | `starts_with` | String starts with the
                                          value. |

                                          | `ends_with` | String ends with the
                                          value. |

                                          | `is_regex_match` | Value matches the
                                          regular expression. |
                                      string_value:
                                        description: The value to compare against.
                                        type: string
                                    required:
                                      - parameter
                                      - operator
                                    additionalProperties: false
                              required:
                                - operator
                              additionalProperties: false
                            comment:
                              description: Human-readable comment about this rule.
                              type: string
                            price_type:
                              type: string
                              enum:
                                - gross_price
                                - net_price
                                - lgt_f
                              description: Type of the price.
                            price_value:
                              description: The price value.
                              type: number
                          required:
                            - price_type
                          additionalProperties: false
                      price_modification_rules:
                        description: Rules for modifying calculated prices.
                        type: array
                        items:
                          type: object
                          properties:
                            criteria:
                              description: >-
                                Criteria that must be met for this rule to
                                apply.
                              type: object
                              properties:
                                operator:
                                  default: and
                                  description: >-
                                    Logical operator to combine criteria.
                                    Defaults to "and".
                                  type: string
                                  enum:
                                    - and
                                    - or
                                criteria:
                                  description: List of decision criteria.
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      parameter:
                                        type: string
                                        enum:
                                          - order.shipping_type
                                          - pup.branch
                                          - carrier
                                          - customer.country
                                          - delivery.area
                                          - order.tags
                                          - order.total_eur
                                          - order.item_count
                                          - order.item_article_count
                                          - order.total_weight
                                          - order.sku_list
                                        description: >-
                                          The parameter/field name to evaluate.


                                          | Value | Purpose |

                                          |---|---|

                                          | `order.shipping_type` | Shipping type
                                          of the order (e.g. `prc_home`,
                                          `prc_pup`). |

                                          | `pup.branch` | Pickup point branch
                                          identifier. |

                                          | `carrier` | Carrier used for delivery.
                                          |

                                          | `customer.country` | Customer's
                                          country code (ISO 3166-1 alpha-2, e.g.
                                          `FI`, `SE`). |

                                          | `delivery.area` | Delivery area or
                                          zone. |

                                          | `order.tags` | Tags assigned to the
                                          order. |

                                          | `order.total_eur` | Total order value
                                          in euros. |

                                          | `order.item_count` | Number of items
                                          in the order. |

                                          | `order.item_article_count` | Number of
                                          distinct articles in the order. |

                                          | `order.total_weight` | Total weight of
                                          the order in grams. |

                                          | `order.sku_list` | List of SKUs in the
                                          order. |
                                      operator:
                                        type: string
                                        enum:
                                          - '='
                                          - '!'
                                          - '>='
                                          - <=
                                          - has
                                          - has_not
                                          - starts_with
                                          - ends_with
                                          - is_regex_match
                                        description: >-
                                          Comparison operator.


                                          | Value | Purpose |

                                          |---|---|

                                          | `=` | Equals. |

                                          | `!` | Not equals. |

                                          | `>=` | Greater than or equal to
                                          (numeric comparison). |

                                          | `<=` | Less than or equal to (numeric
                                          comparison). |

                                          | `has` | List contains the value. |

                                          | `has_not` | List does not contain the
                                          value. |

                                          | `starts_with` | String starts with the
                                          value. |

                                          | `ends_with` | String ends with the
                                          value. |

                                          | `is_regex_match` | Value matches the
                                          regular expression. |
                                      string_value:
                                        description: The value to compare against.
                                        type: string
                                    required:
                                      - parameter
                                      - operator
                                    additionalProperties: false
                              required:
                                - operator
                              additionalProperties: false
                            comment:
                              description: Human-readable comment about this rule.
                              type: string
                            price_type:
                              type: string
                              enum:
                                - gross_price
                                - net_price
                                - lgt_f
                              description: Type of the price.
                            price_value:
                              description: The price value.
                              type: number
                          required:
                            - price_type
                          additionalProperties: false
                      currency:
                        anyOf:
                          - type: string
                          - type: 'null'
                        description: Currency code (e.g. EUR).
                      vat_percentage:
                        anyOf:
                          - type: number
                          - type: 'null'
                        description: VAT percentage.
                      vat_handling:
                        type: string
                        enum:
                          - including_vat
                          - excluding_vat
                        description: >-
                          VAT handling: "including_vat" for VAT-inclusive
                          prices, "excluding_vat" for VAT-exclusive.
                      default_price:
                        anyOf:
                          - type: number
                          - type: 'null'
                        description: Default price when no pricing rule matches.
                      status:
                        type: string
                        enum:
                          - active
                          - disabled
                        description: >-
                          Status of the price list. Deleted price lists are
                          marked as "disabled".
                    required:
                      - id
                      - key
                      - valid_from
                      - vat_handling
                      - status
                    additionalProperties: false
                required:
                  - price_list
                additionalProperties: false
        '400':
          description: Validation error, see response body for details.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: A brief, human readable error message.
                  error_code:
                    type: string
                    const: VALIDATION_ERROR
                    description: Reason of the error.
                  validation_errors:
                    type: array
                    items: {}
                    description: An array of validation error details.
                required:
                  - message
                  - error_code
                  - validation_errors
                additionalProperties: false
        '404':
          description: Price list not found.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: A brief, human readable error message.
                  error_code:
                    type: string
                    const: PRICE_LIST_NOT_FOUND
                required:
                  - message
                  - error_code
                additionalProperties: false
    delete:
      summary: Delete Customer Price List (Not implemented)
      description: >-
        Not implemented. Will soft-delete (disable) a customer price list once
        the legacy pricing engine supports skipping disabled lists.
      operationId: DeleteCustomerPriceList
      security:
        - idp:
            - pricing:manage
      parameters:
        - in: path
          name: priceListId
          schema:
            type: string
            pattern: ^[a-f0-9]{24}$
            description: Internal technical ID of the price list.
          required: true
          description: Internal technical ID of the price list.
        - in: header
          name: x-logitrail-merchant-id
          schema:
            type: string
            minLength: 1
            description: Logitrail's Merchant ID.
          required: true
          description: Logitrail's Merchant ID.
      responses:
        '200':
          description: Price list deleted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                  - message
                additionalProperties: false
        '400':
          description: Validation error, see response body for details.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: A brief, human readable error message.
                  error_code:
                    type: string
                    const: VALIDATION_ERROR
                    description: Reason of the error.
                  validation_errors:
                    type: array
                    items: {}
                    description: An array of validation error details.
                required:
                  - message
                  - error_code
                  - validation_errors
                additionalProperties: false
        '404':
          description: Price list not found.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: A brief, human readable error message.
                  error_code:
                    type: string
                    const: PRICE_LIST_NOT_FOUND
                required:
                  - message
                  - error_code
                additionalProperties: false
components:
  securitySchemes:
    idp:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: >-
            https://idp.logitrail.com/realms/logitrail/protocol/openid-connect/token
          scopes:
            pricing:read: Read pricing data
            pricing:manage: Manage pricing data
