Lists articles as of a timestamp. Returns either a full list or a paginated object when page and size are provided.
| asOf | string <date-time> Timestamp to evaluate article state (defaults to now) ISO-8601 format |
| page | integer <int32> Page number (1-based). When provided together with size, a paginated response is returned |
| size | integer <int32> Page size for paginated response |
{- "items": [
- {
- "deleted_at": "2025-12-31T23:59:59Z",
- "metadata": {
- "category": "electronics",
- "brand": "ACME"
}, - "name": "Premium Widget",
- "sku": "SKU-123",
- "type": "string",
- "updated_at": "2025-01-15T10:00:00Z"
}
], - "page": 0,
- "size": 0,
- "total": 0
}Lists pricelists as of a timestamp. Always returns a paginated object with items, total, page, size.
| asOf | string <date-time> Timestamp to evaluate pricelist state (defaults to now) |
| page | integer <int32> Page number (1-based) |
| size | integer <int32> Page size |
{- "items": [
- {
- "code": "PL-RETAIL",
- "currency_code": "EUR",
- "description": "Standard retail pricing for EU markets",
- "end_date": "2025-12-31T23:59:59Z",
- "metadata": {
- "region": "EU",
- "customer_type": "retail"
}, - "name": "Retail Price List 2025",
- "parent_code": "PL-BASE",
- "price_rules": [
- {
- "code": "string",
- "description": "string",
- "expression": "string",
- "updated_by": "string"
}
], - "sku_count": 1250,
- "start_date": "2025-01-01T00:00:00Z",
- "updated_at": "2025-01-15T10:00:00Z",
- "updated_by": "admin@example.com",
- "vat_mode": "NET"
}
], - "page": 0,
- "size": 0,
- "total": 0
}Create or update a pricelist metadata entry
| code required | string Code of the pricelist (unique, not null, recommended to be 64 chars or less) |
| currency_code required | string Currency code (3-letter ISO code, e.g. "USD", "EUR") |
| vat_mode required | string Enum: "NET" "GROSS" Select if the Pricelist price is in VAT-included or VAT-excluded mode. |
| description | string Description of the Pricelist (optional) |
| end_date | string <date-time> End date of the Pricelist (optional, if not provided, the Pricelist is considered active indefinitely) |
object Arbitrary key/value metadata for this pricelist (optional; not searchable) | |
| name | string Name of the Pricelist (optional) |
| parent_code | string Parent pricelist code (optional, if not provided, the Pricelist is considered a top-level pricelist) |
Array of objects (PriceRule) Optional list of price rules applied to articles matched by article_matches | |
| start_date | string <date-time> Start date of the Pricelist (optional, if not provided, the Pricelist is considered active immediately) |
{- "code": "string",
- "currency_code": "string",
- "vat_mode": "NET"
}Upsert multiple pricelists in a single request
| code required | string Code of the pricelist (unique, not null, recommended to be 64 chars or less) |
| currency_code required | string Currency code (3-letter ISO code, e.g. "USD", "EUR") |
| vat_mode required | string Enum: "NET" "GROSS" Select if the Pricelist price is in VAT-included or VAT-excluded mode. |
| description | string Description of the Pricelist (optional) |
| end_date | string <date-time> End date of the Pricelist (optional, if not provided, the Pricelist is considered active indefinitely) |
object Arbitrary key/value metadata for this pricelist (optional; not searchable) | |
| name | string Name of the Pricelist (optional) |
| parent_code | string Parent pricelist code (optional, if not provided, the Pricelist is considered a top-level pricelist) |
Array of objects (PriceRule) Optional list of price rules applied to articles matched by article_matches | |
| start_date | string <date-time> Start date of the Pricelist (optional, if not provided, the Pricelist is considered active immediately) |
[- {
- "code": "string",
- "currency_code": "string",
- "vat_mode": "NET"
}
]Returns paginated pricelists matching the provided PricelistSelection. Selection supports explicit pricelist codes and/or metadata key/value matches.
| asOf | string <date-time> |
| page | integer <int32> |
| size | integer <int32> |
| currencyCode | string Filter by currency code (3-letter ISO code). Only pricelists with this currency will be included. |
object Metadata filters as key-value pairs. Pricelists matching any of the provided values for each key will be included. | |
| pricelists | Array of strings Explicit list of pricelist codes to query. Can be combined with metadata filters. |
{ }{- "items": [
- {
- "code": "PL-RETAIL",
- "currency_code": "EUR",
- "description": "Standard retail pricing for EU markets",
- "end_date": "2025-12-31T23:59:59Z",
- "metadata": {
- "region": "EU",
- "customer_type": "retail"
}, - "name": "Retail Price List 2025",
- "parent_code": "PL-BASE",
- "price_rules": [
- {
- "code": "string",
- "description": "string",
- "expression": "string",
- "updated_by": "string"
}
], - "sku_count": 1250,
- "start_date": "2025-01-01T00:00:00Z",
- "updated_at": "2025-01-15T10:00:00Z",
- "updated_by": "admin@example.com",
- "vat_mode": "NET"
}
], - "page": 0,
- "size": 0,
- "total": 0
}Upserts a single price definition with its quantity breaks.
required | object (PriceDefinition) The base price definition. |
| pricelist required | string Pricelist code. |
| sku required | string SKU code. |
Array of objects (QuantityBreak) A list of quantity breaks for this price. | |
| remove_future_changes | boolean If true, removes all scheduled future prices for this SKU/pricelist combination after the given start date. |
| start_date | string <date-time> Start date for the price (ISO-8601 format). If in the past, it will be set to the current time. |
{- "price": { },
- "pricelist": "PL-RETAIL",
- "sku": "SKU-123"
}Upserts a list of price definitions in a single request.
required | object (PriceDefinition) The base price definition. |
| pricelist required | string Pricelist code. |
| sku required | string SKU code. |
Array of objects (QuantityBreak) A list of quantity breaks for this price. | |
| remove_future_changes | boolean If true, removes all scheduled future prices for this SKU/pricelist combination after the given start date. |
| start_date | string <date-time> Start date for the price (ISO-8601 format). If in the past, it will be set to the current time. |
[- {
- "price": { },
- "pricelist": "PL-RETAIL",
- "sku": "SKU-123"
}
]Retrieves a list of all pricelists that contain a price for the given SKU.
| sku required | string Example: SKU-123 SKU code. |
| asOf | string <date-time> Optional timestamp to query prices as of a specific time (ISO-8601 format). |
| page | integer <int32> Page number to retrieve (1-based). |
| size | integer <int32> Number of items per page. |
Performs a best-price query for multiple SKUs across multiple pricelists.
required | object (PricelistFilter) Filter defining which pricelists to query |
| skus required | Array of strings List of SKU codes to query prices for |
| tax_area required | string Tax area code for VAT calculation (e.g., 'SE' for Sweden, 'DE' for Germany) |
| as_of | string <date-time> Point-in-time to evaluate prices at (ISO-8601 format). Defaults to current time if not specified. |
| rounding_profile | string Rounding profile code to apply to calculated prices |
| sort_order | string Enum: "ASC" "DESC" Sort order for results (ascending or descending by price) |
{- "pricelist_filter": { },
- "skus": [
- "SKU-123",
- "SKU-456",
- "SKU-789"
], - "tax_area": "SE"
}{ "error": "skus, pricelists and tax areas cannot be empty" }
Retrieves a list of all SKUs that have a price on the given pricelist.
| code required | string Example: PL-RETAIL Pricelist code. |
| asOf | string <date-time> Optional timestamp to query prices as of a specific time (ISO-8601 format). |
| page | integer <int32> Page number to retrieve (1-based). |
| size | integer <int32> Number of items per page. |
Retrieves the raw price definition for a SKU on a pricelist, without tax application.
| sku required | string Example: SKU-123 SKU code. |
| pricelist required | string Example: PL-RETAIL Pricelist code. |
| asOf | string <date-time> Optional timestamp to query prices as of a specific time (ISO-8601 format). |
Retrieves the price for a single SKU on a specific pricelist and tax area.
| sku required | string Example: SKU-123 SKU code. |
| pricelist required | string Example: PL-RETAIL Pricelist code. |
| taxArea required | string Example: SE Tax area code. |
| rounding_profile required | string Example: rounding_profile=global-eur Rounding profile code. |
| asOf | string <date-time> Optional timestamp to query prices as of a specific time (ISO-8601 format). |
List recent changes for a SKU on a pricelist over the last N days.
| pricelist required | string Example: PL-RETAIL Pricelist code |
| sku required | string Example: SKU-123 SKU code |
| days | integer <int32> Default: 30 Example: days=30 Lookback window in days |
| limit | integer <int32> Default: 1000 Example: limit=1000 Max records to return |
[- {
- "deleted_at": "2024-02-03T10:00:00Z",
- "pricelist": "PL-RETAIL",
- "prices": [
- {
- "prices": {
- "LIST": 29.99,
- "VIP": 17.49
}, - "quantity_break": 1,
- "sales_price": 19.99
}
], - "sku": "SKU-123",
- "start_date": "2024-01-01T00:00:00Z",
- "updated_at": "2024-01-02T12:34:56Z",
- "updated_by": "system"
}
]Create or update a tax area
| code | string |
| deleted_at | string <date-time> |
| is_active | boolean |
| name | string |
| updated_at | string <date-time> |
| valid_from | string <date-time> |
| valid_to | string <date-time> |
{ }Soft deletes a tax area by marking it as deleted at the specified time (or now)
| code required | string Example: SE Tax area code to delete |
| when | string <date-time> Example: when=2025-01-15T10:00:00Z Deletion timestamp (ISO-8601 format). Defaults to current time. |
Retrieves a single tax area by its code as of a specific timestamp
| code required | string Example: SE Tax area code |
| asOf | string <date-time> Example: asOf=2025-01-15T10:00:00Z Timestamp to evaluate tax area at (ISO-8601 format). Defaults to current time. |
Soft deletes a VAT class by marking it as deleted at the specified time (or now)
| code required | string Example: STANDARD VAT class code to delete |
| when | string <date-time> Example: when=2025-01-15T10:00:00Z Deletion timestamp (ISO-8601 format). Defaults to current time. |
Retrieves a single VAT class by its code as of a specific timestamp
| code required | string Example: STANDARD VAT class code |
| asOf | string <date-time> Example: asOf=2025-01-15T10:00:00Z Timestamp to evaluate VAT class at (ISO-8601 format). Defaults to current time. |
Create or update VAT class assignment for a SKU in a tax area
Upsert payload
| sku_code | string |
| start_date | string <date-time> |
| tax_area_code | string |
| updated_at | string <date-time> |
| updated_by | string |
| vat_class_code | string |
{ }Fetch VAT class mapping for a SKU in a tax area as of time
| sku required | string Example: SKU-123 SKU code |
| taxArea required | string Example: PL-RETAIL Tax area code |
| asOf | string <date-time> Example: asOf=2025-01-01T00:00:00Z Timestamp to evaluate mapping at (ISO-8601) |
Returns a list of all VAT rates for a specific tax area as of a timestamp
| tax_area required | string Example: tax_area=SE Tax area code to retrieve rates for |
| asOf | string <date-time> Example: asOf=2025-01-15T10:00:00Z Timestamp to evaluate rates at (ISO-8601 format). Defaults to current time. |
Create or update a VAT rate for a VAT class in a tax area
| rate | number |
| start_date | string <date-time> |
| tax_area_code | string |
| updated_at | string <date-time> |
| updated_by | string |
| vat_class_code | string |
{ }Soft deletes a VAT rate by marking it as deleted at the specified time (or now)
| taxArea required | string Example: SE Tax area code |
| vatClass required | string Example: STANDARD VAT class code |
| when | string <date-time> Example: when=2025-01-15T10:00:00Z Deletion timestamp (ISO-8601 format). Defaults to current time. |
Retrieves a single VAT rate for a specific VAT class in a tax area as of a timestamp
| taxArea required | string Example: SE Tax area code |
| vatClass required | string Example: STANDARD VAT class code |
| asOf | string <date-time> Example: asOf=2025-01-15T10:00:00Z Timestamp to evaluate rate at (ISO-8601 format). Defaults to current time. |
Create or update EUR to other currency exchange rates for a specific UTC date. Accepts a map of currency codes to exchange rates.
Daily rates payload with UTC date and currency rate map
| date required | string <date> UTC date for the exchange rates (ISO-8601 format: yyyy-MM-dd) |
required | object Map of 3-letter currency codes to exchange rates from EUR. Example: {"USD": 1.08, "GBP": 0.85} |
{- "date": "2025-01-15",
- "rates": {
- "USD": 1.08,
- "GBP": 0.85,
- "SEK": 11.2
}
}Retrieves the foreign exchange rate from base currency to quote currency as of a specific timestamp. Uses EUR as cross-currency when direct rate is not available.
| base required | string Example: base=USD Base currency code (3-letter ISO code) |
| quote required | string Example: quote=EUR Quote currency code (3-letter ISO code) |
| asOf | string <date-time> Example: asOf=2025-01-01T00:00:00Z Timestamp to retrieve rate at (ISO-8601 format). Defaults to current time. |
Delete (or mark deleted) a setting. If 'when' is provided, deletion is recorded at that time; otherwise now.
| key required | string Example: feature_x_enabled Setting key |
| when | string <date-time> Example: when=2025-01-01T00:00:00Z Deletion timestamp (ISO-8601) |
Create or update a setting value. If updated_at is provided, the change is recorded at that time; otherwise now.
| key required | string Example: feature_x_enabled Setting key |
Upsert payload with value and optional updated_at ISO-8601 timestamp.
String value
{- "value": "true",
- "updated_at": "2025-01-01T00:00:00Z"
}Creates a new rounding profile or updates an existing one with the same code
| code | string |
| currency_code | string |
| default_for_currency | boolean |
| default_global | boolean |
Array of objects (RoundingTierRule) |
{ }Applies a rounding profile to a list of values and returns the rounded results
required | object (RoundingProfile) Rounding profile to apply |
| values required | Array of numbers List of numeric values to round |
{- "profile": { },
- "values": [
- 10.234,
- 25.678,
- 100.999
]
}Updates an existing rounding profile by code
| code required | string Example: global-eur Rounding profile code |
| code | string |
| currency_code | string |
| default_for_currency | boolean |
| default_global | boolean |
Array of objects (RoundingTierRule) |
{ }