Saly - baza wiedzy
Breadcrumbs

🇵🇱 Changelog API - SALY

Version 9.1.2 

NEW ENDPOINTS (12)

GET /currency/rate/{code}

GET /export/currencies

POST /internal/categories/resolve-paths

GET /lang/manage

PUT /lang/{lang_id}/active

PUT /lang/{lang_id}/default

POST /product/{product_code}/photo/prune

POST /product/{product_code}/supplier

DELETE /product/{product_code}/supplier/{supplier_external_id}

GET /product/{product_code}/suppliers

POST /search-admin/indices/purge

POST /tag


DELETED ENDPOINTS (1)

PUT /slider/{sliders_id}/banner/{banners_id}/direction/{direction}


Modified ENDPOINTS (45)

GET /banner

- New query param: location_type
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - Modified property: client_groups
                    - Property 'AnyOf' changed
                      - Modified schema: subschema #2: ClientsGroupsEntityModel
                        - Description changed from '' to 'Encja tabeli clients_groups.

UWAGA: Repository.get_entity/update_entity buduje SELECT/UPDATE z pol
tego modelu - moga tu byc WYLACZNIE kolumny istniejace w MySQL.
Pola z saly-pricing (group_code itd.) naleza do ClientsGroupsListItemModel.'
                        - Properties changed
                          - Deleted property: group_code
                          - Deleted property: group_type
                          - Deleted property: margin_value

POST /banner


- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Modified property: client_groups
                  - Property 'AnyOf' changed
                    - Modified schema: subschema #2: ClientsGroupsEntityModel
                      - Description changed from '' to 'Encja tabeli clients_groups.

UWAGA: Repository.get_entity/update_entity buduje SELECT/UPDATE z pol
tego modelu - moga tu byc WYLACZNIE kolumny istniejace w MySQL.
Pola z saly-pricing (group_code itd.) naleza do ClientsGroupsListItemModel.'
                      - Properties changed
                        - Deleted property: group_code
                        - Deleted property: group_type
                        - Deleted property: margin_value

GET /banner/{banners_id}

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Modified property: client_groups
                  - Property 'AnyOf' changed
                    - Modified schema: subschema #2: ClientsGroupsEntityModel
                      - Description changed from '' to 'Encja tabeli clients_groups.

UWAGA: Repository.get_entity/update_entity buduje SELECT/UPDATE z pol
tego modelu - moga tu byc WYLACZNIE kolumny istniejace w MySQL.
Pola z saly-pricing (group_code itd.) naleza do ClientsGroupsListItemModel.'
                      - Properties changed
                        - Deleted property: group_code
                        - Deleted property: group_type
                        - Deleted property: margin_value

PUT /banner/{banners_id}

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Modified property: client_groups
                  - Property 'AnyOf' changed
                    - Modified schema: subschema #2: ClientsGroupsEntityModel
                      - Description changed from '' to 'Encja tabeli clients_groups.

UWAGA: Repository.get_entity/update_entity buduje SELECT/UPDATE z pol
tego modelu - moga tu byc WYLACZNIE kolumny istniejace w MySQL.
Pola z saly-pricing (group_code itd.) naleza do ClientsGroupsListItemModel.'
                      - Properties changed
                        - Deleted property: group_code
                        - Deleted property: group_type
                        - Deleted property: margin_value

GET /basket/{basket_id}/lane

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: quantity_precision

POST /basket/{basket_id}/lane/send

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Property 'AnyOf' changed
          - Modified schema: subschema #2: AddLaneToBasketModel
            - Properties changed
              - New property: offerMode
          - Modified schema: subschema #1
            - Items changed
              - Properties changed
                - New property: offerMode

POST /basket/{basket_id}/replace_with_substitute

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: quantity_precision

POST /basket/{basket_uuid}/checkout/submit

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: lanes
- Responses changed
  - Modified response: 400
    - Description changed from 'Error: Bad Request' to 'Bad Request'
    - Content changed
      - New media type: application/json

GET /bi/overdue-payments

- Modified query param: currency
  - Required changed from true to false

GET /clients_groups

- Description changed from '' to 'Lista grup klientow.

`group_code` jest kanonicznym identyfikatorem grupy. `id: null` oznacza
grupe natywna saly-pricing (bez odpowiednika legacy) - w pozostalych
endpointach nalezy wowczas uzywac `group_code` zamiast `id`.'
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Title changed from 'ClientsGroupsEntityModel' to 'ClientsGroupsListItemModel'
                - Description changed from '' to 'Pozycja odpowiedzi GET /clients_groups (dane z saly-pricing lub fallback MySQL).

group_code to kanoniczny identyfikator grupy; id (legacy) jest None dla
grup natywnych saly-pricing.'

GET /clients_groups/{clients_groups_id}/clients

- Description changed from '' to 'Lista klientów w grupie.

`clients_groups_id` przyjmuje legacy ID (int) lub `group_code`
z saly-pricing (np. GKR000001) - kanoniczny identyfikator grupy.'
- Modified path param: clients_groups_id
  - Schema changed
    - Type changed from 'integer' to 'string'

DELETE /clients_groups/{clients_groups_id}/clients/{clients_external_id}

- Description changed from '' to 'Usuwa klienta z grupy.

`clients_groups_id` przyjmuje legacy ID (int) lub `group_code`
z saly-pricing (np. GKR000001) - kanoniczny identyfikator grupy.'
- Modified path param: clients_groups_id
  - Schema changed
    - Type changed from 'integer' to 'string'

PUT /clients_groups/{clients_groups_id}/clients/{clients_external_id}

- Description changed from '' to 'Dodaje klienta do grupy.

`clients_groups_id` przyjmuje legacy ID (int) lub `group_code`
z saly-pricing (np. GKR000001) - kanoniczny identyfikator grupy.'
- Modified path param: clients_groups_id
  - Schema changed
    - Type changed from 'integer' to 'string'

GET /collection/{collection_id}/products

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Modified property: products
                  - Items changed
                    - Properties changed
                      - Modified property: status
                        - New enum values: [noPrice]

GET /currency

- New header param: x-app-token

GET /export/order_lanes/{order_id}

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Items changed
            - Properties changed
              - New property: discount
              - New property: discount_netto

GET /export/orders_lanes

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Items changed
            - Properties changed
              - New property: discount
              - New property: discount_netto

POST /import/clients_group_pricelist

- Description changed from 'code is a product identfier in the system' to '**DEPRECATED** — client group price lists are owned by the pricing microservice.
Use `POST /api/v1/import/client-group-prices/load` instead.

[pricing-ms import API docs](https://gateway.saly.dev/pricing-import/docs-import)

code is a product identfier in the system'
- Deprecated changed from false to true

POST /import/clients_group_pricelist/run

- Description changed from '' to '**DEPRECATED** — client group price lists are owned by the pricing microservice.
Use `POST /api/v1/import/run` with `price_type=client_group_price` instead.

[pricing-ms import API docs](https://gateway.saly.dev/pricing-import/docs-import)'
- Deprecated changed from false to true

POST /import/clients_pricelist

- Description changed from 'code is a product identfier in the system' to '**DEPRECATED** — individual client prices are owned by the pricing microservice.
Use `POST /api/v1/import/client-prices/load` instead.

[pricing-ms import API docs](https://gateway.saly.dev/pricing-import/docs-import)

code is a product identfier in the system'
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Items changed
          - Properties changed
            - Modified property: external_id
              - Type changed from 'integer' to 'string'
- Deprecated changed from false to true

POST /import/clients_pricelist/run

- Description changed from '' to '**DEPRECATED** — individual client prices are owned by the pricing microservice.
Use `POST /api/v1/import/run` with `price_type=client_price` instead.

[pricing-ms import API docs](https://gateway.saly.dev/pricing-import/docs-import)'
- Deprecated changed from false to true

POST /import/orders

- Description changed from 'Przykład:
```
[{
    "clients_external_id": 1000,
    "order_external_id": 100,
    "number": 112,
    "order_date": "2020-12-11 11:16:34",
    "delivery_date": "2020-12-11 11:16:34",
    "shipment_date": "2020-12-12",
    "document_type": 1,
    "document_number": "NUMER/DOKUMENTU.123",
    "value_total_netto": 1000,
    "value_total_brutto": 1230,
    "status_id": 2,
    "status_name": "Wysłano",
    "currency": "PLN",
    "source_id": 0,
    "comment": "komentarz",
    "lanes": [
        {
            "product_code": "KK.01",
            "product_name": "Produkt 1",
            "price_netto": 500,
            "quantity": 2,
            "vat": 5,
            "currency": "PLN",
            "unit_external_id": "SZT"
        },
        {
            "product_code": "KK.02",
            "product_name": "Produkt 2",
            "price_netto": 300,
            "quantity": 3,
            "vat": 23,
            "currency": "PLN",
            "unit_external_id": "KPL"
        }
    ]
}]
```' to 'Przykład:
```
[{
    "clients_external_id": 1000,
    "order_external_id": 100,
    "number": 112,
    "order_date": "2020-12-11 11:16:34",
    "delivery_date": "2020-12-11 11:16:34",
    "shipment_date": "2020-12-12",
    "document_type": 1,
    "document_number": "NUMER/DOKUMENTU.123",
    "external_document": "5960/B2B",
    "value_total_netto": 1000,
    "value_total_brutto": 1230,
    "status_id": 2,
    "status_name": "Wysłano",
    "currency": "PLN",
    "source_id": 0,
    "comment": "komentarz",
    "lanes": [
        {
            "product_code": "KK.01",
            "product_name": "Produkt 1",
            "price_netto": 500,
            "quantity": 2,
            "vat": 5,
            "currency": "PLN",
            "unit_external_id": "SZT"
        },
        {
            "product_code": "KK.02",
            "product_name": "Produkt 2",
            "price_netto": 300,
            "quantity": 3,
            "vat": 23,
            "currency": "PLN",
            "unit_external_id": "KPL"
        }
    ]
}]
```'

POST /import/payments

- Description changed from 'Przykład:
```
[{
    "clients_external_id": 1000,
    "payment_external_id": 100,
    "document_number": "FV/TEST/22",
    "document_type": 1,
    "value_total_netto": 1000,
    "value_total_brutto": 1230,
    "balance_brutto": 1230,
    "status_id": 2,
    "status_name": "Opłacone",
    "create_date": "2020-09-01",
    "payment_date": "2020-09-15",
    "currency": "PLN",
    "doc_link": "https://example.com/doc1.pdf",
    "orders_external_id": 100,
    "lanes": [
        {
            "product_code": "KK.01",
            "product_name": "Produkt 1",
            "price_netto": 500,
            "value_netto": 500,
            "quantity": 1,
            "vat": 23,
            "currency": "PLN"
        },
        {
            "product_code": "KK.02",
            "product_name": "Produkt 2",
            "price_netto": 250,
            "value_netto": 500,
            "quantity": 2,
            "vat": 23,
            "currency": "PLN"
        }
    ]
}]
```' to 'Import płatności/rozrachunków (load_data → temp_payments; /payments/run scala do payments).
Walidacji brak celowo — ERP jest źródłem prawdy (patrz reguła importów).

Kontrakt (znaczenie pól) — epic saly-master-data-service-zvqs:
- value_total_brutto    : wartość faktury (brutto).
- balance_brutto        : wartość ZAPŁACONA (paid), NIE saldo pozostałe. Producent śle kwotę
                          faktycznie wpłaconą (Enova: ValueRozliczona; YOSI/3MK: brutto − saldo;
                          Prestiż/Subiekt: WartBrutto − pozostało). → kolumna payments.balance_netto.
- value_total_netto     : netto (opcjonalne; rozrachunki bez rozbicia VAT → null).
- create_date           : data sprzedaży/wystawienia.
- payment_date          : termin płatności (front: "dni do zapłaty" = payment_date − dziś).
- status_id/status_name : surowy status z ERP (front i tak wyznacza status słownie z brutto vs zapłacona).

Przykład (status "Opłacone" = w pełni zapłacone: balance_brutto == value_total_brutto):
```
[{
    "clients_external_id": 1000,
    "payment_external_id": 100,
    "document_number": "FV/TEST/22",
    "document_type": 1,
    "value_total_netto": 1000,
    "value_total_brutto": 1230,
    "balance_brutto": 1230,
    "status_id": 2,
    "status_name": "Opłacone",
    "create_date": "2020-09-01",
    "payment_date": "2020-09-15",
    "currency": "PLN",
    "doc_link": "https://example.com/doc1.pdf",
    "orders_external_id": 100,
    "lanes": [
        {
            "product_code": "KK.01",
            "product_name": "Produkt 1",
            "price_netto": 500,
            "value_netto": 500,
            "quantity": 1,
            "vat": 23,
            "currency": "PLN"
        },
        {
            "product_code": "KK.02",
            "product_name": "Produkt 2",
            "price_netto": 250,
            "value_netto": 500,
            "quantity": 2,
            "vat": 23,
            "currency": "PLN"
        }
    ]
}]
```'

POST /import/payments/run/{date_start},{date_end}

- Description changed from 'date_start/date_end w formacie RRRR-MM-DD' to 'date_start/date_end w formacie RRRR-MM-DD.
clients_external_id (opcjonalny): zawęża replace do jednego klienta (watermark backfill vdz9) —
bez niego replace kasuje płatności wszystkich klientów w oknie create_date.'
- New query param: clients_external_id

PUT /import/prices

SQL
- Description changed from 'Endpoint allows developers to send massive price update (standard and base) to products. All changes will be uploaded to buffer.
If continueUpload flag is set to 1 API will add payload to current state of buffer. Otherwise, if is set to 0 buffer will be cleared out before saving payload.

Data type:
```
"product_code"      - varchar(45), not null
"base_price"        - decimal(10,2), nullable
"standard_price"    - decimal(10,2), not null
```

Sample Payload

```
[
  {
    "product_code": "OP720",
    "base_price": 32.11,
    "standard_price": 42.11
  },
 {
    "product_code": "OX-XX-22",
    "base_price": 0,
    "standard_price": 3212.00
  },
 {
    "product_code": "OX-WW-22",
    "base_price": null,
    "standard_price": 227.03
  }
]
```' to '**DEPRECATED** — catalog prices are owned by the pricing microservice.
Use `POST /api/v1/import/catalog-prices/load` instead. It additionally carries
`currency`, `purchase_price_netto` and `retail_price_netto`, and inserts
products missing from the catalog instead of silently skipping them.

[pricing-ms import API docs](https://gateway.saly.dev/pricing-import/docs-import)

Endpoint allows developers to send massive price update (standard and base) to products. All changes will be uploaded to buffer.
If continueUpload flag is set to 1 API will add payload to current state of buffer. Otherwise, if is set to 0 buffer will be cleared out before saving payload.

Data type:
```
"product_code"      - varchar(45), not null
"base_price"        - decimal(10,2), nullable
"standard_price"    - decimal(10,2), not null
```

Sample Payload

```
[
  {
    "product_code": "OP720",
    "base_price": 32.11,
    "standard_price": 42.11
  },
 {
    "product_code": "OX-XX-22",
    "base_price": 0,
    "standard_price": 3212.00
  },
 {
    "product_code": "OX-WW-22",
    "base_price": null,
    "standard_price": 227.03
  }
]
```'
- Deprecated changed from false to true

PUT /import/prices/run

- Description changed from '' to '**DEPRECATED** — catalog prices are owned by the pricing microservice.
Use `POST /api/v1/import/run` with `price_type=catalog_price` instead.
Note: keep `mode=upsert` (the default) for delta imports — `mode=truncate`
wipes the whole catalog price table, it is not scoped to the payload.

[pricing-ms import API docs](https://gateway.saly.dev/pricing-import/docs-import)'
- Deprecated changed from false to true

POST /internal/products/es-data/batch

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Property 'AllOf' changed
          - Modified schema: subschema #1: ProductBatchRequest
            - Properties changed
              - New property: after_id
              - New property: include_gallery
        - Default changed from map[limit:1000 offset:0] to map[after_id:0 include_gallery:false limit:1000 offset:0]

GET /merchant/clients

- Description changed from 'Get list of clients assigned to the authenticated merchant user.

This endpoint returns all clients that are associated with the currently logged-in merchant
user via the clients_caretaker table. It's used by merchants to view which clients they
are responsible for managing.

**Authorization:**
- Requires authentication via JWT token
- User must have UserType: MERCHANT, ADMIN, or GOD
- User must have the BACK_ORDERS_AS_CLIENT right

**Response Format:**
    ```json
    {
        "success": true,
        "data": [
            {
                "id": 123,
                "name": "ABC Company",
                "external_id": "abc123",
                ...
            }
        ],
        "msg": null
    }
    ```

**Error Responses:**
    - 401 Unauthorized: Invalid token or missing right
    - 400 Bad Request: Unexpected error

**Related Endpoints:**
    - GET /merchants/search - Search for merchants to assign
    - POST /clients/{id}/caretakers - Assign merchants to clients' to 'Get list of clients assigned to the authenticated merchant user.

This endpoint returns all clients that are associated with the currently logged-in merchant
user via the clients_caretaker table. It's used by merchants to view which clients they
are responsible for managing.

**Authorization:**
- Requires authentication via JWT token
- User must have UserType: MERCHANT, ADMIN, or GOD
- User must have the BACK_ORDERS_AS_CLIENT right

**Response Format:**
    ```json
    {
        "success": true,
        "data": [
            {
                "id": 123,
                "name": "ABC Company",
                "external_id": "abc123",
                ...
            }
        ],
        "msg": null
    }
    ```

**Error Responses:**
    - 401 Unauthorized: Invalid token
    - 403 Forbidden: Wrong user type or missing right
    - 400 Bad Request: Unexpected error

**Related Endpoints:**
    - GET /merchants/search - Search for merchants to assign
    - POST /clients/{id}/caretakers - Assign merchants to clients'

GET /order

- Modified query param: date_from
  - Schema changed
    - Default changed from '2026-06-03 00:00:00' to '2026-08-03 00:00:00'
- Modified query param: date_to
  - Schema changed
    - Default changed from '2026-06-03 23:59:59' to '2026-08-03 23:59:59'

PUT /order

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - Modified property: lanes
            - Items changed
              - Properties changed
                - New property: discount
                - New property: discount_netto

PATCH /order/{order_external_id}

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - Modified property: lanes
            - Items changed
              - Properties changed
                - New property: discount
                - New property: discount_netto

PATCH /order/{order_external_id}/lanes

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - Modified property: lanes
            - Items changed
              - Properties changed
                - New property: discount
                - New property: discount_netto

GET /sales_units

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: quantity_precision
                  - Modified property: client_groups
                    - Items changed
                      - Title changed from 'ClientsGroupsEntityModel' to 'ClientsGroupsListItemModel'
                      - Description changed from '' to 'Pozycja odpowiedzi GET /clients_groups (dane z saly-pricing lub fallback MySQL).

group_code to kanoniczny identyfikator grupy; id (legacy) jest None dla
grup natywnych saly-pricing.'

POST /sales_units

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: quantity_precision
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - New property: quantity_precision
                - Modified property: client_groups
                  - Items changed
                    - Title changed from 'ClientsGroupsEntityModel' to 'ClientsGroupsListItemModel'
                    - Description changed from '' to 'Pozycja odpowiedzi GET /clients_groups (dane z saly-pricing lub fallback MySQL).

group_code to kanoniczny identyfikator grupy; id (legacy) jest None dla
grup natywnych saly-pricing.'

GET /sales_units/product/{product_code}

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: dictionary_quantity_precision
                  - New property: quantity_precision

PUT /sales_units/product/{product_code}

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Items changed
          - Properties changed
            - New property: quantity_precision
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: dictionary_quantity_precision
                  - New property: quantity_precision

PUT /sales_units/{sales_unit_id}

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: quantity_precision
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - New property: quantity_precision
                - Modified property: client_groups
                  - Items changed
                    - Title changed from 'ClientsGroupsEntityModel' to 'ClientsGroupsListItemModel'
                    - Description changed from '' to 'Pozycja odpowiedzi GET /clients_groups (dane z saly-pricing lub fallback MySQL).

group_code to kanoniczny identyfikator grupy; id (legacy) jest None dla
grup natywnych saly-pricing.'

GET /search/products

- New query param: context
- Modified query param: size
  - Schema changed
    - Default changed from 20 to null

POST /search/products/batch

- New query param: context

GET /search/products/{code}

- New query param: context

GET /search/suggest

- New query param: context
- Modified query param: size
  - Schema changed
    - Default changed from 7 to null

GET /slider/{sliders_id}

- New query param: location_type
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Required changed
                  - Deleted required property: position
                - Properties changed
                  - New property: client_groups
                  - New property: has_all_lang
                  - New property: has_show_anonymous
                  - New property: has_show_to_logged
                  - New property: location_type
                  - Deleted property: position

DELETE /slider/{sliders_id}/banner/{banners_id}

- New query param: audience

POST /slider/{sliders_id}/banner/{banners_id}

- New query param: audience
- Deleted query param: position
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Required changed
                - Deleted required property: position
              - Properties changed
                - New property: client_groups
                - New property: has_all_lang
                - New property: has_show_anonymous
                - New property: has_show_to_logged
                - New property: location_type
                - Deleted property: position

GET /slider/{sliders_id}/statistics

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Required changed
                  - Deleted required property: position
                - Properties changed
                  - New property: client_groups
                  - New property: has_all_lang
                  - New property: has_show_anonymous
                  - New property: has_show_to_logged
                  - New property: location_type
                  - Deleted property: position

Version 9.1.0 

NEW ENDPOINTS (38)

POST /basket/from-source
POST /client/table
POST /forms/{form_code}/submit
POST /order/table
GET /order/{order_external_id}/export
GET /orders/kpi
POST /product/names-by-codes
POST /product/table
POST /product/{product_code}/photo
POST /product/{product_code}/photo/multipart
GET /search-admin/analytics/latency-histogram
GET /search-admin/analytics/top-queries
GET /search-admin/analytics/zero-results
GET /search-admin/indices
GET /search-admin/indices/{index_name}/mapping
GET /search-admin/languages
GET /search-admin/performance
GET /search-admin/promoted-categories
POST /search-admin/promoted-categories
PUT /search-admin/promoted-categories/reorder
DELETE /search-admin/promoted-categories/{category_id}
PUT /search-admin/promoted-categories/{category_id}
POST /search-admin/reindex
GET /search-admin/reindex/{job_id}/progress
GET /search-admin/relevance
PUT /search-admin/relevance
GET /search-admin/synonyms
POST /search-admin/synonyms
PUT /search-admin/synonyms/apply
DELETE /search-admin/synonyms/{synonym_id}
POST /search-admin/test-query
GET /search/categories
GET /search/categories/{category_id}/facets
GET /search/category-filters
GET /search/products
POST /search/products/batch
GET /search/products/{code}
GET /search/suggest

DELETED ENDPOINTS (6)

DELETE /elastic/attributes
GET /elastic/product
GET /mds-info
GET /product/get_products
GET /roles
GET /roles/{role_id}

Modified ENDPOINTS (32)

GET /banner

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - Modified property: client_groups
                    - Property 'AnyOf' changed
                      - Modified schema: subschema #2: ClientsGroupsEntityModel
                        - Properties changed
                          - New property: group_code
                          - New property: group_type
                          - New property: margin_value

POST /banner

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Modified property: client_groups
                  - Property 'AnyOf' changed
                    - Modified schema: subschema #2: ClientsGroupsEntityModel
                      - Properties changed
                        - New property: group_code
                        - New property: group_type
                        - New property: margin_value

GET /banner/{banners_id}

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Modified property: client_groups
                  - Property 'AnyOf' changed
                    - Modified schema: subschema #2: ClientsGroupsEntityModel
                      - Properties changed
                        - New property: group_code
                        - New property: group_type
                        - New property: margin_value

PUT /banner/{banners_id}

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Modified property: client_groups
                  - Property 'AnyOf' changed
                    - Modified schema: subschema #2: ClientsGroupsEntityModel
                      - Properties changed
                        - New property: group_code
                        - New property: group_type
                        - New property: margin_value

GET /basket

- New query param: limit
- New query param: offset
- New query param: search

POST /basket/guest/validate-stock

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - Modified property: products
            - Items changed
              - Properties changed
                - New property: unit_multiplier

POST /basket/{basket_id}/import

- Description changed from 'Handles basket import file upload and initial processing.

This endpoint manages the first phase of the basket import workflow:
1. Authentication and authorization validation
2. File upload and preliminary validation
3. Forwarding to REST v1 service for detailed processing
4. Response aggregation and error handling

The import process is designed to handle product masking and visibility
rules, ensuring that only appropriate products are imported based on
client configuration.

Args:
    response: FastAPI response object for status code management
    basket_id: Identifier of the target basket for import
    file: Uploaded file containing product data (CSV/XLSX format)
    token: JWT authentication token
    view_data: Dependency injection container with business logic classes

Returns:
    BasketImportResponseModel containing:
        - data: Import processing results
        - success: Boolean indicating operation success
        - msg: User-facing status or error message

Raises:
    HTTP 400: On authentication, authorization, or processing failures' to 'Native basket import — parses uploaded CSV/XLSX, stages rows in basket_import
with masking validation. Companion `GET /import/run` commits staged rows.'
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Type changed from '' to 'object'
                - Title changed from '' to 'BasketImportResultRow'
                - Properties changed
                  - New property: code
                  - New property: is_active
                  - New property: msg
                  - New property: msg_type
                  - New property: productCode
                  - New property: quantity
                  - New property: requestedQuantity

GET /basket/{basket_id}/lane

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: brutto
                  - New property: full_brutto

POST /basket/{basket_id}/replace_with_substitute

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: brutto
                  - New property: full_brutto

PATCH /categories/{category_id}/filters

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Type changed from 'object' to ''
          - Title changed from 'SuccessModel' to ''
          - Required changed
            - Deleted required property: success
          - Properties changed
            - Deleted property: msg
            - Deleted property: success

POST /client/register

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Required changed
          - Deleted required property: email
        - Properties changed
          - New property: allow_empty_email

PATCH /clients/merchant_limit

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Items changed
          - Properties changed
            - Modified property: external_id
              - Type changed from 'integer' to 'string'
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Modified property: failed_clients
                  - Items changed
                    - Properties changed
                      - Modified property: external_id
                        - Type changed from 'integer' to 'string'
                - Modified property: updated_clients
                  - Items changed
                    - Type changed from 'integer' to 'string'

GET /clients_groups

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: group_code
                  - New property: group_type
                  - New property: margin_value

GET /delivery_type

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: free_delivery_label

POST /delivery_type

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: free_delivery_label
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Property 'AnyOf' changed
                - Modified schema: subschema #1: DeliveryTypeModel
                  - Properties changed
                    - New property: free_delivery_label

PUT /delivery_type/{delivery_type_id}

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: free_delivery_label
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: delivery_type
              - Property 'AnyOf' changed
                - Modified schema: subschema #1: DeliveryTypeModel
                  - Properties changed
                    - New property: free_delivery_label

GET /export/clients_groups/caretakers

- Deprecated changed from false to true

GET /export/clients_groups/structure

- Deprecated changed from false to true

GET /export/clients_groups/{clients_groups_id}/pricelist

- Deprecated changed from false to true

GET /export/pricelist/clients_groups

- Deprecated changed from false to true

PUT /import/clients_groups/{clients_groups_id}/pricelist

- Deprecated changed from false to true

POST /microservices/save-configuration

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: local_only
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - New property: mds_failed

GET /order

- Modified query param: date_from
  - Schema changed
    - Default changed from '2026-03-12 00:00:00' to '2026-05-28 00:00:00'
- Modified query param: date_to
  - Schema changed
    - Default changed from '2026-03-12 23:59:59' to '2026-05-28 23:59:59'
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: orders
              - Items changed
                - Properties changed
                  - Modified property: document
                    - Properties changed
                      - Modified property: products
                        - Items changed
                          - Properties changed
                            - New property: sales_unit

GET /order/{order_external_id}

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: order
              - Properties changed
                - Modified property: document
                  - Properties changed
                    - Modified property: products
                      - Items changed
                        - Properties changed
                          - New property: sales_unit

POST /product/stock-deliveries

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Modified property: products
                  - AdditionalProperties changed
                    - Properties changed
                      - New property: available_units

GET /sales_units

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - Modified property: client_groups
                    - Items changed
                      - Properties changed
                        - New property: group_code
                        - New property: group_type
                        - New property: margin_value

POST /sales_units

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - Modified property: client_groups
            - Items changed
              - Type changed from 'integer' to 'string'
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Modified property: client_groups
                  - Items changed
                    - Properties changed
                      - New property: group_code
                      - New property: group_type
                      - New property: margin_value

PUT /sales_units/{sales_unit_id}

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - Modified property: client_groups
            - Items changed
              - Type changed from 'integer' to 'string'
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Modified property: client_groups
                  - Items changed
                    - Properties changed
                      - New property: group_code
                      - New property: group_type
                      - New property: margin_value

GET /stock/orders/report

- Modified query param: orders_date_from
  - Schema changed
    - Default changed from '2026-02-10 00:00:00' to '2026-04-28 00:00:00'
- Modified query param: orders_date_to
  - Schema changed
    - Default changed from '2026-03-12 23:59:59' to '2026-05-28 23:59:59'

GET /warehouses

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: include_in_availability

POST /warehouses

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: include_in_availability
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: include_in_availability

PUT /warehouses/{warehouse_id}

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: include_in_availability
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: include_in_availability


Version 9.0.5 

NEW ENDPOINTS (14)

POST /cache/dashboard/invalidate
GET /categories/summary
GET /categories/{category_id}/product-codes
GET /categories/{category_id}/product-counts
GET /export/baskets
GET /export/clients/discounts
GET /export/clients_groups/caretakers
GET /export/clients_groups/structure
GET /export/pricelist/catalog
GET /export/pricelist/clients
GET /export/pricelist/clients_groups
GET /mds-info
POST /promotions/product-group-product-changed
GET /promotions/{promotion_id}/group-products

DELETED ENDPOINTS (0)

Modified ENDPOINTS (5)

GET /client

- New query param: show_merchants
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: merchants

GET /export/order/{order_id}

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Items changed
            - Properties changed
              - New property: bi_status
              - Modified property: lanes
                - Items changed
                  - Title changed from 'OrderLaneDataModel' to 'OrderLaneResponseModel'
                  - Description changed from '' to 'Order lane model for read/export - no input validation constraints.'

GET /export/orders

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Title changed from 'Response Export Orders Export Orders Get' to 'Response 200 Export Orders Export Orders Get'
          - Items changed
            - Properties changed
              - New property: bi_status
              - Modified property: lanes
                - Items changed
                  - Title changed from 'OrderLaneDataModel' to 'OrderLaneResponseModel'
                  - Description changed from '' to 'Order lane model for read/export - no input validation constraints.'

GET /promotions

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Property 'AnyOf' changed
                - Modified schema: subschema #2: GetPromotionsDataModel
                  - Properties changed
                    - New property: auto_disable_tags
                    - New property: product_group_code
                    - New property: tag_ids
                - Modified schema: subschema #1
                  - Items changed
                    - Properties changed
                      - New property: auto_disable_tags
                      - New property: product_group_code
                      - New property: tag_ids

PUT /promotions/{promotion_id}

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: tag_ids
          - Modified property: promotions_data
            - Properties changed
              - New property: auto_disable_tags
              - New property: product_group_code
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Property 'AnyOf' changed
                - Modified schema: subschema #2: GetPromotionsDataModel
                  - Properties changed
                    - New property: auto_disable_tags
                    - New property: product_group_code
                    - New property: tag_ids
                - Modified schema: subschema #1
                  - Items changed
                    - Properties changed
                      - New property: auto_disable_tags
                      - New property: product_group_code
                      - New property: tag_ids


Version 9.0.0 

NEW ENDPOINTS (36)

GET /articles
GET /articles/{article_id}
POST /basket/checkout/guest/finalize
POST /basket/guest-preview/checkout/delivery-methods
POST /basket/guest/validate-stock
PATCH /basket/lane/{lane_id}
POST /basket/offer/create/{clients_external_id}
GET /basket/offer/{clients_external_id}
GET /basket/uuid/{basket_uuid}
POST /basket/{basket_id}/custom_lane
POST /basket/{basket_id}/replace_with_substitute
PATCH /basket/{basket_id}/toggle-fast-order
POST /basket/{basket_uuid}/checkout/calculate-shipping
GET /basket/{basket_uuid}/checkout/delivery-methods
GET /basket/{basket_uuid}/checkout/documents
GET /basket/{basket_uuid}/checkout/payment-methods
POST /basket/{basket_uuid}/checkout/submit
GET /categories
GET /client/{clients_external_id}/delivery-addresses
GET /client/{clients_id}/merchants
GET /microservices/configuration
POST /microservices/save-configuration
GET /product-alias
POST /product-alias
POST /product-alias/bulk
POST /product-alias/bulk-delete
POST /product-alias/by-codes
GET /product-alias/export
POST /product-alias/search
DELETE /product-alias/{product_code}
GET /product-alias/{product_code}
PUT /product-alias/{product_code}
POST /product/stock-deliveries
DELETE /settings/{setting_key}/gallery
GET /settings/{setting_key}/gallery
POST /settings/{setting_key}/gallery

DELETED ENDPOINTS (7)

PUT /basket/lane/{lane_id}/offer_price
PUT /basket/lane/{lane_id}/quantity/{quantity}
GET /basket/{basket_id}
GET /rest/client/{client_id}/orders
GET /rest/client/{client_id}/prices
POST /rest/setNewImport
GET /settings/{key}

Modified ENDPOINTS (46)

GET /banner

- Description changed from '' to 'Get banners with optional search and filtering.

Args:
    is_active: Filter by active status (1=active, 0=inactive)
    lang_id: Language ID for banner content
    q: Search query for banner title/subtitle
    limit: Maximum number of results
    offset: Pagination offset
    status: Legacy parameter ('active'|'all'), maps to is_active'
- New query param: limit
- New query param: offset
- New query param: q
- New query param: status
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - Modified property: client_groups
                    - Property 'AnyOf' changed
                      - Modified schema: subschema #2: ClientsGroupsEntityModel
                        - Properties changed
                          - New property: is_group_for_new_clients
                          - Modified property: discount
                            - Description changed from 'Rabat/narzut grupy: 0/100=brak, 1-99=rabat%, >100=narzut%' to ''
                            - Min changed from 0 to null
                            - Max changed from 999 to null

POST /banner

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Modified property: client_groups
                  - Property 'AnyOf' changed
                    - Modified schema: subschema #2: ClientsGroupsEntityModel
                      - Properties changed
                        - New property: is_group_for_new_clients
                        - Modified property: discount
                          - Description changed from 'Rabat/narzut grupy: 0/100=brak, 1-99=rabat%, >100=narzut%' to ''
                          - Min changed from 0 to null
                          - Max changed from 999 to null

GET /banner/{banners_id}

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Modified property: client_groups
                  - Property 'AnyOf' changed
                    - Modified schema: subschema #2: ClientsGroupsEntityModel
                      - Properties changed
                        - New property: is_group_for_new_clients
                        - Modified property: discount
                          - Description changed from 'Rabat/narzut grupy: 0/100=brak, 1-99=rabat%, >100=narzut%' to ''
                          - Min changed from 0 to null
                          - Max changed from 999 to null

PUT /banner/{banners_id}

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Modified property: client_groups
                  - Property 'AnyOf' changed
                    - Modified schema: subschema #2: ClientsGroupsEntityModel
                      - Properties changed
                        - New property: is_group_for_new_clients
                        - Modified property: discount
                          - Description changed from 'Rabat/narzut grupy: 0/100=brak, 1-99=rabat%, >100=narzut%' to ''
                          - Min changed from 0 to null
                          - Max changed from 999 to null

GET /basket

- Summary changed from 'Get Baskets For User' to 'Get Basket Data'
- OperationID changed from 'get_baskets_for_user_basket_get' to 'get_basket_data_basket_get'
- New query param: active
- New query param: basket_id
- New query param: delivery_type
- New query param: is_offer
- New query param: shorten
- Responses changed
  - New response: 422
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Type changed from 'object' to ''
          - Title changed from 'GetBasketsResponseModel' to ''
          - Required changed
            - Deleted required property: data
            - Deleted required property: success
          - Properties changed
            - Deleted property: data
            - Deleted property: success

PATCH /basket/{basket_id}

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: is_offer
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Required changed
                - New required property: clients_branch
              - Properties changed
                - New property: clients_branch

GET /basket/{basket_id}/lane

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Type changed from '' to 'object'
          - Title changed from '' to 'GetBasketLanesResponseModel'
          - Description changed from '' to 'Response model for GET /basket/{basket_id}/lane endpoint'
          - Required changed
            - New required property: success
          - Properties changed
            - New property: data
            - New property: msg
            - New property: success

POST /basket/{basket_id}/lane/send

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Property 'AnyOf' changed
          - Modified schema: subschema #2: AddLaneToBasketModel
            - Properties changed
              - New property: discount
              - New property: fast_order
              - New property: price_netto
              - New property: vat
          - Modified schema: subschema #1
            - Items changed
              - Properties changed
                - New property: discount
                - New property: fast_order
                - New property: price_netto
                - New property: vat

GET /client

- New query param: is_client
- New query param: is_producer
- New query param: is_producer_or_supplier
- New query param: is_supplier
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: default_lead_time
                  - New property: is_client
                  - New property: is_producer
                  - New property: is_supplier

PATCH /client/{clients_external_id}/update

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: default_lead_time
          - New property: is_client
          - New property: is_producer
          - New property: is_supplier
          - New property: minimum_inquiry_value
          - Modified property: discount
            - Description changed from 'Rabat/narzut: 0/100=brak, 1-99=rabat%, >100=narzut%' to ''
            - Min changed from 0 to null
            - Max changed from 999 to null
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - New property: default_lead_time
                - New property: is_client
                - New property: is_producer
                - New property: is_supplier
                - New property: minimum_inquiry_value
                - Modified property: discount
                  - Description changed from 'Rabat/narzut: 0/100=brak, 1-99=rabat%, >100=narzut%' to ''
                  - Min changed from 0 to null
                  - Max changed from 999 to null

PUT /clients_branch/{clients_branch_id}

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: assigned_merchant_ids
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Property 'AnyOf' changed
                - Modified schema: subschema #1: ClientBranchModel
                  - Properties changed
                    - New property: assigned_merchant_ids

DELETE /clients_branch/{clients_branch_id}/user/{user_id}

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: assigned_merchant_ids

PUT /clients_branch/{clients_branch_id}/user/{user_id}

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: assigned_merchant_ids

GET /clients_branch/{clients_external_id}

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: assigned_merchant_ids

POST /clients_branch/{clients_external_id}

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: assigned_merchant_ids
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Property 'AnyOf' changed
                - Modified schema: subschema #1: ClientBranchModel
                  - Properties changed
                    - New property: assigned_merchant_ids

GET /clients_groups

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: is_group_for_new_clients
                  - Modified property: discount
                    - Description changed from 'Rabat/narzut grupy: 0/100=brak, 1-99=rabat%, >100=narzut%' to ''
                    - Min changed from 0 to null
                    - Max changed from 999 to null

GET /collection/{collection_id}/products

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Modified property: products
                  - Items changed
                    - Properties changed
                      - New property: static_link

GET /export/order/{order_id}

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Items changed
            - Properties changed
              - Modified property: delivery_address
                - Items changed
                  - Properties changed
                    - New property: company
                    - New property: name
              - Modified property: lanes
                - Items changed
                  - Properties changed
                    - New property: notes
                    - New property: quantity_realized

GET /export/order_lanes/{order_id}

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Items changed
            - Properties changed
              - New property: notes
              - New property: quantity_realized

GET /export/orders

- New query param: limit
- New query param: offset
- Modified query param: date_order_delta_unit
  - Schema changed
    - Default changed from 'time_unit' to 'day'
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Items changed
            - Properties changed
              - Modified property: delivery_address
                - Items changed
                  - Properties changed
                    - New property: company
                    - New property: name
              - Modified property: lanes
                - Items changed
                  - Properties changed
                    - New property: notes
                    - New property: quantity_realized

GET /export/orders_lanes

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Items changed
            - Properties changed
              - New property: notes
              - New property: quantity_realized

GET /export/product_stocks/{warehouse_id}

- New query param: limit
- New query param: offset
- Modified query param: allowed_format
  - Schema changed
    - New enum values: [json]

POST /import/clients_group_pricelist

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Items changed
          - Properties changed
            - New property: discount

POST /import/clients_group_pricelist/run

- Description changed from 'Executes import of client group pricelists from temporary staging table.

This endpoint processes uploaded group pricelist data and applies it to client
group configurations. It manages product visibility, pricing, and masking rules
for entire groups of clients simultaneously.

**IMPORTANT - ElasticSearch Synchronization Required:**
If product masking is enabled in system settings (`use_products_masking_for_customers = 1`)
AND this import modified product visibility for client groups (added/removed products
from group pricelist, changed `flag` values), you MUST call `PUT /elastic/update_elasticsearch`
afterwards.

Without calling the ElasticSearch update endpoint, clients in affected groups will NOT
see the updated product catalogs reflecting the new masking rules. The changes will be
saved in the database but not reflected in search results and product listings.

Related Endpoints:

    - POST /import/clients_group_pricelist - Upload group pricelist data to temp table
    - PUT /elastic/update_elasticsearch - Sync product visibility to search' to ''

POST /import/clients_pricelist

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Items changed
          - Required changed
            - Deleted required property: discount

POST /import/clients_pricelist/run

- Description changed from 'Executes import of individual client pricelists from temporary staging table.

This endpoint processes uploaded pricelist data and applies it to individual
client configurations. It manages product visibility, pricing, and masking rules
on a per-client basis.

**IMPORTANT - ElasticSearch Synchronization Required:**
If product masking is enabled in system settings (`use_products_masking_for_customers = 1`)
AND this import modified product visibility (added/removed products from pricelist,
changed `flag` values), you MUST call `PUT /elastic/update_elasticsearch` afterwards.

Without calling the ElasticSearch update endpoint, clients will NOT see the updated
product catalogs reflecting the new masking rules. The changes will be saved in the
database but not reflected in search results and product listings.

Related Endpoints:

    - POST /import/clients_pricelist - Upload pricelist data to temp table
    - PUT /elastic/update_elasticsearch - Sync product visibility to search' to ''

POST /import/orders

- Description changed from 'Przykład:
```
[{
    "clients_external_id": 1000,
    "order_external_id": 100,
    "number": 112,
    "order_date": "2020-12-11 11:16:34",
    "delivery_date": "2020-12-11 11:16:34",
    "shipment_date": "2020-12-12",
    "document_type": 1,
    "document_number": "NUMER/DOKUMENTU.123",
    "value_total_netto": 1000,
    "value_total_brutto": 1230,
    "status_id": 2,
    "status_name": "Wysłano",
    "currency": "PLN",
    "source_id": 0,
    "comment": "komentarz",
    "lanes": [
        {
            "product_code": "KK.01",
            "product_name": "Produkt 1",
            "price_netto": 500,
            "quantity": 2,
            "vat": 5,
            "currency": "PLN"
        },
        {
            "product_code": "KK.02",
            "product_name": "Produkt 2",
            "price_netto": 300,
            "quantity": 3,
            "vat": 23,
            "currency": "PLN"
        }
    ]
}]
```' to 'Przykład:
```
[{
    "clients_external_id": 1000,
    "order_external_id": 100,
    "number": 112,
    "order_date": "2020-12-11 11:16:34",
    "delivery_date": "2020-12-11 11:16:34",
    "shipment_date": "2020-12-12",
    "document_type": 1,
    "document_number": "NUMER/DOKUMENTU.123",
    "value_total_netto": 1000,
    "value_total_brutto": 1230,
    "status_id": 2,
    "status_name": "Wysłano",
    "currency": "PLN",
    "source_id": 0,
    "comment": "komentarz",
    "lanes": [
        {
            "product_code": "KK.01",
            "product_name": "Produkt 1",
            "price_netto": 500,
            "quantity": 2,
            "vat": 5,
            "currency": "PLN",
            "unit_external_id": "SZT"
        },
        {
            "product_code": "KK.02",
            "product_name": "Produkt 2",
            "price_netto": 300,
            "quantity": 3,
            "vat": 23,
            "currency": "PLN",
            "unit_external_id": "KPL"
        }
    ]
}]
```'

POST /import/orders/run/{date_start},{date_end}

- Description changed from 'date_start/date_end w formacie RRRR-MM-DD' to 'date_start/date_end w formacie RRRR-MM-DD

Import modes:
- **replace** (default): Deletes all orders in date range, then imports. DANGEROUS - can lose data if import is incomplete.
- **upsert**: Updates existing orders + adds new ones. SAFE - no data loss.'
- New query param: mode

GET /order

- Modified query param: clients_external_id
  - Description changed from 'Filter orders by order external_client_id (Optional)' to 'Filter orders by order clients_external_id (Optional)'
  - Schema changed
    - Description changed from 'Filter orders by order external_client_id (Optional)' to 'Filter orders by order clients_external_id (Optional)'

PUT /order

- New header param: x-app-token
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: client_comment
          - New property: number_po
          - New property: user_mail
          - Modified property: delivery_address
            - Property 'AnyOf' changed
              - Modified schema: subschema #2: AddressDataModel
                - Properties changed
                  - New property: company
                  - New property: name
              - Modified schema: subschema #1
                - Items changed
                  - Properties changed
                    - New property: company
                    - New property: name
          - Modified property: lanes
            - Items changed
              - Properties changed
                - New property: notes
                - New property: quantity_realized

PATCH /order/{order_external_id}

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: number_po
          - Modified property: lanes
            - Items changed
              - Properties changed
                - New property: notes
                - New property: quantity_realized

PUT /order/{order_external_id}/delivery_address

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - Modified property: address
            - Properties changed
              - New property: company
              - New property: name

GET /order/{order_external_id}/lanes

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: notes
                  - New property: quantity_realized

PATCH /order/{order_external_id}/lanes

- New query param: mail_notification
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - Modified property: lanes
            - Items changed
              - Properties changed
                - New property: notes
                - New property: quantity_realized

GET /pending_orders

- Description changed from 'Retrieve shopping carts that are in a pending order state.
Pending orders are orders that have not been processed by the internal ordering system' to 'Retrieve shopping carts that are in a pending order state.
Pending orders are orders that have not been processed by the internal ordering system.

**Formats:**
- **standard** (default): Original structure with `delivery` at root level, `products` inside `documents`
- **extended**: New structure with `delivery` inside `documents`, `products` inside `delivery`.
  Includes Supply Planning fields: `reservation_id`, `source_type`, `preferred_delivery_date`

This endpoint can be accessed with either:
- JWT Bearer Token in the Authorization header
- APP_TOKEN in the X-App-Token header'
- New query param: format
- New header param: x-app-token
- Responses changed
  - New response: 422
  - Modified response: 200
    - Description changed from 'Successful Response' to 'Successful response - pending orders list'
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Type changed from 'object' to ''
          - Title changed from 'GetPendingOrdersResponseModel' to ''
          - Required changed
            - Deleted required property: success
          - Properties changed
            - Deleted property: count
            - Deleted property: msg
            - Deleted property: pending_orders
            - Deleted property: success
        - Examples changed
          - New example: extended
          - New example: standard

POST /pending_orders/{pending_order_uuid}

- Description changed from 'Close a pending order processed by an external system
    

    pending_order_uuid : pending order identifier
    order_external_id : identifier of the order processed in the external system' to 'Close a pending order processed by an external system

This endpoint can be accessed with either:
- JWT Bearer Token in the Authorization header
- APP_TOKEN in the X-App-Token header

Parameters:
- pending_order_uuid: pending order identifier
- order_external_id: identifier of the order processed in the external system'
- New header param: x-app-token

GET /product/code/{product_code}/lane

- Modified path param: product_code
  - Description changed from 'Product code (URL-encoded if contains special characters)' to ''
  - Schema changed
    - Description changed from 'Product code (URL-encoded if contains special characters)' to ''
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Property 'AnyOf' changed
                - Modified schema: subschema #1: ProductLanesEntityModel
                  - Properties changed
                    - New property: zero_stock_behavior
                - Modified schema: subschema #2
                  - Items changed
                    - Properties changed
                      - New property: zero_stock_behavior

GET /product/related/{product_code}

- Description changed from 'Pobiera listę produktów powiązanych z danym produktem głównym.

Endpoint zwraca produkty które administratorzy oznaczyli jako powiązane
(recommended, często kupowane razem). Stosuje hierarchię cenników maskowania
aby zwrócić tylko produkty dostępne dla zalogowanego klienta.

Args:
    response: FastAPI Response object
    product_code: Kod produktu głównego (URL-encoded)
    token: JWT token użytkownika (z oauth2_scheme)
    view_data: ViewData dependency z dostępem do services

Returns:
    dict: Response z listą produktów powiązanych i statusem operacji
        {
            "data": [{"product_id": int, "product_code": str}, ...],
            "success": bool
        }

Responses:
    200: Produkty powiązane znalezione (success=True)
    400: Błąd przy dekodowaniu product_code (success=False)
    403: Brak autoryzacji (success=False)
    500: Błąd serwera (success=False)

Note:
    Endpoint automatycznie filtruje produkty powiązane na podstawie:
    - Hierarchii cenników (indywidualny > grupowy)
    - Globalnego ustawienia maskowania
    - Aktywności produktu (is_active = 1)

    Niezalogowani użytkownicy (clients_external_id = None) widzą
    wszystkie aktywne produkty powiązane.

    Product_code jest URL-encoded i wymaga dekodowania przed użyciem.

Example:
    GET /related/LAPTOP%2BX1
    Response:
    {
        "data": [
            {"product_id": 45, "product_code": "MOUSE_Y2"},
            {"product_id": 67, "product_code": "BAG_Z3"}
        ],
        "success": true
    }

See Also:
    - ProductRepository.get_product_related(): Repository method
    - decode_product_code(): URL decoding helper' to ''
- New query param: relation_type
- Modified path param: product_code
  - Description changed from 'Product code (URL-encoded if contains special characters)' to ''
  - Schema changed
    - Description changed from 'Product code (URL-encoded if contains special characters)' to ''
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Description changed from '' to 'Response model for product related/substitute endpoints'
          - Properties changed
            - New property: msg
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: relation_type

POST /product/related/{product_code}

- Modified path param: product_code
  - Description changed from 'Product code (URL-encoded if contains special characters)' to ''
  - Schema changed
    - Description changed from 'Product code (URL-encoded if contains special characters)' to ''
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Title changed from 'Data' to 'Request Data'
        - Items changed
          - Properties changed
            - New property: relation_type
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Description changed from '' to 'Response model for product related/substitute endpoints'
          - Properties changed
            - New property: msg
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: relation_type

POST /product/stock

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Description changed from '' to 'Response model for /stock endpoint - without product_name'
          - Properties changed
            - New property: total_warehouse_data
            - New property: total_warehouse_data_by_code
            - New property: zero_stock_behavior
            - Modified property: data
              - Property 'AnyOf' changed
                - Modified schema: subschema #1
                  - Items changed
                    - Description changed from '' to 'Model for /stock endpoint - without product_name'
                    - Required changed
                      - Deleted required property: warehouse_id
                    - Properties changed
                      - New property: breakpoint_color
                      - New property: breakpoint_value
                      - New property: delivery_information
                      - New property: external_id
                      - New property: id
                      - New property: name
                      - New property: stock_enabled
                      - New property: zero_stock_behavior
                      - Deleted property: warehouse_id

GET /product/{product_id}

- Description changed from 'Pobiera szczegółowe dane pojedynczego produktu z zastosowaniem maskowania.

Endpoint zwraca kompletne informacje o produkcie dla zalogowanego użytkownika.
Stosuje hierarchię cenników maskowania (indywidualny > grupowy) dla
kontroli widoczności i możliwości zakupu.

Args:
    response: FastAPI Response object
    product_id: ID produktu do pobrania
    view_data: ViewData dependency z dostępem do services
    token: JWT token użytkownika (z oauth2_scheme)

Returns:
    dict | None: Dane produktu lub None jeśli produkt nie istnieje/nie jest dostępny

Responses:
    200: Produkt znaleziony i dostępny
    404: Produkt nie istnieje lub nie jest dostępny dla klienta

Note:
    Endpoint aplikuje reguły maskowania:
    - flag = 0: Zwraca 404 (produkt niewidoczny)
    - flag = 1: Zwraca dane z is_purchasable=False (tylko podgląd)
    - flag = NULL: Zwraca dane z is_purchasable=True (pełny dostęp)

    Niezalogowani użytkownicy (brak clients_external_id) mają pełny dostęp.

See Also:
    - _check_masking_configuration(): Sprawdzanie statusu maskowania
    - _apply_visibility_rules(): Aplikowanie reguł widoczności
    - _enrich_product_with_metadata(): Dodawanie tagów i metadanych' to ''

GET /sales_units

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - Modified property: client_groups
                    - Items changed
                      - Properties changed
                        - New property: is_group_for_new_clients
                        - Modified property: discount
                          - Description changed from 'Rabat/narzut grupy: 0/100=brak, 1-99=rabat%, >100=narzut%' to ''
                          - Min changed from 0 to null
                          - Max changed from 999 to null

POST /sales_units

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Modified property: client_groups
                  - Items changed
                    - Properties changed
                      - New property: is_group_for_new_clients
                      - Modified property: discount
                        - Description changed from 'Rabat/narzut grupy: 0/100=brak, 1-99=rabat%, >100=narzut%' to ''
                        - Min changed from 0 to null
                        - Max changed from 999 to null

PUT /sales_units/{sales_unit_id}

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Modified property: client_groups
                  - Items changed
                    - Properties changed
                      - New property: is_group_for_new_clients
                      - Modified property: discount
                        - Description changed from 'Rabat/narzut grupy: 0/100=brak, 1-99=rabat%, >100=narzut%' to ''
                        - Min changed from 0 to null
                        - Max changed from 999 to null

GET /settings

- Description changed from '' to 'Get system settings with optional group filtering.

Args:
    group_id: Only return settings from this group (e.g., group_id=6 for mail settings)
    exclude_group_id: Exclude settings from this group (e.g., exclude_group_id=6 for general settings)'
- New query param: exclude_group_id
- New query param: group_id
- New header param: x-app-token
- Responses changed
  - New response: 422

POST /user/token

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - New property: product_version

Version 8.5.4 

NEW ENDPOINTS (0)

DELETED ENDPOINTS (0)

Modified ENDPOINTS (4)

POST /client/register

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Required changed
          - Deleted required property: email
        - Properties changed
          - New property: allow_empty_email

POST /import/orders/run/{date_start},{date_end}

- Description changed from 'date_start/date_end w formacie RRRR-MM-DD' to 'date_start/date_end w formacie RRRR-MM-DD

mode: "replace" (domyślny) - usuwa i importuje od nowa
      "upsert" - aktualizuje istniejące + dodaje nowe (bezpieczniejsze)'
- New query param: mode

GET /order

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: orders
              - Items changed
                - Properties changed
                  - Modified property: document
                    - Properties changed
                      - Modified property: products
                        - Items changed
                          - Properties changed
                            - New property: sales_unit

GET /order/{order_external_id}

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: order
              - Properties changed
                - Modified property: document
                  - Properties changed
                    - Modified property: products
                      - Items changed
                        - Properties changed
                          - New property: sales_unit

Version 8.5.3 

NEW ENDPOINTS (1)

GET /clients/merchant_limit

DELETED ENDPOINTS (0)

Modified ENDPOINTS (1)

GET /clients/merchant_limit
- OperationID changed from 'get_turnover_for_client_bi_turnover_clients__clients_id__get' to 'get_turnover_for_client_bi_turnover_clients__clients_external_id__get'
- Modified path param: clients_id
  - Name changed from 'clients_id' to 'clients_external_id'
  - Schema changed
    - Type changed from 'integer' to 'string'
    - Title changed from 'Clients Id' to 'Clients External Id'

Version 8.5.2 

NEW ENDPOINTS (0)

DELETED ENDPOINTS (0)

Modified ENDPOINTS (1)

GET /pending_orders

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: pending_orders
              - Items changed
                - Properties changed
                  - Modified property: client
                    - Properties changed
                      - New property: is_export

Version 8.5.1 

NEW ENDPOINTS (0)

DELETED ENDPOINTS (0)

Modified ENDPOINTS (1)

GET /stock/orders/report

- Modified query param: orders_date_from
  - Schema changed
    - Default changed from '2025-09-27 00:00:00' to '2025-12-15 00:00:00'
- Modified query param: orders_date_to
  - Schema changed
    - Default changed from '2025-10-27 23:59:59' to '2026-01-14 23:59:59'


Version 8.5.0 

NEW ENDPOINTS (0)

DELETED ENDPOINTS (0)

Modified ENDPOINTS (16)

GET /banner

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - Modified property: client_groups
                    - Property 'AnyOf' changed
                      - Modified schema: subschema #2: ClientsGroupsEntityModel
                        - Properties changed
                          - Modified property: discount
                            - Description changed from '' to 'Rabat/narzut grupy: 0/100=brak, 1-99=rabat%, >100=narzut%'
                            - Min changed from null to 0
                            - Max changed from null to 999

POST /banner

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Modified property: client_groups
                  - Property 'AnyOf' changed
                    - Modified schema: subschema #2: ClientsGroupsEntityModel
                      - Properties changed
                        - Modified property: discount
                          - Description changed from '' to 'Rabat/narzut grupy: 0/100=brak, 1-99=rabat%, >100=narzut%'
                          - Min changed from null to 0
                          - Max changed from null to 999

GET /banner/{banner_id}

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Modified property: client_groups
                  - Property 'AnyOf' changed
                    - Modified schema: subschema #2: ClientsGroupsEntityModel
                      - Properties changed
                        - Modified property: discount
                          - Description changed from '' to 'Rabat/narzut grupy: 0/100=brak, 1-99=rabat%, >100=narzut%'
                          - Min changed from null to 0
                          - Max changed from null to 999

PUT /banner/{banners_id}

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Modified property: client_groups
                  - Property 'AnyOf' changed
                    - Modified schema: subschema #2: ClientsGroupsEntityModel
                      - Properties changed
                        - Modified property: discount
                          - Description changed from '' to 'Rabat/narzut grupy: 0/100=brak, 1-99=rabat%, >100=narzut%'
                          - Min changed from null to 0
                          - Max changed from null to 999

POST /basket/{basket_id}/import

- Description changed from '' to 'Handles basket import file upload and initial processing.

This endpoint manages the first phase of the basket import workflow:
1. Authentication and authorization validation
2. File upload and preliminary validation
3. Forwarding to REST v1 service for detailed processing
4. Response aggregation and error handling

The import process is designed to handle product masking and visibility
rules, ensuring that only appropriate products are imported based on
client configuration.

Args:
    response: FastAPI response object for status code management
    basket_id: Identifier of the target basket for import
    file: Uploaded file containing product data (CSV/XLSX format)
    token: JWT authentication token
    view_data: Dependency injection container with business logic classes

Returns:
    BasketImportResponseModel containing:
        - data: Import processing results
        - success: Boolean indicating operation success
        - msg: User-facing status or error message

Raises:
    HTTP 400: On authentication, authorization, or processing failures'

GET /basket/{basket_id}/import/run

- Description changed from '' to 'Executes the final import operation from temporary storage to basket.

This endpoint represents the second and final phase of the basket import workflow.
It is called after the user has reviewed the import preview and confirmed that
they want to proceed with adding the products to their basket.

The operation performs several critical functions:
1. Re-validates user authorization to prevent session hijacking
2. Invokes the stored procedure to transfer data from temp tables
3. Applies product masking rules to filter invisible products
4. Cleans up temporary import data to prevent data leakage
5. Returns comprehensive success/failure status

Product Masking Integration:
The import process respects product visibility rules configured for each client.
Products that are masked for a specific client will be automatically filtered
out during the import process, with appropriate logging for audit purposes.

Args:
    response: FastAPI response object for status code management
    basket_id: Identifier of the target basket receiving imported products
    token: JWT authentication token for user identity verification
    view_data: Dependency injection container providing business logic access

Returns:
    BasketRunImportResponseModel containing:
        - data: Additional import result data (typically None for this endpoint)
        - success: Boolean flag indicating whether import completed successfully
        - msg: Status message or error description for user feedback

Raises:
    HTTP 400: On authorization failures, database errors, or validation issues

Security Considerations:
    - User must own or have write access to the target basket
    - Temporary import data is user-isolated to prevent cross-user contamination
    - Product masking prevents unauthorized product visibility
    - All database operations use parameterized queries for SQL injection prevention

Performance Notes:
    - Uses stored procedures for optimized database operations
    - Temporary table cleanup prevents database bloat
    - Single transaction ensures data consistency'

PATCH /client/{clients_external_id}/update

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - Modified property: discount
            - Description changed from '' to 'Rabat/narzut: 0/100=brak, 1-99=rabat%, >100=narzut%'
            - Min changed from null to 0
            - Max changed from null to 999
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Modified property: discount
                  - Description changed from '' to 'Rabat/narzut: 0/100=brak, 1-99=rabat%, >100=narzut%'
                  - Min changed from null to 0
                  - Max changed from null to 999

GET /clients_groups

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - Modified property: discount
                    - Description changed from '' to 'Rabat/narzut grupy: 0/100=brak, 1-99=rabat%, >100=narzut%'
                    - Min changed from null to 0
                    - Max changed from null to 999

POST /import/clients_group_pricelist/run

- Description changed from '' to 'Executes import of client group pricelists from temporary staging table.

This endpoint processes uploaded group pricelist data and applies it to client
group configurations. It manages product visibility, pricing, and masking rules
for entire groups of clients simultaneously.

**IMPORTANT - ElasticSearch Synchronization Required:**
If product masking is enabled in system settings (`use_products_masking_for_customers = 1`)
AND this import modified product visibility for client groups (added/removed products
from group pricelist, changed `flag` values), you MUST call `PUT /elastic/update_elasticsearch`
afterwards.

Without calling the ElasticSearch update endpoint, clients in affected groups will NOT
see the updated product catalogs reflecting the new masking rules. The changes will be
saved in the database but not reflected in search results and product listings.

Related Endpoints:

    - POST /import/clients_group_pricelist - Upload group pricelist data to temp table
    - PUT /elastic/update_elasticsearch - Sync product visibility to search'

POST /import/clients_pricelist/run

- Description changed from '' to 'Executes import of individual client pricelists from temporary staging table.

This endpoint processes uploaded pricelist data and applies it to individual
client configurations. It manages product visibility, pricing, and masking rules
on a per-client basis.

**IMPORTANT - ElasticSearch Synchronization Required:**
If product masking is enabled in system settings (`use_products_masking_for_customers = 1`)
AND this import modified product visibility (added/removed products from pricelist,
changed `flag` values), you MUST call `PUT /elastic/update_elasticsearch` afterwards.

Without calling the ElasticSearch update endpoint, clients will NOT see the updated
product catalogs reflecting the new masking rules. The changes will be saved in the
database but not reflected in search results and product listings.

Related Endpoints:

    - POST /import/clients_pricelist - Upload pricelist data to temp table
    - PUT /elastic/update_elasticsearch - Sync product visibility to search'

GET /merchant/clients

- Description changed from '' to 'Get list of clients assigned to the authenticated merchant user.

This endpoint returns all clients that are associated with the currently logged-in merchant
user via the clients_caretaker table. It's used by merchants to view which clients they
are responsible for managing.

**Authorization:**
- Requires authentication via JWT token
- User must have UserType: MERCHANT, ADMIN, or GOD
- User must have the BACK_ORDERS_AS_CLIENT right

**Response Format:**
    ```json
    {
        "success": true,
        "data": [
            {
                "id": 123,
                "name": "ABC Company",
                "external_id": "abc123",
                ...
            }
        ],
        "msg": null
    }
    ```

**Error Responses:**
    - 401 Unauthorized: Invalid token or missing right
    - 400 Bad Request: Unexpected error

**Related Endpoints:**
    - GET /merchants/search - Search for merchants to assign
    - POST /clients/{id}/caretakers - Assign merchants to clients'

GET /product/related/{product_code}

- Description changed from '' to 'Pobiera listę produktów powiązanych z danym produktem głównym.

Endpoint zwraca produkty które administratorzy oznaczyli jako powiązane
(recommended, często kupowane razem). Stosuje hierarchię cenników maskowania
aby zwrócić tylko produkty dostępne dla zalogowanego klienta.

Args:
    response: FastAPI Response object
    product_code: Kod produktu głównego (URL-encoded)
    token: JWT token użytkownika (z oauth2_scheme)
    view_data: ViewData dependency z dostępem do services

Returns:
    dict: Response z listą produktów powiązanych i statusem operacji
        {
            "data": [{"product_id": int, "product_code": str}, ...],
            "success": bool
        }

Responses:
    200: Produkty powiązane znalezione (success=True)
    400: Błąd przy dekodowaniu product_code (success=False)
    403: Brak autoryzacji (success=False)
    500: Błąd serwera (success=False)

Note:
    Endpoint automatycznie filtruje produkty powiązane na podstawie:
    - Hierarchii cenników (indywidualny > grupowy)
    - Globalnego ustawienia maskowania
    - Aktywności produktu (is_active = 1)

    Niezalogowani użytkownicy (clients_external_id = None) widzą
    wszystkie aktywne produkty powiązane.

    Product_code jest URL-encoded i wymaga dekodowania przed użyciem.

Example:
    GET /related/LAPTOP%2BX1
    Response:
    {
        "data": [
            {"product_id": 45, "product_code": "MOUSE_Y2"},
            {"product_id": 67, "product_code": "BAG_Z3"}
        ],
        "success": true
    }

See Also:
    - ProductRepository.get_product_related(): Repository method
    - decode_product_code(): URL decoding helper'

GET /product/{product_id}

- Description changed from '' to 'Pobiera szczegółowe dane pojedynczego produktu z zastosowaniem maskowania.

Endpoint zwraca kompletne informacje o produkcie dla zalogowanego użytkownika.
Stosuje hierarchię cenników maskowania (indywidualny > grupowy) dla
kontroli widoczności i możliwości zakupu.

Args:
    response: FastAPI Response object
    product_id: ID produktu do pobrania
    view_data: ViewData dependency z dostępem do services
    token: JWT token użytkownika (z oauth2_scheme)

Returns:
    dict | None: Dane produktu lub None jeśli produkt nie istnieje/nie jest dostępny

Responses:
    200: Produkt znaleziony i dostępny
    404: Produkt nie istnieje lub nie jest dostępny dla klienta

Note:
    Endpoint aplikuje reguły maskowania:
    - flag = 0: Zwraca 404 (produkt niewidoczny)
    - flag = 1: Zwraca dane z is_purchasable=False (tylko podgląd)
    - flag = NULL: Zwraca dane z is_purchasable=True (pełny dostęp)

    Niezalogowani użytkownicy (brak clients_external_id) mają pełny dostęp.

See Also:
    - _check_masking_configuration(): Sprawdzanie statusu maskowania
    - _apply_visibility_rules(): Aplikowanie reguł widoczności
    - _enrich_product_with_metadata(): Dodawanie tagów i metadanych'

GET /sales_units

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - Modified property: client_groups
                    - Items changed
                      - Properties changed
                        - Modified property: discount
                          - Description changed from '' to 'Rabat/narzut grupy: 0/100=brak, 1-99=rabat%, >100=narzut%'
                          - Min changed from null to 0
                          - Max changed from null to 999

POST /sales_units

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Modified property: client_groups
                  - Items changed
                    - Properties changed
                      - Modified property: discount
                        - Description changed from '' to 'Rabat/narzut grupy: 0/100=brak, 1-99=rabat%, >100=narzut%'
                        - Min changed from null to 0
                        - Max changed from null to 999

PUT /sales_units/{sales_unit_id}

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Modified property: client_groups
                  - Items changed
                    - Properties changed
                      - Modified property: discount
                        - Description changed from '' to 'Rabat/narzut grupy: 0/100=brak, 1-99=rabat%, >100=narzut%'
                        - Min changed from null to 0
                        - Max changed from null to 999

Version 8.4.7 

NEW ENDPOINTS (0)

DELETED ENDPOINTS (0)

Modified ENDPOINTS (0)


Version 8.4.6 

NEW ENDPOINTS (0)

DELETED ENDPOINTS (0)

Modified ENDPOINTS (0)


Version 8.4.5 

NEW ENDPOINTS (0)

DELETED ENDPOINTS (0)

Modified ENDPOINTS (0)


Version 8.4.4 

NEW ENDPOINTS (0)

DELETED ENDPOINTS (0)

Modified ENDPOINTS (0)


Version 8.4.3 

NEW ENDPOINTS (0)

DELETED ENDPOINTS (0)

Modified ENDPOINTS (0)


Version 8.4.2 

NEW ENDPOINTS (0)

DELETED ENDPOINTS (0)

Modified ENDPOINTS (0)


Version 8.4.1 

NEW ENDPOINTS (6)

GET /doc/{doc_uid}/pdf
POST /migration/password-migration/force-reset
GET /migration/password-migration/health
GET /migration/password-migration/stats
GET /migration/password-migration/trend
GET /migration/password-migration/unmigrated-users

DELETED ENDPOINTS (0)

Modified ENDPOINTS (11)

GET /export/order/{order_id}
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Items changed
            - Properties changed
              - Modified property: lanes
                - Items changed
                  - Properties changed
                    - New property: unit_external_id

GET /export/order_lanes/{order_id}

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Items changed
            - Properties changed
              - New property: unit_external_id

GET /export/orders

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Items changed
            - Properties changed
              - Modified property: lanes
                - Items changed
                  - Properties changed
                    - New property: unit_external_id

GET /export/orders_lanes

- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Items changed
            - Properties changed
              - New property: unit_external_id

PUT /order

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - Modified property: lanes
            - Items changed
              - Properties changed
                - New property: unit_external_id

PATCH /order/{order_external_id}

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - Modified property: lanes
            - Items changed
              - Properties changed
                - New property: unit_external_id

PATCH /order/{order_external_id}/lanes

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - Modified property: lanes
            - Items changed
              - Properties changed
                - New property: unit_external_id

POST /product/price

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: context
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Type changed from 'object' to ''
          - Title changed from 'ProductPriceDataResponseModel' to ''
          - Required changed
            - Deleted required property: success
          - Properties changed
            - Deleted property: data
            - Deleted property: success

POST /product/stock

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: context
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - New property: stock_enabled
            - Modified property: data
              - Property 'AnyOf' changed
                - Modified schema: subschema #1
                  - Items changed
                    - Properties changed
                      - New property: stock

DELETE /slider/{sliders_id}/banner/{banners_id}

- New query param: lang_id

PUT /slider/{sliders_id}/banner/{banners_id}/direction/{direction}

- New query param: lang_id

Version 8.4.0 

NEW ENDPOINTS (6)

GET /sales_units
POST /sales_units
GET /sales_units/product/{product_code}
PUT /sales_units/product/{product_code}
POST /sales_units/product_unit
PUT /sales_units/{sales_unit_id}

DELETED ENDPOINTS (1)

GET /dataset/packing/{product_id}

Modified ENDPOINTS (12)

POST /basket/{basket_id}/clone
- the response property 'data' became optional for the status '200'
POST /basket/{basket_id}/lane/send
- added the new required request property 'salesUnitId'
- removed the request property 'isPacked'
POST /product/price
- for the 'query' request parameter 'with_discount', default value was changed from 'false' to 'true'
- removed the required property 'data/items/main_price' from the response with the '200' status
- removed the required property 'data/items/second_price' from the response with the '200' status
- removed the optional property 'data/items/base_price_discount' from the response with the '200' status
- removed the optional property 'data/items/bill_base_price' from the response with the '200' status
- removed the optional property 'data/items/brutto_price' from the response with the '200' status
- removed the optional property 'data/items/client_collective_per_unit_main_price' from the response with the '200' status
- removed the optional property 'data/items/client_collective_per_unit_second_price' from the response with the '200' status
- removed the optional property 'data/items/client_main_price' from the response with the '200' status
- removed the optional property 'data/items/client_second_price' from the response with the '200' status
- removed the optional property 'data/items/collective_main_price' from the response with the '200' status
- removed the optional property 'data/items/collective_price' from the response with the '200' status
- removed the optional property 'data/items/collective_second_price' from the response with the '200' status
- removed the optional property 'data/items/discounted_client_price' from the response with the '200' status
- removed the optional property 'data/items/enforce_packing' from the response with the '200' status
- removed the optional property 'data/items/is_packing' from the response with the '200' status
- removed the optional property 'data/items/max_product_discount' from the response with the '200' status
- removed the optional property 'data/items/minimum_purchase_quantity' from the response with the '200' status
- removed the optional property 'data/items/netto_price' from the response with the '200' status
- removed the optional property 'data/items/packing_size' from the response with the '200' status
- removed the optional property 'data/items/standard_collective_main_price' from the response with the '200' status
- removed the optional property 'data/items/standard_collective_second_price' from the response with the '200' status
- removed the optional property 'data/items/standard_main_price' from the response with the '200' status
- removed the optional property 'data/items/standard_second_price' from the response with the '200' status
- removed the optional property 'data/items/unit' from the response with the '200' status
- added the required property 'data/items/units' to the response with the '200' status
GET /collection/{collection_id}/products
- removed the optional property 'data/products/items/enforce_packing' from the response with the '200' status
- removed the optional property 'data/products/items/packing_size' from the response with the '200' status
GET /dataset/lane/{lane_id}
- removed the optional property 'data/items/base_price_discount' from the response with the '200' status
- removed the optional property 'data/items/bill_base_price' from the response with the '200' status
- removed the optional property 'data/items/enforce_packing' from the response with the '200' status
- removed the optional property 'data/items/packing_size' from the response with the '200' status
- removed the optional property 'data/items/unit' from the response with the '200' status
GET /dataset/{lane_id}/basket
- removed the optional property 'data/base_price' from the response with the '200' status
- removed the optional property 'data/base_price_discount' from the response with the '200' status
- removed the optional property 'data/bill_base_price' from the response with the '200' status
- removed the optional property 'data/enable_packing' from the response with the '200' status
- removed the optional property 'data/enforce_packing' from the response with the '200' status
- removed the optional property 'data/packing_size' from the response with the '200' status
- removed the optional property 'data/unit' from the response with the '200' status
GET /pending_orders
- removed the optional property 'pending_orders/items/documents/items/products/items/collective_packages' from the response with the '200' status
- added the optional property 'pending_orders/items/documents/items/products/items/unit' to the response with the '200' status
- added the optional property 'pending_orders/items/documents/items/products/items/warehouse_external_id' to the response with the '200' status
- added the required property 'pending_orders/items/documents/items/products/items/sales_unit' to the response with the '200' status
GET /product/code/{product_code}/lane
- removed the optional property 'packing_size' from the response with the '200' status
- removed the optional property 'unit' from the response with the '200' status
POST /product/stock
- removed the optional property 'items/quantity' from the response with the '200' status
- added the optional property 'items/restocking_date' to the response with the '200' status
POST /import/product_stocks
- the '/items/product_stock' request property type/format was generalized from 'integer'/'' to 'number'/''
GET /order/{order_external_id}/lanes
- added the optional property 'data/items/is_packed' to the response with the '200' status
- added the optional property 'data/items/packages_count' to the response with the '200' status
- added the optional property 'data/items/packing_size' to the response with the '200' status
- added the optional property 'data/items/unit_external_id' to the response with the '200' status
- added the optional property 'data/items/unit_text' to the response with the '200' status
GET /payment/{payment_external_id}/lanes
- added the optional property 'data/items/unit_text' to the response with the '200' status

Version 8.3.1 

NEW ENDPOINTS (0)

DELETED ENDPOINTS (0)

Modified ENDPOINTS (1)

PATCH /client/{clients_external_id}/update
- added the new optional request property 'is_hide_standard_price'
- added the optional property 'data/is_hide_standard_price' to the response with the '200' status

Version 8.3.0 

NEW ENDPOINTS (4)

GET /client/xml_export
PATCH /client/xml_export
PUT /client/xml_export
POST /client/xml_export/refresh

DELETED ENDPOINTS (0)

Modified ENDPOINTS (8)

PATCH /client/{clients_external_id}/update
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: is_export_offers_enabled
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - New property: is_export_offers_enabled
GET /clients_groups/{clients_groups_id}/clients
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: is_active
POST /doc/admin/{order_external_id}
- Request body changed
  - Content changed
    - Modified media type: multipart/form-data
      - Schema changed
        - Required changed
          - New required property: file
          - Deleted required property: doc_file
        - Properties changed
          - New property: file
          - Deleted property: doc_file
POST /promotions/points/client/{client_id}
- Modified path param: client_id
  - Schema changed
    - Type changed from 'integer' to 'string'
    - Title changed from 'Client Id' to 'Client External Id'
GET /slider/{sliders_id}
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: has_desktop
                  - New property: has_mobile
                  - New property: has_tablet
POST /slider/{sliders_id}/banner/{banners_id}
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - New property: has_desktop
                - New property: has_mobile
                - New property: has_tablet
PUT /slider/{sliders_id}/banner/{banners_id}/direction/{direction}
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: has_desktop
                  - New property: has_mobile
                  - New property: has_tablet
GET /slider/{sliders_id}/statistics
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: has_desktop
                  - New property: has_mobile
                  - New property: has_tablet



Version 8.2.0 

NEW ENDPOINTS (2)

POST /basket/{basket_id}/lane/send
POST /product/stock

DELETED ENDPOINTS (2)

POST /basket/{basket_id}/lane/{lane_id}/send
GET /product/stock

Modified ENDPOINTS (0)



Version 8.1.0 

NEW ENDPOINTS (6)

GET /banner/banner_locations

DELETE /banner/{banner_id}/gallery

GET /banner/{banner_id}/gallery

POST /banner/{banner_id}/gallery
GET /product/related/{product_code}
POST /product/related/{product_code}

DELETED ENDPOINTS (2)

GET /product/related/{product_code}/
POST /product/related/{product_code}/

Modified ENDPOINTS (39)

GET /banner
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: banner_height
                  - New property: banner_html
                  - New property: banner_localizations
                  - New property: banner_width
                  - New property: base64
                  - New property: client_groups
                  - New property: has_all_lang
                  - New property: has_desktop
                  - New property: has_mobile
                  - New property: has_show_anonymous
                  - New property: has_show_to_logged
                  - New property: has_tablet
                  - New property: lang_id
POST /banner
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - New property: banner_height
                - New property: banner_html
                - New property: banner_localizations
                - New property: banner_width
                - New property: base64
                - New property: client_groups
                - New property: has_all_lang
                - New property: has_desktop
                - New property: has_mobile
                - New property: has_show_anonymous
                - New property: has_show_to_logged
                - New property: has_tablet
                - New property: lang_id
GET /banner/{banners_id}
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - New property: banner_height
                - New property: banner_html
                - New property: banner_localizations
                - New property: banner_width
                - New property: base64
                - New property: client_groups
                - New property: has_all_lang
                - New property: has_desktop
                - New property: has_mobile
                - New property: has_show_anonymous
                - New property: has_show_to_logged
                - New property: has_tablet
                - New property: lang_id
PUT /banner/{banners_id}
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: banner_height
          - New property: banner_html
          - New property: banner_localizations
          - New property: banner_width
          - New property: client_groups
          - New property: has_all_lang
          - New property: has_desktop
          - New property: has_mobile
          - New property: has_show_anonymous
          - New property: has_show_to_logged
          - New property: has_tablet
          - New property: lang_id
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - New property: banner_height
                - New property: banner_html
                - New property: banner_localizations
                - New property: banner_width
                - New property: base64
                - New property: client_groups
                - New property: has_all_lang
                - New property: has_desktop
                - New property: has_mobile
                - New property: has_show_anonymous
                - New property: has_show_to_logged
                - New property: has_tablet
                - New property: lang_id
GET /bi/overdue-payments
- Modified query param: clients_external_id
  - Schema changed
    - Type changed from 'integer' to 'string'
GET /client
- New query param: clients_external_id
- Deleted query param: client_external_id
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - Modified property: external_id
                    - Type changed from 'integer' to 'string'
POST /client/register
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - Modified property: external_id
            - Property 'AnyOf' changed
              - Schemas deleted: subschema #1, subschema #2
            - Type changed from '' to 'string'
POST /client/{client_external_id}/address
- Modified path param: client_external_id
  - Schema changed
    - Type changed from 'integer' to 'string'
    - Title changed from 'Client External Id' to 'Clients External Id'
DELETE /client/{client_external_id}/pricelist
- Modified path param: client_external_id
  - Schema changed
    - Type changed from 'integer' to 'string'
    - Title changed from 'Client External Id' to 'Clients External Id'
PUT /client/{client_external_id}/settings
- Modified path param: client_external_id
  - Schema changed
    - Type changed from 'integer' to 'string'
    - Title changed from 'Client External Id' to 'Clients External Id'
GET /client/{client_external_id}/settings/{settings_type}
- Modified path param: client_external_id
  - Schema changed
    - Type changed from 'integer' to 'string'
    - Title changed from 'Client External Id' to 'Clients External Id'
PATCH /client/{client_external_id}/update
- Modified path param: client_external_id
  - Schema changed
    - Type changed from 'integer' to 'string'
      - Title changed from 'Client External Id' to 'Clients External Id'
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - Modified property: external_id
            - Type changed from 'integer' to 'string'
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Modified property: external_id
                  - Type changed from 'integer' to 'string'
GET /client/{client_id}/address
- Modified path param: client_id
  - Schema changed
    - Type changed from 'integer' to 'string'
    - Title changed from 'Client Id' to 'Clients External Id'
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - Modified property: clients_external_id
                    - Type changed from 'integer' to 'string'
                  - Modified property: external_id
                    - Type changed from 'integer' to 'string'
DELETE /client/{client_id}/address/{address_id}
- Modified path param: client_id
  - Schema changed
    - Type changed from 'integer' to 'string'
    - Title changed from 'Client Id' to 'Clients External Id'
PUT /client/{client_id}/address/{address_id}
- Modified path param: client_id
  - Schema changed
    - Type changed from 'integer' to 'string'
    - Title changed from 'Client Id' to 'Clients External Id'
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - Modified property: clients_external_id
            - Type changed from 'integer' to 'string'
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Property 'AnyOf' changed
                - Modified schema: subschema #1: PutClientsAddressRequestModel
                  - Properties changed
                    - Modified property: clients_external_id
                      - Type changed from 'integer' to 'string'
GET /client/{clients_id}/merchant_limit
- Modified path param: clients_id
- Schema changed
- Type changed from 'integer' to 'string'
PUT /clients_branch/{clients_branch_id}
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Required changed
          - New required property: clients_external_id
        - Properties changed
          - Modified property: clients_external_id
            - Type changed from 'integer' to 'string'
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Property 'AnyOf' changed
                - Modified schema: subschema #1: ClientBranchModel
                  - Required changed
                    - New required property: clients_external_id
                  - Properties changed
                    - Modified property: clients_external_id
                      - Type changed from 'integer' to 'string'
DELETE /clients_branch/{clients_branch_id}/user/{user_id}
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Required changed
                  - New required property: clients_external_id
                - Properties changed
                  - Modified property: clients_external_id
                    - Type changed from 'integer' to 'string'
PUT /clients_branch/{clients_branch_id}/user/{user_id}
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Required changed
                  - New required property: clients_external_id
                - Properties changed
                  - Modified property: clients_external_id
                    - Type changed from 'integer' to 'string'
GET /clients_branch/{clients_external_id}
- Modified path param: clients_external_id
  - Schema changed
    - Type changed from 'integer' to 'string'
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Required changed
                  - New required property: clients_external_id
                - Properties changed
                  - Modified property: clients_external_id
                    - Type changed from 'integer' to 'string'
POST /clients_branch/{clients_external_id}
- Modified path param: clients_external_id
  - Schema changed
    - Type changed from 'integer' to 'string'
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Required changed
          - New required property: clients_external_id
        - Properties changed
          - Modified property: clients_external_id
            - Type changed from 'integer' to 'string'
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Property 'AnyOf' changed
                - Modified schema: subschema #1: ClientBranchModel
                  - Required changed
                    - New required property: clients_external_id
                  - Properties changed
                    - Modified property: clients_external_id
                      - Type changed from 'integer' to 'string'
GET /clients_groups/{clients_groups_id}/clients
- New query param: clients_external_id
- Deleted query param: client_external_id
DELETE /clients_groups/{clients_groups_id}/clients/{client_external_id}
- Modified path param: client_external_id
  - Schema changed
    - Type changed from 'integer' to 'string'
    - Title changed from 'Client External Id' to 'Clients External Id'
PUT /clients_groups/{clients_groups_id}/clients/{clients_external_id}
- Modified path param: clients_external_id
  - Schema changed
    - Type changed from 'integer' to 'string'
POST /collection/{collection_id}/copyToBasket
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: msg
GET /dataset/lane/{lane_id}
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: minimum_purchase_quantity
GET /export/order/{order_id}
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Items changed
            - Properties changed
              - Modified property: clients_external_id
                - Type changed from 'integer' to 'string'
GET /export/orders
- Modified query param: clients_external_id
  - Schema changed
    - Type changed from 'integer' to 'string'
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Items changed
            - Properties changed
              - Modified property: clients_external_id
                - Type changed from 'integer' to 'string'
POST /import/orders/run/{date_start},{date_end}
- New query param: clients_external_id
- Deleted query param: client_external_id
GET /merchant/clients
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: data
- Items changed
- Properties changed
- Modified property: external_id
- Type changed from 'integer' to 'string'
GET /order
- New query param: clients_external_id
- Deleted query param: client_external_id
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: orders
              - Items changed
                - Properties changed
                  - Modified property: client
                    - Properties changed
                      - Modified property: external_id
                        - Type changed from 'integer' to 'string'
PUT /order
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - Modified property: clients_external_id
            - Type changed from 'integer' to 'string'
GET /order/{order_external_id}
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: order
              - Properties changed
                - Modified property: client
                  - Properties changed
                    - Modified property: external_id
                      - Type changed from 'integer' to 'string'
PATCH /order/{order_external_id}
- Modified query param: client_external_id
  - Schema changed
    - Type changed from 'integer' to 'string'
GET /pending_orders
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: pending_orders
              - Items changed
                - Properties changed
                  - Modified property: client
                    - Properties changed
                      - Modified property: external_id
                        - Type changed from 'integer' to 'string'
GET /prices/settings
- Modified query param: clients_external_id
  - Schema changed
    - Type changed from 'integer' to 'string'
GET /product/code/{product_code}/lane
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Property 'AnyOf' changed
                - Modified schema: subschema #1: ProductLanesEntityModel
                  - Properties changed
                    - New property: minimum_purchase_quantity
                - Modified schema: subschema #2
                  - Items changed
                    - Properties changed
                      - New property: minimum_purchase_quantity
POST /product/price
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: minimum_purchase_quantity
GET /spingo/getContractor/{client_external_id}
- Modified path param: client_external_id
  - Schema changed
    - Type changed from 'integer' to 'string'
    - Title changed from 'Client External Id' to 'Clients External Id'

Version 8.0.0 

NEW ENDPOINTS (1)

DELETE /clients_groups/{clients_groups_id}/pricelist

DELETED ENDPOINTS (0)

Modified ENDPOINTS (4)

GET /clients_groups
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: deleting_pricelist
POST /import/products/v2/load_data
- Request changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - Modified property: family
            - Properties changed
                - New property: variant_position
POST /import/products/v2/run
- New query param: truncate_all_categories
POST /product/update
- Request changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - Modified property: family
            - Properties changed
                - New property: variant_position

Version 7.9.1 

NEW ENDPOINTS (0)

DELETED ENDPOINTS (1)

POST /client/{client_id}/address

Modified ENDPOINTS (4)

POST /basket/{basket_id}/send
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - Modified property: address
            - Properties changed
              - New property: id
GET /basket_document_type
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Property 'AnyOf' changed
                - Schemas added: [DocumentTypeModel RevisionSchema[0]]
              - Type changed from 'array' to ''
              - Items changed
                - Schema deleted
PATCH /client/{client_external_id}/update
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: allow_inquiry
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - New property: allow_inquiry
PUT /client/{client_id}/address/{address_id}
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: active
          - New property: clients_external_id
          - New property: external_id
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Property 'AnyOf' changed
                - Schema #/components/schemas/PutClientsAddressRequestModel modified
                  - Properties changed
                    - New property: active
                    - New property: clients_external_id
                    - New property: external_id

Version 7.9.0 

NEW ENDPOINTS (7)

GET /client/gus

GET /client/send_regulations_change_notification

DELETE /client/{client_external_id}/pricelist

GET /elastic/product

POST /import/product/update

GET /product/related/{product_code}/

POST /product/related/{product_code}/

DELETED ENDPOINTS (1)

PUT /elastic/update_appsearch

Modified ENDPOINTS (10)

GET /categories/{category_id}/filters
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                  - Required changed
                    - New required property: featured
                    - New required property: position
                    - Deleted required property: is_new
                  - Properties changed
                    - New property: featured
                    - New property: position
                    - Deleted property: is_new
PATCH /categories/{category_id}/filters
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - Modified property: data
            - Items changed
              - Required changed
                - New required property: attribute_name
                - New required property: featured
                - New required property: lang_id
                - New required property: position
                - Deleted required property: attribute_id
              - Properties changed
                - New property: attribute_name
                - New property: featured
                - New property: lang_id
                - New property: position
                - Deleted property: attribute_id
GET /client/{nip}/registered
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - New property: client_data
PUT /import/product
- Deprecated changed from false to true
POST /import/products/v2/run
- Description changed from '' to 'Import product to the System link to the endpoint description'
PUT /order
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: payment_type_id
          - Modified property: delivery_type_id
            - Type changed from 'string' to 'integer'
PATCH /order/{order_external_id}
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: payment_type_id
          - Modified property: carrier_id
            - Type changed from 'string' to 'integer'
          - Modified property: delivery_type_id
            - Type changed from 'string' to 'integer'
GET /product/stock
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Property 'AnyOf' changed
                - Schema #1 modified
                  - Items changed
                    - Properties changed
                      - New property: delivery_format
                      - New property: delivery_hour
POST /warehouses
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - Modified property: delivery_hours
            - Property 'AnyOf' changed
              - Schemas added: [RevisionSchema[0] RevisionSchema[1]]
            - Type changed from 'integer' to ''
PUT /warehouses/{warehouse_id}
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - Modified property: delivery_hours
            - Property 'AnyOf' changed
              - Schemas added: [RevisionSchema[0] RevisionSchema[1]]
            - Type changed from 'integer' to ''

Version 7.8.5 

NEW ENDPOINTS (3)

GET /export/product_stocks/{warehouse_id}
PUT /import/product_stocks/{warehouse_id}/file
GET /systems_integration/export/orders

DELETED ENDPOINTS (0)

Modified ENDPOINTS (0)


Version 7.8.4 

NEW ENDPOINTS (0)

DELETED ENDPOINTS (0)

Modified ENDPOINTS (0)


Version 7.8.3 

NEW ENDPOINTS (0)

DELETED ENDPOINTS (0)

Modified ENDPOINTS (2)

GET /clients_groups/{clients_groups_id}/clients
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: id
POST /import/products/v2/load_data
- Request body changed
  - Content changed
    - Schema changed
      - Properties changed
        - New property: family_id
        - New property: col1
        - New property: col2
        - New property: col3
        - New property: col4
        - New property: col5
        - New property: col6
        - New property: col7
        - New property: col8
        - New property: col9
        - New property: col10
        - New property: col11
        - New property: col12
        - New property: col13
        - New property: col14
        - New property: col15
        - New property: energy_class
        - New property: energy_label_link
        - New property: energy_card_information_link
        - New property: files

Version 7.8.2 

NEW ENDPOINTS (2)

GET /clients_groups

PUT /product_energy_class/{product_id}/class

DELETED ENDPOINTS (2)

DELETE /clients_groups/{clients_groups_id}/clients/{clients_id}
PUT /product_energy_class/{product_id}/{energy_class}/class

Modified ENDPOINTS (4)

POST /client/register
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Required changed
          - New required property: currency
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - New property: external_id
GET /clients_groups/{clients_groups_id}/clients
- New query param: client_external_id
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: external_id
                  - Deleted property: id
PUT /clients_groups/{clients_groups_id}/clients/{clients_id}
- Modified path param: clients_id
  - Schema changed
    - Title changed from 'Clients Id' to 'Clients External Id'
POST /import/products/v2/load_data
- Description changed from 'Import product to the System

Version 7.8.1 

NEW ENDPOINTS (6)

GET /finiata/check_customer
POST /payment/finiata/payment_booked
POST /finiata/create_seller
POST /finiata/disbursement
GET /finiata/payment_state
POST /finiata/schedule_preview

DELETED ENDPOINTS (0)

None

Modified ENDPOINTS (2)

GET /payment_type
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: allowed_currencies
PUT /payment_type/{payment_type_id}
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: payment_type
              - Properties changed
                - New property: allowed_currencies

Version 7.8.0 

NEW ENDPOINTS (15)

DELETE /clients_branch/{clients_branch_id}

PUT /clients_branch/{clients_branch_id}

DELETE /clients_branch/{clients_branch_id}/user/{user_id}

PUT /clients_branch/{clients_branch_id}/user/{user_id}

GET /clients_branch/{clients_external_id}

POST /clients_branch/{clients_external_id}

GET /product/code/{product_code}/lane

DELETE /product_energy_class/{product_id}/energy_information

GET /product_energy_class/{product_id}/energy_information

POST /product_energy_class/{product_id}/energy_information

DELETE /product_energy_class/{product_id}/energy_label

GET /product_energy_class/{product_id}/energy_label

POST /product_energy_class/{product_id}/energy_label

PUT /product_energy_class/{product_id}/{energy_class}/class

GET /product_energy_class/{product_lane_id}

DELETED ENDPOINTS (0)

None

Modified ENDPOINTS (15)

POST /basket
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: client_branch_code
PATCH /basket/{basket_id}
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Required changed
          - New required property: clients_branch_code
        - Properties changed
          - New property: clients_branch_code
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Required changed
                - New required property: clients_branch_code
              - Properties changed
                - New property: clients_branch_code
POST /client/register
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: currency
PUT /client/{client_id}/address/{address_id}
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Required changed
          - Deleted required property: recipient_email
          - Deleted required property: recipient_name
          - Deleted required property: recipient_phone
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Required changed
                - Deleted required property: recipient_email
                - Deleted required property: recipient_name
                - Deleted required property: recipient_phone
GET /client/{client_id}/user
- New query param: client_branch_restriction_code
GET /dataset/attributes/{lane_id}
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - New property: energy_card_information
GET /dataset/lane/{lane_id}
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: product_type
                  - New property: quantity
                  - New property: stock_enabled
                  - New property: warehouse_id
POST /import/clients_group_pricelist
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Items changed
          - Properties changed
            - New property: flag
POST /import/clients_pricelist
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Items changed
          - Properties changed
            - New property: flag
GET /order
- New query param: client_branch_code
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: orders
              - Items changed
                - Properties changed
                  - Modified property: client
                    - Properties changed
                      - New property: branch_code
PUT /order
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: clients_branch_code
GET /order/{order_external_id}
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: order
              - Properties changed
                - Modified property: client
                  - Properties changed
                    - New property: branch_code
PATCH /order/{order_external_id}
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: clients_branch_code
GET /pending_orders
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: pending_orders
              - Items changed
                - Properties changed
                  - Modified property: client
                    - Properties changed
                      - New property: branch_code
POST /product/price
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: base_price_discount
                  - New property: bill_base_price
                  - New property: client_collective_per_unit_main_price
                  - New property: client_collective_per_unit_second_price
                  - New property: is_packing
                  - New property: lanes_id
                  - New property: standard_collective_main_price
                  - New property: standard_collective_second_price

Version 7.7.4 

NEW ENDPOINTS (1)

PUT /elastic/update_appsearch

DELETED ENDPOINTS (0)

None

Modified ENDPOINTS (1)

GET /export/invoices
- New query param: date_create_delta
- New query param: date_create_delta_unit
- New query param: date_create_fro
- New query param: date_create_to

Version 7.7.3 

NEW ENDPOINTS (0)

None

DELETED ENDPOINTS (0)

None

Modified ENDPOINTS (5)

GET /basket/{basket_id}
- New query param: delivery_type
- Deleted query param: transport_type
POST /basket/{basket_id}/send
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Required changed
          - New required property: delivery_type
          - Deleted required property: transport_type
        - Properties changed
          - New property: delivery_type
          - Deleted property: transport_type
          
GET /delivery_type
- New query param: is_free_delivery
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Required changed
                  - New required property: is_free_delivery
                - Properties changed
                  - New property: delivery_type_method_name
                  - New property: is_free_delivery
POST /delivery_type
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Required changed
          - New required property: is_default
          - New required property: is_free_delivery
          - Deleted required property: default
          - Deleted required property: lang_id
        - Properties changed
          - New property: delivery_type_method_name
          - New property: is_default
          - New property: is_free_delivery
          - Deleted property: default
          - Deleted property: lang_id
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Required changed
            - New required property: data
            - Deleted required property: delivery_type
          - Properties changed
            - New property: data
            - New property: msg
            - Deleted property: delivery_type
PUT /delivery_type/{delivery_type_id}
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Required changed
          - New required property: is_free_delivery
        - Properties changed
          - New property: is_free_delivery
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: delivery_type
              - Property 'AnyOf' changed
                - Schema #/components/schemas/DeliveryTypeModel modified
                  - Required changed
                    - New required property: is_free_delivery
                  - Properties changed
                    - New property: delivery_type_method_name
                    - New property: is_free_delivery

Version 7.7.2 

NEW ENDPOINTS (2)

GET /stock/orders/report
GET /stock/report

DELETED ENDPOINTS (0)

None

Modified ENDPOINTS (2)

GET /dataset/attributes/{lane_id}
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - New property: package_type
                - Deleted property: package_name
GET /order
- Modified query param: date_from
  - Schema changed
    - Default changed from '2023-10-19T00:00:00' to '2023-10-19 00:00:00'
- Modified query param: date_to
  - Schema changed
    - Default changed from '2023-10-19T23:59:59.999999' to '2023-10-19 23:59:59'

Version 7.7.1 

NEW ENDPOINTS (0)

None

DELETED ENDPOINTS (0)

None

Modified ENDPOINTS (12)

GET /categories/trees
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: manufacturer_tree
POST /categories/trees
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Required changed
          - New required property: manufacturer_tree
        - Properties changed
          - New property: manufacturer_tree
  - Responses changed
    - Modified response: 200
      - Content changed
        - Modified media type: application/json
          - Schema changed
            - Properties changed
              - Modified property: data
                - Properties changed
                  - New property: manufacturer_tree
PUT /categories/trees/{tree_id}/direction/{direction}
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Items changed
                - Properties changed
                  - New property: manufacturer_tree
PATCH /client/{client_external_id}/update
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - Deleted property: auth_code
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - Deleted property: auth_code
DELETE /elastic/products
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: manufacturer_tree
PUT /elastic/update_elasticsearch
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: manufacturer_tree
POST /import/products/loadData
- Endpoint Deprecated
POST /import/products/run/{import_type}
- Endpoint Deprecated
POST /import/products_lang/load_data
- Endpoint Deprecated
PATCH /status/settings/orders/{order_status_id}
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Required changed
          - New required property: is_reduce_merchant_limit
        - Properties changed
          - New property: is_reduce_merchant_limit
GET /tag
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Required changed
            - Deleted required property: tags
GET /tag/product/{product_id}
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Required changed
            - Deleted required property: tags

Version 7.7.0 

NEW ENDPOINTS (3)

POST /basket/{basket_id}/offer_inquiry
POST /import/clients_group_pricelist
POST /import/clients_group_pricelist/run

DELETED ENDPOINTS (0)

None

Modified ENDPOINTS (11)

POST /basket
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Required changed
            - Deleted required property: data
          - Properties changed
            - New property: msg
POST /basket/{basket_id}/offer
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Required changed
          - New required property: send_mail
        - Properties changed
          - New property: send_mail
POST /basket/{basket_id}/send
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Properties changed
          - New property: number_po
PUT /clients_groups/{clients_groups_id}/clients/{clients_id}
- Deleted query param: set_group_discount
- Request body changed
PUT /import/prices
- Description changed
POST /import/products/v2/load_data
- Description changed
GET /order
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: orders
              - Items changed
                - Properties changed
                  - Modified property: document
                    - Properties changed
                      - New property: po_number
PUT /order
- Description changed
GET /order/{order_external_id}
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: order
              - Properties changed
                - Modified property: document
                  - Properties changed
                    - New property: po_number
GET /pending_orders
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: pending_orders
              - Items changed
                - Properties changed
                  - Modified property: documents
                    - Items changed
                      - Properties changed
                        - New property: po_number
GET /user/{user_id}
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Properties changed
            - Modified property: data
              - Properties changed
                - New property: clients_name

Version 7.6.0 

NEW ENDPOINTS (3)

PUT /basket/lane/{lane_id}/offer_price
POST /basket/{basket_id}/offer
GET /export/basket/{basket_id}

DELETED ENDPOINTS (0)

None

Modified ENDPOINTS (5)

POST /basket
- Responses changed
  - Modified response: 200
    - Content changed
      - Modified media type: application/json
        - Schema changed
          - Title changed from 'CreateBasketResponsetModel' to 'CreateBasketResponseModel'
GET /basket/reports
- New query param: data_format
- Deleted query param: format
GET /basket/{basket_id}
- New query param: is_offer
GET /basket/{basket_id}/lane
- New query param: is_offer
PUT /import/product
- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Items changed
          - Properties changed
            - New property: description_de
            - New property: description_es
            - New property: description_fr
            - New property: description_it
            - New property: description_ru
            - New property: name_de
            - New property: name_es
            - New property: name_fr
            - New property: name_it
            - New property: name_ru
            - Modified property: attributes
              - Example changed
            - Modified property: description_en
              - Example changed
            - Modified property: description_pl
              - Example changed
            - Modified property: name_en
              - Example changed
            - Modified property: name_pl
              - Example changed