Price lists
Base URL: https://api.miridia.io. Read Authentication and Conventions before you call these operations.
| Method | Path | Operation |
|---|---|---|
| GET | /api/v1/pricelists | Get price lists |
| POST | /api/v1/pricelists | Create price list |
| GET | /api/v1/pricelists/{priceListId} | Get price list |
| PUT | /api/v1/pricelists/{priceListId} | Update price list |
| DELETE | /api/v1/pricelists/{priceListId} | Delete price list |
| POST | /api/v1/pricelists/{priceListId}/items | Create item |
| PUT | /api/v1/pricelists/{priceListId}/items/{itemId} | Update item |
| DELETE | /api/v1/pricelists/{priceListId}/items/{itemId} | Remove item |
| POST | /api/v1/pricelists/{priceListId}/assignments | Add assignment |
| DELETE | /api/v1/pricelists/{priceListId}/assignments/{assignmentId} | Remove assignment |
| GET | /api/v1/pricelists/resolve | Resolve price |
Get price lists
GET/api/v1/pricelists
Access. Send a bearer token or an API key. The caller needs the Products view permission.
Response
200. Returns a JSON array. Each item is PriceListResponse.
curl -X GET "https://api.miridia.io/api/v1/pricelists" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"[
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"title": "string",
"description": "string",
"currencyCode": "Eur",
"status": "Active",
"effectiveFrom": "2026-09-29T08:00:00Z",
"effectiveTo": "2026-09-29T08:00:00Z",
"pricingMode": "Fixed",
"adjustmentType": "Percentage",
"adjustmentValue": 0,
"roundingStep": 0,
"items": [
{}
],
"assignments": [
{}
]
}
]Create price list
POST/api/v1/pricelists
Access. Send a bearer token or an API key. The caller needs the Products modify permission.
Request body
Send JSON with the shape CreatePriceListCommand.
| Field | Type | Required | Description |
|---|---|---|---|
title | string | Yes | |
description | string | No | |
currencyCode | enum CurrencyCode | No | One of: Invalid, Eur, Usd, Gbp, Zar, Zmw. |
status | enum PriceListStatus | No | One of: Active, Inactive. |
effectiveFrom | string (date-time) | No | |
effectiveTo | string (date-time) | No | |
pricingMode | enum PriceListPricingMode | No | One of: Fixed, Relative. |
adjustmentType | enum PriceAdjustmentType | No | One of: Percentage, Amount. |
adjustmentValue | number (double) | No | |
roundingStep | number (double) | No |
Response
200. Returns a SingleResult envelope. The data field is PriceListResponse.
curl -X POST "https://api.miridia.io/api/v1/pricelists" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
-H "Content-Type: application/json" \
-d '{
"title": "string",
"description": "string",
"currencyCode": "Eur",
"status": "Active",
"effectiveFrom": "2026-09-29T08:00:00Z",
"effectiveTo": "2026-09-29T08:00:00Z",
"pricingMode": "Fixed",
"adjustmentType": "Percentage",
"adjustmentValue": 0,
"roundingStep": 0
}'{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"title": "string",
"description": "string",
"currencyCode": "Eur",
"status": "Active",
"effectiveFrom": "2026-09-29T08:00:00Z",
"effectiveTo": "2026-09-29T08:00:00Z",
"pricingMode": "Fixed",
"adjustmentType": "Percentage",
"adjustmentValue": 0,
"roundingStep": 0,
"items": [
{}
],
"assignments": [
{}
]
},
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Get price list
GET/api/v1/pricelists/{priceListId}
Access. Send a bearer token or an API key. The caller needs the Products view permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
priceListId | path | string (uuid) | Yes |
Response
200. Returns a SingleResult envelope. The data field is PriceListResponse.
curl -X GET "https://api.miridia.io/api/v1/pricelists/{priceListId}" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"title": "string",
"description": "string",
"currencyCode": "Eur",
"status": "Active",
"effectiveFrom": "2026-09-29T08:00:00Z",
"effectiveTo": "2026-09-29T08:00:00Z",
"pricingMode": "Fixed",
"adjustmentType": "Percentage",
"adjustmentValue": 0,
"roundingStep": 0,
"items": [
{}
],
"assignments": [
{}
]
},
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Update price list
PUT/api/v1/pricelists/{priceListId}
Access. Send a bearer token or an API key. The caller needs the Products modify permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
priceListId | path | string (uuid) | Yes |
Request body
Send JSON with the shape UpdatePriceListCommand.
| Field | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | No | |
title | string | Yes | |
description | string | No | |
currencyCode | enum CurrencyCode | No | One of: Invalid, Eur, Usd, Gbp, Zar, Zmw. |
status | enum PriceListStatus | No | One of: Active, Inactive. |
effectiveFrom | string (date-time) | No | |
effectiveTo | string (date-time) | No | |
pricingMode | enum PriceListPricingMode | No | One of: Fixed, Relative. |
adjustmentType | enum PriceAdjustmentType | No | One of: Percentage, Amount. |
adjustmentValue | number (double) | No | |
roundingStep | number (double) | No |
Response
200. Returns a SingleResult envelope. The data field is PriceListResponse.
curl -X PUT "https://api.miridia.io/api/v1/pricelists/{priceListId}" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
-H "Content-Type: application/json" \
-d '{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"title": "string",
"description": "string",
"currencyCode": "Eur",
"status": "Active",
"effectiveFrom": "2026-09-29T08:00:00Z",
"effectiveTo": "2026-09-29T08:00:00Z",
"pricingMode": "Fixed",
"adjustmentType": "Percentage",
"adjustmentValue": 0,
"roundingStep": 0
}'{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"title": "string",
"description": "string",
"currencyCode": "Eur",
"status": "Active",
"effectiveFrom": "2026-09-29T08:00:00Z",
"effectiveTo": "2026-09-29T08:00:00Z",
"pricingMode": "Fixed",
"adjustmentType": "Percentage",
"adjustmentValue": 0,
"roundingStep": 0,
"items": [
{}
],
"assignments": [
{}
]
},
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Delete price list
DELETE/api/v1/pricelists/{priceListId}
Access. Send a bearer token or an API key. The caller needs the Products delete permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
priceListId | path | string (uuid) | Yes |
Response
200. Returns a SingleResult envelope. The data field is boolean.
curl -X DELETE "https://api.miridia.io/api/v1/pricelists/{priceListId}" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": true,
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Create item
POST/api/v1/pricelists/{priceListId}/items
Access. Send a bearer token or an API key. The caller needs the Products modify permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
priceListId | path | string (uuid) | Yes |
Request body
Send JSON with the shape CreatePriceListItemCommand. Creates a new per-product price override on a price list. Create-only.
| Field | Type | Required | Description |
|---|---|---|---|
priceListId | string (uuid) | No | The price list to which this item belongs. |
productId | string (uuid) | No | |
subTotal | number (double) | No | |
totalPrice | number (double) | No | |
totalTax | number (double) | No | |
totalDiscount | number (double) | No | |
discount | number (double) | No | |
discountType | enum DiscountType | No | One of: None, Percentage, FixedValue. |
taxRate | number (double) | No | |
taxIncluded | boolean | No | |
taxType | enum TaxType | No | One of: None, Sales, Vat, Gst, Pst, Hst, Qst, Ist, Ust, Cst. |
priceUnit | enum UnitOfMeasure | No | One of: Each, Kilogram, Gram, Litre, Millilitre, Metre, Centimetre, SquareMetre, CubicMetre, Pair, Pack, Box, Roll, Sheet. |
pricePackQuantity | number (double) | No | |
basis | enum PriceListItemBasis | No | One of: Fixed, Pegged. |
adjustmentType | enum PriceAdjustmentType | No | One of: Percentage, Amount. |
adjustmentValue | number (double) | No |
Response
200. Returns a SingleResult envelope. The data field is PriceListItemResponse.
curl -X POST "https://api.miridia.io/api/v1/pricelists/{priceListId}/items" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
-H "Content-Type: application/json" \
-d '{
"priceListId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"productId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"subTotal": 0,
"totalPrice": 0,
"totalTax": 0,
"totalDiscount": 0,
"discount": 0,
"discountType": "Percentage",
"taxRate": 0,
"taxIncluded": true,
"taxType": "Sales",
"priceUnit": "Each",
"pricePackQuantity": 0,
"basis": "Fixed",
"adjustmentType": "Percentage",
"adjustmentValue": 0
}'Update item
PUT/api/v1/pricelists/{priceListId}/items/{itemId}
Access. Send a bearer token or an API key. The caller needs the Products modify permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
priceListId | path | string (uuid) | Yes | |
itemId | path | string (uuid) | Yes |
Request body
Send JSON with the shape UpdatePriceListItemCommand. Updates an existing per-product price override on a price list, identified by item id. The product the item applies to is not reassignable. Only the pricing fields are updated.
| Field | Type | Required | Description |
|---|---|---|---|
priceListId | string (uuid) | No | The price list to which this item belongs. |
itemId | string (uuid) | No | The item being updated. |
subTotal | number (double) | No | |
totalPrice | number (double) | No | |
totalTax | number (double) | No | |
totalDiscount | number (double) | No | |
discount | number (double) | No | |
discountType | enum DiscountType | No | One of: None, Percentage, FixedValue. |
taxRate | number (double) | No | |
taxIncluded | boolean | No | |
taxType | enum TaxType | No | One of: None, Sales, Vat, Gst, Pst, Hst, Qst, Ist, Ust, Cst. |
priceUnit | enum UnitOfMeasure | No | One of: Each, Kilogram, Gram, Litre, Millilitre, Metre, Centimetre, SquareMetre, CubicMetre, Pair, Pack, Box, Roll, Sheet. |
pricePackQuantity | number (double) | No | |
basis | enum PriceListItemBasis | No | One of: Fixed, Pegged. |
adjustmentType | enum PriceAdjustmentType | No | One of: Percentage, Amount. |
adjustmentValue | number (double) | No |
Response
200. Returns a SingleResult envelope. The data field is PriceListItemResponse.
curl -X PUT "https://api.miridia.io/api/v1/pricelists/{priceListId}/items/{itemId}" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
-H "Content-Type: application/json" \
-d '{
"priceListId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"itemId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"subTotal": 0,
"totalPrice": 0,
"totalTax": 0,
"totalDiscount": 0,
"discount": 0,
"discountType": "Percentage",
"taxRate": 0,
"taxIncluded": true,
"taxType": "Sales",
"priceUnit": "Each",
"pricePackQuantity": 0,
"basis": "Fixed",
"adjustmentType": "Percentage",
"adjustmentValue": 0
}'Remove item
DELETE/api/v1/pricelists/{priceListId}/items/{itemId}
Access. Send a bearer token or an API key. The caller needs the Products delete permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
priceListId | path | string (uuid) | Yes | |
itemId | path | string (uuid) | Yes |
Response
200. Returns a SingleResult envelope. The data field is boolean.
curl -X DELETE "https://api.miridia.io/api/v1/pricelists/{priceListId}/items/{itemId}" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": true,
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Add assignment
POST/api/v1/pricelists/{priceListId}/assignments
Access. Send a bearer token or an API key. The caller needs the Products modify permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
priceListId | path | string (uuid) | Yes |
Request body
Send JSON with the shape AddPriceListAssignmentCommand.
| Field | Type | Required | Description |
|---|---|---|---|
priceListId | string (uuid) | No | |
scopeType | enum PriceListScopeType | No | One of: SalesChannel, Location, DeliveryZone, CustomerGroup, Customer. |
scopeId | string (uuid) | No | |
priority | integer (int32) | No |
Response
200. Returns a SingleResult envelope. The data field is PriceListAssignmentResponse.
curl -X POST "https://api.miridia.io/api/v1/pricelists/{priceListId}/assignments" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
-H "Content-Type: application/json" \
-d '{
"priceListId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"scopeType": "SalesChannel",
"scopeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"priority": 0
}'{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"scopeType": "SalesChannel",
"scopeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"priority": 0
},
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Remove assignment
DELETE/api/v1/pricelists/{priceListId}/assignments/{assignmentId}
Access. Send a bearer token or an API key. The caller needs the Products delete permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
priceListId | path | string (uuid) | Yes | |
assignmentId | path | string (uuid) | Yes |
Response
200. Returns a SingleResult envelope. The data field is boolean.
curl -X DELETE "https://api.miridia.io/api/v1/pricelists/{priceListId}/assignments/{assignmentId}" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": true,
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Resolve price
GET/api/v1/pricelists/resolve
Resolves the effective price for a product in a given context (channel / location / delivery zone / customer group). Checks assigned price lists first (by priority), then falls back to the product's price history. Returns 404 when neither source has a price.
Access. Send a bearer token or an API key. The caller needs the Products view permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
productId | query | string (uuid) | No | |
salesChannelId | query | string (uuid) | No | |
locationId | query | string (uuid) | No | |
deliveryZoneId | query | string (uuid) | No | |
customerGroupId | query | string (uuid) | No | |
customerId | query | string (uuid) | No | |
priceType | query | enum PriceType | No | One of: Selling, Purchase, Cost. |
asOf | query | string (date-time) | No |
Response
200. Returns a SingleResult envelope. The data field is ProductPriceDetailsResponse.
curl -X GET "https://api.miridia.io/api/v1/pricelists/resolve" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": {
"subTotal": 0,
"totalPrice": 0,
"totalTax": 0,
"totalDiscount": 0,
"discount": 0,
"discountType": "Percentage",
"taxIncluded": true,
"taxRate": 0,
"taxType": "Sales",
"currency": {
"iso4217": "string",
"utf8Symbol": "string",
"currencyCode": "Eur"
},
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"purchasable": true,
"priceType": "Selling",
"source": "Manual",
"notes": "string",
"effectiveDate": "2026-09-29T08:00:00Z",
"currencyMetadata": {
"iso4217": "string",
"utf8Symbol": "string",
"currencyCode": "Eur"
},
"priceUnit": "Each",
"pricePackQuantity": 0,
"pricePerUnit": 0,
"basis": "FixedItem",
"adjustmentType": "Percentage",
"adjustmentValue": 0
},
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Models
The operations on this page use these object types. Select a type to see its fields.
CurrencyResponse
| Field | Type | Description |
|---|---|---|
iso4217 | string | |
utf8Symbol | string | |
currencyCode | enum CurrencyCode | One of: Invalid, Eur, Usd, Gbp, Zar, Zmw. |
PriceListAssignmentResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
scopeType | enum PriceListScopeType | One of: SalesChannel, Location, DeliveryZone, CustomerGroup, Customer. |
scopeId | string (uuid) | |
priority | integer (int32) |
PriceListItemResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
productId | string (uuid) | |
productTitle | string | |
productSku | string | |
subTotal | number (double) | |
totalPrice | number (double) | |
totalTax | number (double) | |
totalDiscount | number (double) | |
discount | number (double) | |
discountType | enum DiscountType | One of: None, Percentage, FixedValue. |
taxRate | number (double) | |
taxIncluded | boolean | |
taxType | enum TaxType | One of: None, Sales, Vat, Gst, Pst, Hst, Qst, Ist, Ust, Cst. |
priceUnit | enum UnitOfMeasure | One of: Each, Kilogram, Gram, Litre, Millilitre, Metre, Centimetre, SquareMetre, CubicMetre, Pair, Pack, Box, Roll, Sheet. |
pricePackQuantity | number (double) | |
basis | enum PriceListItemBasis | One of: Fixed, Pegged. |
adjustmentType | enum PriceAdjustmentType | One of: Percentage, Amount. |
adjustmentValue | number (double) | |
effectivePrice | ProductPriceDetailsResponse |
PriceListResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
title | string | |
description | string | |
currencyCode | enum CurrencyCode | One of: Invalid, Eur, Usd, Gbp, Zar, Zmw. |
status | enum PriceListStatus | One of: Active, Inactive. |
effectiveFrom | string (date-time) | |
effectiveTo | string (date-time) | |
pricingMode | enum PriceListPricingMode | One of: Fixed, Relative. |
adjustmentType | enum PriceAdjustmentType | One of: Percentage, Amount. |
adjustmentValue | number (double) | |
roundingStep | number (double) | |
items | PriceListItemResponse[] | |
assignments | PriceListAssignmentResponse[] |
ProductPriceDetailsResponse
| Field | Type | Description |
|---|---|---|
subTotal | number (double) | |
totalPrice | number (double) | |
totalTax | number (double) | |
totalDiscount | number (double) | |
discount | number (double) | |
discountType | enum DiscountType | One of: None, Percentage, FixedValue. |
taxIncluded | boolean | |
taxRate | number (double) | |
taxType | enum TaxType | One of: None, Sales, Vat, Gst, Pst, Hst, Qst, Ist, Ust, Cst. |
currency | CurrencyResponse | |
id | string (uuid) | |
purchasable | boolean | |
priceType | enum PriceType | One of: Selling, Purchase, Cost. |
source | enum PriceSource | One of: Manual, SupplierUpdate, Import, Sync, Migration. |
notes | string | |
effectiveDate | string (date-time) | |
currencyMetadata | CurrencyResponse | |
priceUnit | enum UnitOfMeasure | One of: Each, Kilogram, Gram, Litre, Millilitre, Metre, Centimetre, SquareMetre, CubicMetre, Pair, Pack, Box, Roll, Sheet. |
pricePackQuantity | number (double) | |
pricePerUnit | number (double) | |
basis | enum PriceResolutionBasis | One of: FixedItem, PeggedItem, ListRule. |
adjustmentType | enum PriceAdjustmentType | One of: Percentage, Amount. |
adjustmentValue | number (double) |