Breadcrumbs

Release Notes 23.09.2026

This release contains contract updates to three APIs.

Highlights

  • Reporting API exposes two new franchisee endpoints and adds void/refund state fields to order responses, but removes the washing/selected* fields from order responses across seven endpoints. Consumers of those fields must review.

  • Catalog API v1 adds optional void/refund state and voidingRowKey request properties to every product type on the add and bulk endpoints — pairs directly with the new Reporting response fields.

  • Administration API adds company-level settings (AI assistant, customer satisfaction query, franchisees enablement) and workstation-level customer satisfaction query configuration.

Administration API

API Contract Update: New Optional Properties Added

New optional properties were added to selected Administration API response schemas.

Affected endpoints

  • GET /v1-ext/Company

  • GET /v1-ext/Workstation

  • GET /v1-ext/Workstation/{id}

Affected fields

Response (GET /v1-ext/Company) Added new optional properties under company settings:

  • aiAssistant

  • customerSatisfactionQuery

  • franchiseesEnabled

Response (GET /v1-ext/Workstation and GET /v1-ext/Workstation/{id}) Added new optional properties on each interaction device configuration under interactionService.interactionDeviceConfigurations[]:

  • customerSatisfactionQuery

  • customerSatisfactionQueryTimeout

Consumer action No mandatory action is required for existing consumers, since all added properties are optional.

However:

  • Consumers of GET /v1-ext/Company may start receiving the new optional fields under company settings.

  • Consumers of GET /v1-ext/Workstation and GET /v1-ext/Workstation/{id} may start receiving customerSatisfactionQuery and customerSatisfactionQueryTimeout on each interaction device configuration.

If you use strict schema validation, generated models, or explicit request/response mappings, consider updating them to include these new properties.

Catalog API v1

API Contract Update: Void/Refund State and voidingRowKey Added to All Product Types

New optional request properties were added to every product type on the add-product and bulk endpoints. These fields track the void/refund state of a product and pair with the matching new response fields in the Reporting API.

Affected endpoints

  • POST /v1-ext/Products/addProduct

  • POST /v1-ext/Products/bulk

Affected product types (applies uniformly to all five)

  • CustomProductInApiModel

  • GiftCardProductInApiModel

  • ServiceProductInApiModel

  • StockProductInApiModel

  • VariantProductInApiModel

Affected fields

Request (both endpoints, all product types) Added the following new optional request properties on each product variant:

  • isRefunded

  • isRefunding

  • isVoided

  • isVoiding

  • voidingRowKey

On POST /v1-ext/Products/bulk these fields appear under /items/oneOf[<ProductType>]/...; on POST /v1-ext/Products/addProduct they appear under /oneOf[<ProductType>]/....

Consumer action No mandatory action is required for existing consumers, since all added properties are optional.

However:

  • Consumers of POST /v1-ext/Products/addProduct and POST /v1-ext/Products/bulk can now optionally provide the void/refund state and voidingRowKey on any product type.

If you use strict schema validation, generated models, or explicit request/response mappings, consider updating them to include these new properties on all product-type variants.

Reporting API

New Endpoints: Franchisees

Two new endpoints were added for retrieving franchisee data.

Added endpoints

  • GET /v1-ext/Franchisees

  • GET /v1-ext/Franchisees/{id}

Consumer action No action required for existing consumers. New consumers can call the endpoints to list franchisees or retrieve a franchisee by id. This pairs with the new franchiseesEnabled company setting exposed by the Administration API in this release.

Backward-Incompatible: washing/selected* Response Properties Removed

Three optional properties under washing have been removed from products[] and refundedRows[] in every order-returning response across the Reporting API. Consumers that currently read these fields will no longer receive them.

Affected endpoints

  • POST /v1-ext/Orders

  • GET /v1-ext/Orders/getAllAfter/{fromEpoch}

  • GET /v1-ext/Orders/getAllAfterByPage/{fromEpoch}

  • GET /v1-ext/Orders/getAllInDateRange

  • GET /v1-ext/Orders/getAllPaidAfter/{fromEpoch}

  • GET /v1-ext/Orders/getByReceiptId/{receiptId}

  • GET /v1-ext/Orders/{orderId}

Removed fields (from both products[] and refundedRows[] on each endpoint above)

  • washing.selectedDeliveryTime

  • washing.selectedMethodCode

  • washing.selectedPlaceCode

On the paged endpoint GET /v1-ext/Orders/getAllAfterByPage/{fromEpoch}, the removals apply under reportingOrders/items/products[] and reportingOrders/items/refundedRows[].

Consumer action (review required) Consumers must:

  • Stop expecting washing.selectedDeliveryTime, washing.selectedMethodCode, and washing.selectedPlaceCode in products[] and refundedRows[] responses.

  • Remove references to these fields in generated models, strict schema validators, and any downstream mappings, dashboards, or exports that consume them.

If any downstream feature depends on these values, coordinate with the Reporting API team before the release to identify a replacement source.

API Contract Update: Void/Refund State and Accounting Fields Added

New optional properties were added to order responses across the same seven endpoints. Additions include void/refund state fields (mirroring the new Catalog v1 request properties) and an accountName field on account line items.

Affected endpoints (same seven as removals above)

  • POST /v1-ext/Orders

  • GET /v1-ext/Orders/getAllAfter/{fromEpoch}

  • GET /v1-ext/Orders/getAllAfterByPage/{fromEpoch}

  • GET /v1-ext/Orders/getAllInDateRange

  • GET /v1-ext/Orders/getAllPaidAfter/{fromEpoch}

  • GET /v1-ext/Orders/getByReceiptId/{receiptId}

  • GET /v1-ext/Orders/{orderId}

Affected fields

Added on each item in products[] and refundedRows[]:

  • isRefunded

  • isRefunding

  • isVoided

  • isVoiding

  • voidingRowKey

  • accountLines[].accountName

Added on each item in payments[]:

  • accountLines[].accountName

On the paged endpoint GET /v1-ext/Orders/getAllAfterByPage/{fromEpoch}, the additions appear under reportingOrders/items/....

Consumer action No mandatory action is required for existing consumers, since all added properties are optional.

However:

  • Consumers of the listed endpoints may start receiving void/refund state fields and voidingRowKey on each product and refunded row.

  • Consumers may also start receiving accountName on every account line under products[], refundedRows[], and payments[].

If you use strict schema validation, generated models, or explicit request/response mappings, consider updating them to include these new properties.

Services with no changes

The following services have no API contract changes in this release:

  • Accounting API

  • Catalog API v2

  • Customership API

  • GiftCards API

  • Orders API

  • Receipts API

  • Stock Handling API v1

  • Stock Handling API v2

  • Webhooks API