# Prices assigned to price lists

## Retrieving all prices assigned to a price list

> Retrieves all prices assigned to a specified price list. You can filter the results with query parameters.

```json
{"openapi":"3.0.0","info":{"title":"Price Service","version":"0.0.1"},"tags":[{"name":"Prices assigned to price lists"}],"servers":[{"url":"https://api.emporix.io"}],"security":[{"OAuth2":["price.pricelist_read"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.emporix.io/oauth/token","scopes":{"price.price_manage":"Needed to manage prices.","price.price_read":"Needed to retrieve prices.","price.price_own":"Needed to calculate product prices (legacy).","price.prod_price_calculate":"Needed to calculate prices and synchronize sale prices (legacy).","price.price_delete_all":"Needed to delete all prices at once (legacy).","price.price_match_own":"Needed to use the price matching functionality based on information from the session context.","price.pricemodel_manage":"Needed to manage price models.","price.pricemodel_read":"Needed to retrieve price models.","price.price_manage_by_vendor":"Needed to manage prices belonging to the vendor."}}}}},"parameters":{"trait_qParam":{"in":"query","name":"q","description":"A standard query parameter is used to search for specific values. \n\nSee: [Standard practises - Query parameter](https://developer.emporix.io/api-references/standard-practices/q-param)\n","schema":{"type":"string"}},"header_acceptLanguageV2":{"name":"Accept-Language","in":"header","required":false,"schema":{"type":"string"},"description":"List of language codes acceptable for the response. You can specify factors that indicate which language should be retrieved if the one with a higher factor was not found in the localized fields.\n* If the header is set to a particular language or a list of languages, all localized fields are retrieved as a map of single translation, where the key is a language code and the value is in a respective language.\n* If the header is set to `*`, all localized fields are retrieved as maps of translations, where the keys are language codes and values are the fields in their respective languages.\n* If the header is empty, localized fields are retrieved as maps of single translation, where the key is a language code and the value is in a respective language. The endpoint will asume that the localized fields are provided in the default language defined in the Configuration Service.\n"},"trait_paged_pageNumber":{"name":"pageNumber","in":"query","description":"Page number to be retrieved. The number of the first page is 1.\n\n**Note:** If the `pageNumber` parameter is passed, size of the pages must be specified in the `pageSize` parameter.\n","schema":{"default":1,"minimum":1,"type":"integer"}},"trait_paged_pageSize":{"name":"pageSize","in":"query","description":"Number of items to be retrieved per page.\n","schema":{"default":60,"minimum":1,"type":"integer"}},"trait_sort":{"in":"query","name":"sort","required":false,"description":"List of properties used to sort the results, separated by colons. The order of properties indicates their priority in sorting.\n\nPossible values:\n* `{fieldName}`\n* `{fieldName}:asc`\n* `{fieldName}:desc`\n\n**Note:** If you want to sort the results by localized properties, the possible values are:\n  * `{fieldName}.{language}`\n  * `{fieldName}.{language}:asc`\n  * `{fieldName}.{language}:desc`\n\nIf the sorting direction is not specified, the fields are sorted in ascending order.","schema":{"type":"string"}},"trait_XTotalCount_header":{"in":"header","name":"X-Total-Count","required":false,"description":"Flag indicating whether the total count of retrieved items should be returned.","schema":{"default":false,"type":"boolean"}},"query_priceListPrices_priceModelId":{"name":"priceModelId","in":"query","description":"ID of the price model to which the retrieved prices should be assigned.\n","schema":{"type":"string"}}},"schemas":{"priceListPrice":{"title":"priceListPrice","allOf":[{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the price that belongs to a price list, generated when the price is created and added to the price list."}}},{"$ref":"#/components/schemas/priceListPriceCore"},{"type":"object","properties":{"metadata":{"$ref":"#/components/schemas/metadata"}}}]},"priceListPriceCore":{"title":"priceListPriceCore","properties":{"itemId":{"type":"object","description":"Item for which the price is defined.","properties":{"itemType":{"type":"string","description":"Type of the referenced item. Possible values:\n* `PRODUCT`\n* `SKU`\n\n**Note**: The `SKU` value is a `preview` value - the system does not fully operate on the SKU concept yet.\n"},"id":{"type":"string","description":"Product's unique identifier, generated when the product is created through the Product Service.\n"}}},"priceModelId":{"type":"string","description":"ID of the price model to which the price is assigned. If the ID is not provided, the default price model is used."},"tierValues":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/tierValueCreation"},{"type":"object","properties":{"priceValue":{"type":"number","description":"This field should contain a net price given by a number where the cent part is separated by a dot sign - such as `12.99`.\n\n**Note**: The cent part of the price is not limited to two digits. You can specify the price with any precision."}}}]}}}},"tierValueCreation":{"description":"","type":"object","properties":{"id":{"type":"string","description":"An identifier of a tier. The ID is required only if the priceModelId is provided. If the price model is the default, the tier value is automatically assigned according to the default price model."},"priceValue":{"type":"number","description":"Gross price (if the `includesTax` field is set to `true`) or net price (if the `includesTax` field is set to `false`).\n\nThis field should contain by a number where the cent part is separated by a dot sign - such as `12.99`.\n\n**Note**: The cent part of the price is not limited to two digits. You can specify the price with any precision."}},"required":["priceValue"]},"metadata":{"type":"object","properties":{"createdAt":{"description":"Date and time when the price was created.","type":"string"},"modifiedAt":{"description":"Date and time when the price was last modified.","type":"string"},"version":{"minimum":1,"type":"integer","description":"Version of the price object. If provided optimistic locking will be enabled and it has to match version in the database"}}},"errorMessage":{"type":"object","title":"error","description":"Schema for API-specific errors.","properties":{"code":{"minimum":100,"maximum":599,"description":"Original HTTP error code, should be consistent with the response HTTP code.","type":"integer"},"status":{"description":"Original HTTP error reason.","type":"string"},"message":{"description":"Descriptive error message for debugging","type":"string"},"details":{"description":"List of problems causing this error.","type":"array","items":{"title":"errorDetail","description":"schema for specific error cause","type":"string"}},"errorCode":{"type":"string","description":"Additional error code."}}}},"responses":{"Unauthorized_401":{"description":"Given request is unauthorized - the authorization token is invalid or has expired. Details are provided in the response payload.","content":{"application/json":{"schema":{"type":"object","properties":{"fault":{"type":"object","properties":{"faultstring":{"type":"string"},"detail":{"type":"object","properties":{"errorcode":{"type":"string"}}}}}}}}}},"Forbidden_403":{"description":"Given authorization scopes are not sufficient and do not match the scopes required by the endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorMessage"}}}},"InternalServiceError_500":{"description":"Some server-side error occurred. Details are provided in the response payload.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorMessage"}}}}}},"paths":{"/price/{tenant}/price-lists/{priceListId}/prices":{"get":{"tags":["Prices assigned to price lists"],"operationId":"GET-price-list-prices-in-price-list","summary":"Retrieving all prices assigned to a price list","description":"Retrieves all prices assigned to a specified price list. You can filter the results with query parameters.","parameters":[{"$ref":"#/components/parameters/trait_qParam"},{"$ref":"#/components/parameters/header_acceptLanguageV2"},{"$ref":"#/components/parameters/trait_paged_pageNumber"},{"$ref":"#/components/parameters/trait_paged_pageSize"},{"$ref":"#/components/parameters/trait_sort"},{"$ref":"#/components/parameters/trait_XTotalCount_header"},{"$ref":"#/components/parameters/query_priceListPrices_priceModelId"},{"schema":{"type":"string"},"in":"query","name":"itemId","description":"ID of product for which prices should be retrieved.\n"},{"schema":{"type":"string"},"in":"query","name":"itemType","description":"Item types for which prices should be retrieved. Possible values:\n* `PRODUCT`\n* `SKU`\n\n  **Note**: The SKU value is a `preview` value - the system does not fully operate on the SKU concept yet.\n"}],"responses":{"200":{"description":"The request was successful. A list of prices is returned.","headers":{"X-Total-Count":{"schema":{"type":"integer"},"description":"Total number of retrieved prices."}},"content":{"application/json":{"schema":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/priceListPrice"}]}}}}},"401":{"$ref":"#/components/responses/Unauthorized_401"},"403":{"$ref":"#/components/responses/Forbidden_403"},"500":{"$ref":"#/components/responses/InternalServiceError_500"}}}}}}
```

## Adding a new price to a price list

> Creates a new price for a specified price list.

```json
{"openapi":"3.0.0","info":{"title":"Price Service","version":"0.0.1"},"tags":[{"name":"Prices assigned to price lists"}],"servers":[{"url":"https://api.emporix.io"}],"security":[{"OAuth2":["price.pricelist_manage"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.emporix.io/oauth/token","scopes":{"price.price_manage":"Needed to manage prices.","price.price_read":"Needed to retrieve prices.","price.price_own":"Needed to calculate product prices (legacy).","price.prod_price_calculate":"Needed to calculate prices and synchronize sale prices (legacy).","price.price_delete_all":"Needed to delete all prices at once (legacy).","price.price_match_own":"Needed to use the price matching functionality based on information from the session context.","price.pricemodel_manage":"Needed to manage price models.","price.pricemodel_read":"Needed to retrieve price models.","price.price_manage_by_vendor":"Needed to manage prices belonging to the vendor."}}}}},"schemas":{"priceListPriceCreation":{"title":"priceListPriceCreation","allOf":[{"$ref":"#/components/schemas/priceListPriceCore"},{"type":"object","properties":{"id":{"type":"string","description":"Custom price identifier. If not provided, it is automatically generated."},"itemId":{"type":"object","required":["id","itemType"]}}}],"required":["itemId","priceModelId","tierValues"]},"priceListPriceCore":{"title":"priceListPriceCore","properties":{"itemId":{"type":"object","description":"Item for which the price is defined.","properties":{"itemType":{"type":"string","description":"Type of the referenced item. Possible values:\n* `PRODUCT`\n* `SKU`\n\n**Note**: The `SKU` value is a `preview` value - the system does not fully operate on the SKU concept yet.\n"},"id":{"type":"string","description":"Product's unique identifier, generated when the product is created through the Product Service.\n"}}},"priceModelId":{"type":"string","description":"ID of the price model to which the price is assigned. If the ID is not provided, the default price model is used."},"tierValues":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/tierValueCreation"},{"type":"object","properties":{"priceValue":{"type":"number","description":"This field should contain a net price given by a number where the cent part is separated by a dot sign - such as `12.99`.\n\n**Note**: The cent part of the price is not limited to two digits. You can specify the price with any precision."}}}]}}}},"tierValueCreation":{"description":"","type":"object","properties":{"id":{"type":"string","description":"An identifier of a tier. The ID is required only if the priceModelId is provided. If the price model is the default, the tier value is automatically assigned according to the default price model."},"priceValue":{"type":"number","description":"Gross price (if the `includesTax` field is set to `true`) or net price (if the `includesTax` field is set to `false`).\n\nThis field should contain by a number where the cent part is separated by a dot sign - such as `12.99`.\n\n**Note**: The cent part of the price is not limited to two digits. You can specify the price with any precision."}},"required":["priceValue"]},"errorMessage":{"type":"object","title":"error","description":"Schema for API-specific errors.","properties":{"code":{"minimum":100,"maximum":599,"description":"Original HTTP error code, should be consistent with the response HTTP code.","type":"integer"},"status":{"description":"Original HTTP error reason.","type":"string"},"message":{"description":"Descriptive error message for debugging","type":"string"},"details":{"description":"List of problems causing this error.","type":"array","items":{"title":"errorDetail","description":"schema for specific error cause","type":"string"}},"errorCode":{"type":"string","description":"Additional error code."}}}},"responses":{"Unauthorized_401":{"description":"Given request is unauthorized - the authorization token is invalid or has expired. Details are provided in the response payload.","content":{"application/json":{"schema":{"type":"object","properties":{"fault":{"type":"object","properties":{"faultstring":{"type":"string"},"detail":{"type":"object","properties":{"errorcode":{"type":"string"}}}}}}}}}},"Forbidden_403":{"description":"Given authorization scopes are not sufficient and do not match the scopes required by the endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorMessage"}}}},"InternalServiceError_500":{"description":"Some server-side error occurred. Details are provided in the response payload.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorMessage"}}}}}},"paths":{"/price/{tenant}/price-lists/{priceListId}/prices":{"post":{"tags":["Prices assigned to price lists"],"description":"Creates a new price for a specified price list.","summary":"Adding a new price to a price list","operationId":"POST-price-create-price-in-price-list","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/priceListPriceCreation"}}}},"responses":{"201":{"description":"The request was successful. The price has been created and added to the price list.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the price."}}}}}},"400":{"description":"The request was incorrect. Details are provided in the response payload.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorMessage"}}}},"401":{"$ref":"#/components/responses/Unauthorized_401"},"403":{"$ref":"#/components/responses/Forbidden_403"},"500":{"$ref":"#/components/responses/InternalServiceError_500"}}}}}}
```

## Creating multiple prices for a price list

> Creates multiple prices for a specified price list. The maximum batch size is 200.\
> \
> Response for a particular price is returned at the same position (index) at which that price is located in the request body.

```json
{"openapi":"3.0.0","info":{"title":"Price Service","version":"0.0.1"},"tags":[{"name":"Prices assigned to price lists"}],"servers":[{"url":"https://api.emporix.io"}],"security":[{"OAuth2":["price.pricelist_manage"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.emporix.io/oauth/token","scopes":{"price.price_manage":"Needed to manage prices.","price.price_read":"Needed to retrieve prices.","price.price_own":"Needed to calculate product prices (legacy).","price.prod_price_calculate":"Needed to calculate prices and synchronize sale prices (legacy).","price.price_delete_all":"Needed to delete all prices at once (legacy).","price.price_match_own":"Needed to use the price matching functionality based on information from the session context.","price.pricemodel_manage":"Needed to manage price models.","price.pricemodel_read":"Needed to retrieve price models.","price.price_manage_by_vendor":"Needed to manage prices belonging to the vendor."}}}}},"schemas":{"priceListPriceCreation":{"title":"priceListPriceCreation","allOf":[{"$ref":"#/components/schemas/priceListPriceCore"},{"type":"object","properties":{"id":{"type":"string","description":"Custom price identifier. If not provided, it is automatically generated."},"itemId":{"type":"object","required":["id","itemType"]}}}],"required":["itemId","priceModelId","tierValues"]},"priceListPriceCore":{"title":"priceListPriceCore","properties":{"itemId":{"type":"object","description":"Item for which the price is defined.","properties":{"itemType":{"type":"string","description":"Type of the referenced item. Possible values:\n* `PRODUCT`\n* `SKU`\n\n**Note**: The `SKU` value is a `preview` value - the system does not fully operate on the SKU concept yet.\n"},"id":{"type":"string","description":"Product's unique identifier, generated when the product is created through the Product Service.\n"}}},"priceModelId":{"type":"string","description":"ID of the price model to which the price is assigned. If the ID is not provided, the default price model is used."},"tierValues":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/tierValueCreation"},{"type":"object","properties":{"priceValue":{"type":"number","description":"This field should contain a net price given by a number where the cent part is separated by a dot sign - such as `12.99`.\n\n**Note**: The cent part of the price is not limited to two digits. You can specify the price with any precision."}}}]}}}},"tierValueCreation":{"description":"","type":"object","properties":{"id":{"type":"string","description":"An identifier of a tier. The ID is required only if the priceModelId is provided. If the price model is the default, the tier value is automatically assigned according to the default price model."},"priceValue":{"type":"number","description":"Gross price (if the `includesTax` field is set to `true`) or net price (if the `includesTax` field is set to `false`).\n\nThis field should contain by a number where the cent part is separated by a dot sign - such as `12.99`.\n\n**Note**: The cent part of the price is not limited to two digits. You can specify the price with any precision."}},"required":["priceValue"]},"priceBulkResponseEntry":{"allOf":[{"type":"object","properties":{"index":{"type":"integer"},"id":{"type":"string"}}},{"$ref":"#/components/schemas/errorMessage"}]},"errorMessage":{"type":"object","title":"error","description":"Schema for API-specific errors.","properties":{"code":{"minimum":100,"maximum":599,"description":"Original HTTP error code, should be consistent with the response HTTP code.","type":"integer"},"status":{"description":"Original HTTP error reason.","type":"string"},"message":{"description":"Descriptive error message for debugging","type":"string"},"details":{"description":"List of problems causing this error.","type":"array","items":{"title":"errorDetail","description":"schema for specific error cause","type":"string"}},"errorCode":{"type":"string","description":"Additional error code."}}}},"responses":{"Unauthorized_401":{"description":"Given request is unauthorized - the authorization token is invalid or has expired. Details are provided in the response payload.","content":{"application/json":{"schema":{"type":"object","properties":{"fault":{"type":"object","properties":{"faultstring":{"type":"string"},"detail":{"type":"object","properties":{"errorcode":{"type":"string"}}}}}}}}}},"Forbidden_403":{"description":"Given authorization scopes are not sufficient and do not match the scopes required by the endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorMessage"}}}},"InternalServiceError_500":{"description":"Some server-side error occurred. Details are provided in the response payload.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorMessage"}}}}}},"paths":{"/price/{tenant}/price-lists/{priceListId}/prices/bulk":{"post":{"summary":"Creating multiple prices for a price list","operationId":"POST-price-create-multiple-prices-for-price-list","tags":["Prices assigned to price lists"],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/priceListPriceCreation"}}}}},"responses":{"207":{"description":"Multiple status response. The details are provided in a form of a list of responses within the body.","content":{"application/json":{"schema":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/priceBulkResponseEntry"}]}}}}},"401":{"$ref":"#/components/responses/Unauthorized_401"},"403":{"$ref":"#/components/responses/Forbidden_403"},"500":{"$ref":"#/components/responses/InternalServiceError_500"}},"description":"Creates multiple prices for a specified price list. The maximum batch size is 200.\n\nResponse for a particular price is returned at the same position (index) at which that price is located in the request body."}}}}
```

## Upserting multiple prices in a price list

> Updates or creates multiple prices in a specified price list. The maximum batch size is 200.\
> \
> Response for a particular price is returned at the same position (index) at which that price is located in the request body.

```json
{"openapi":"3.0.0","info":{"title":"Price Service","version":"0.0.1"},"tags":[{"name":"Prices assigned to price lists"}],"servers":[{"url":"https://api.emporix.io"}],"security":[{"OAuth2":["price.pricelist_manage"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.emporix.io/oauth/token","scopes":{"price.price_manage":"Needed to manage prices.","price.price_read":"Needed to retrieve prices.","price.price_own":"Needed to calculate product prices (legacy).","price.prod_price_calculate":"Needed to calculate prices and synchronize sale prices (legacy).","price.price_delete_all":"Needed to delete all prices at once (legacy).","price.price_match_own":"Needed to use the price matching functionality based on information from the session context.","price.pricemodel_manage":"Needed to manage price models.","price.pricemodel_read":"Needed to retrieve price models.","price.price_manage_by_vendor":"Needed to manage prices belonging to the vendor."}}}}},"schemas":{"priceListPriceUpdate":{"title":"priceListPriceUpdate","allOf":[{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the price that belongs to a price list, generated when the price is created and added to the price list."}}},{"$ref":"#/components/schemas/priceListPriceCore","required":["itemId","priceModelId","tierValues"]},{"type":"object","properties":{"metadata":{"properties":{"version":{"type":"number","description":"Current version of the object."}},"required":["version"]}}}],"required":["metadata","id"]},"priceListPriceCore":{"title":"priceListPriceCore","properties":{"itemId":{"type":"object","description":"Item for which the price is defined.","properties":{"itemType":{"type":"string","description":"Type of the referenced item. Possible values:\n* `PRODUCT`\n* `SKU`\n\n**Note**: The `SKU` value is a `preview` value - the system does not fully operate on the SKU concept yet.\n"},"id":{"type":"string","description":"Product's unique identifier, generated when the product is created through the Product Service.\n"}}},"priceModelId":{"type":"string","description":"ID of the price model to which the price is assigned. If the ID is not provided, the default price model is used."},"tierValues":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/tierValueCreation"},{"type":"object","properties":{"priceValue":{"type":"number","description":"This field should contain a net price given by a number where the cent part is separated by a dot sign - such as `12.99`.\n\n**Note**: The cent part of the price is not limited to two digits. You can specify the price with any precision."}}}]}}}},"tierValueCreation":{"description":"","type":"object","properties":{"id":{"type":"string","description":"An identifier of a tier. The ID is required only if the priceModelId is provided. If the price model is the default, the tier value is automatically assigned according to the default price model."},"priceValue":{"type":"number","description":"Gross price (if the `includesTax` field is set to `true`) or net price (if the `includesTax` field is set to `false`).\n\nThis field should contain by a number where the cent part is separated by a dot sign - such as `12.99`.\n\n**Note**: The cent part of the price is not limited to two digits. You can specify the price with any precision."}},"required":["priceValue"]},"priceBulkResponseEntry":{"allOf":[{"type":"object","properties":{"index":{"type":"integer"},"id":{"type":"string"}}},{"$ref":"#/components/schemas/errorMessage"}]},"errorMessage":{"type":"object","title":"error","description":"Schema for API-specific errors.","properties":{"code":{"minimum":100,"maximum":599,"description":"Original HTTP error code, should be consistent with the response HTTP code.","type":"integer"},"status":{"description":"Original HTTP error reason.","type":"string"},"message":{"description":"Descriptive error message for debugging","type":"string"},"details":{"description":"List of problems causing this error.","type":"array","items":{"title":"errorDetail","description":"schema for specific error cause","type":"string"}},"errorCode":{"type":"string","description":"Additional error code."}}}},"responses":{"Unauthorized_401":{"description":"Given request is unauthorized - the authorization token is invalid or has expired. Details are provided in the response payload.","content":{"application/json":{"schema":{"type":"object","properties":{"fault":{"type":"object","properties":{"faultstring":{"type":"string"},"detail":{"type":"object","properties":{"errorcode":{"type":"string"}}}}}}}}}},"Forbidden_403":{"description":"Given authorization scopes are not sufficient and do not match the scopes required by the endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorMessage"}}}},"InternalServiceError_500":{"description":"Some server-side error occurred. Details are provided in the response payload.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorMessage"}}}}}},"paths":{"/price/{tenant}/price-lists/{priceListId}/prices/bulk":{"put":{"summary":"Upserting multiple prices in a price list","operationId":"PUT-price-update-multiple-prices-in-price-list","tags":["Prices assigned to price lists"],"description":"Updates or creates multiple prices in a specified price list. The maximum batch size is 200.\n\nResponse for a particular price is returned at the same position (index) at which that price is located in the request body.","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/priceListPriceUpdate"}}}}},"responses":{"207":{"description":"Multiple status response. The details are provided in a form of a list of responses within the body.","content":{"application/json":{"schema":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/priceBulkResponseEntry"}]}}}}},"401":{"$ref":"#/components/responses/Unauthorized_401"},"403":{"$ref":"#/components/responses/Forbidden_403"},"500":{"$ref":"#/components/responses/InternalServiceError_500"}}}}}}
```

## Deleting multiple prices from a price list

> Deletes multiple prices from a specified price list. The maximum batch size is 200.\
> \
> To indicate which prices should be deleted from the price list, you need to put their IDs in an array of strings and send it through the request body. The request body should look like this: \`\["exampleID1", "exampleID2"]\`

```json
{"openapi":"3.0.0","info":{"title":"Price Service","version":"0.0.1"},"tags":[{"name":"Prices assigned to price lists"}],"servers":[{"url":"https://api.emporix.io"}],"security":[{"OAuth2":["price.pricelist_manage"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.emporix.io/oauth/token","scopes":{"price.price_manage":"Needed to manage prices.","price.price_read":"Needed to retrieve prices.","price.price_own":"Needed to calculate product prices (legacy).","price.prod_price_calculate":"Needed to calculate prices and synchronize sale prices (legacy).","price.price_delete_all":"Needed to delete all prices at once (legacy).","price.price_match_own":"Needed to use the price matching functionality based on information from the session context.","price.pricemodel_manage":"Needed to manage price models.","price.pricemodel_read":"Needed to retrieve price models.","price.price_manage_by_vendor":"Needed to manage prices belonging to the vendor."}}}}},"responses":{"Unauthorized_401":{"description":"Given request is unauthorized - the authorization token is invalid or has expired. Details are provided in the response payload.","content":{"application/json":{"schema":{"type":"object","properties":{"fault":{"type":"object","properties":{"faultstring":{"type":"string"},"detail":{"type":"object","properties":{"errorcode":{"type":"string"}}}}}}}}}},"Forbidden_403":{"description":"Given authorization scopes are not sufficient and do not match the scopes required by the endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorMessage"}}}},"InternalServiceError_500":{"description":"Some server-side error occurred. Details are provided in the response payload.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorMessage"}}}}},"schemas":{"errorMessage":{"type":"object","title":"error","description":"Schema for API-specific errors.","properties":{"code":{"minimum":100,"maximum":599,"description":"Original HTTP error code, should be consistent with the response HTTP code.","type":"integer"},"status":{"description":"Original HTTP error reason.","type":"string"},"message":{"description":"Descriptive error message for debugging","type":"string"},"details":{"description":"List of problems causing this error.","type":"array","items":{"title":"errorDetail","description":"schema for specific error cause","type":"string"}},"errorCode":{"type":"string","description":"Additional error code."}}}}},"paths":{"/price/{tenant}/price-lists/{priceListId}/prices/bulk":{"delete":{"summary":"Deleting multiple prices from a price list","operationId":"DELETE-price-remove-multiple-prices-from-price-list","tags":["Prices assigned to price lists"],"description":"Deletes multiple prices from a specified price list. The maximum batch size is 200.\n\nTo indicate which prices should be deleted from the price list, you need to put their IDs in an array of strings and send it through the request body. The request body should look like this: `[\"exampleID1\", \"exampleID2\"]`","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"204":{"description":"Price list's prices have successfully been deleted."},"401":{"$ref":"#/components/responses/Unauthorized_401"},"403":{"$ref":"#/components/responses/Forbidden_403"},"500":{"$ref":"#/components/responses/InternalServiceError_500"}}}}}}
```

## Searching for prices assigned to a price list

> Searches for prices assigned to a specified price list.

```json
{"openapi":"3.0.0","info":{"title":"Price Service","version":"0.0.1"},"tags":[{"name":"Prices assigned to price lists"}],"servers":[{"url":"https://api.emporix.io"}],"security":[{"OAuth2":["price.pricelist_read"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.emporix.io/oauth/token","scopes":{"price.price_manage":"Needed to manage prices.","price.price_read":"Needed to retrieve prices.","price.price_own":"Needed to calculate product prices (legacy).","price.prod_price_calculate":"Needed to calculate prices and synchronize sale prices (legacy).","price.price_delete_all":"Needed to delete all prices at once (legacy).","price.price_match_own":"Needed to use the price matching functionality based on information from the session context.","price.pricemodel_manage":"Needed to manage price models.","price.pricemodel_read":"Needed to retrieve price models.","price.price_manage_by_vendor":"Needed to manage prices belonging to the vendor."}}}}},"parameters":{"trait_paged_pageNumber":{"name":"pageNumber","in":"query","description":"Page number to be retrieved. The number of the first page is 1.\n\n**Note:** If the `pageNumber` parameter is passed, size of the pages must be specified in the `pageSize` parameter.\n","schema":{"default":1,"minimum":1,"type":"integer"}},"trait_paged_pageSize":{"name":"pageSize","in":"query","description":"Number of items to be retrieved per page.\n","schema":{"default":60,"minimum":1,"type":"integer"}},"trait_sort":{"in":"query","name":"sort","required":false,"description":"List of properties used to sort the results, separated by colons. The order of properties indicates their priority in sorting.\n\nPossible values:\n* `{fieldName}`\n* `{fieldName}:asc`\n* `{fieldName}:desc`\n\n**Note:** If you want to sort the results by localized properties, the possible values are:\n  * `{fieldName}.{language}`\n  * `{fieldName}.{language}:asc`\n  * `{fieldName}.{language}:desc`\n\nIf the sorting direction is not specified, the fields are sorted in ascending order.","schema":{"type":"string"}},"trait_XTotalCount_header":{"in":"header","name":"X-Total-Count","required":false,"description":"Flag indicating whether the total count of retrieved items should be returned.","schema":{"default":false,"type":"boolean"}}},"schemas":{"searchRequest":{"type":"object","properties":{"q":{"type":"string","description":"A standard query parameter is used to search for specific values. \n\nSee: [Standard practises - Query parameter](https://developer.emporix.io/api-references/standard-practices/q-param)\n"}}},"priceListPrice":{"title":"priceListPrice","allOf":[{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the price that belongs to a price list, generated when the price is created and added to the price list."}}},{"$ref":"#/components/schemas/priceListPriceCore"},{"type":"object","properties":{"metadata":{"$ref":"#/components/schemas/metadata"}}}]},"priceListPriceCore":{"title":"priceListPriceCore","properties":{"itemId":{"type":"object","description":"Item for which the price is defined.","properties":{"itemType":{"type":"string","description":"Type of the referenced item. Possible values:\n* `PRODUCT`\n* `SKU`\n\n**Note**: The `SKU` value is a `preview` value - the system does not fully operate on the SKU concept yet.\n"},"id":{"type":"string","description":"Product's unique identifier, generated when the product is created through the Product Service.\n"}}},"priceModelId":{"type":"string","description":"ID of the price model to which the price is assigned. If the ID is not provided, the default price model is used."},"tierValues":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/tierValueCreation"},{"type":"object","properties":{"priceValue":{"type":"number","description":"This field should contain a net price given by a number where the cent part is separated by a dot sign - such as `12.99`.\n\n**Note**: The cent part of the price is not limited to two digits. You can specify the price with any precision."}}}]}}}},"tierValueCreation":{"description":"","type":"object","properties":{"id":{"type":"string","description":"An identifier of a tier. The ID is required only if the priceModelId is provided. If the price model is the default, the tier value is automatically assigned according to the default price model."},"priceValue":{"type":"number","description":"Gross price (if the `includesTax` field is set to `true`) or net price (if the `includesTax` field is set to `false`).\n\nThis field should contain by a number where the cent part is separated by a dot sign - such as `12.99`.\n\n**Note**: The cent part of the price is not limited to two digits. You can specify the price with any precision."}},"required":["priceValue"]},"metadata":{"type":"object","properties":{"createdAt":{"description":"Date and time when the price was created.","type":"string"},"modifiedAt":{"description":"Date and time when the price was last modified.","type":"string"},"version":{"minimum":1,"type":"integer","description":"Version of the price object. If provided optimistic locking will be enabled and it has to match version in the database"}}},"errorMessage":{"type":"object","title":"error","description":"Schema for API-specific errors.","properties":{"code":{"minimum":100,"maximum":599,"description":"Original HTTP error code, should be consistent with the response HTTP code.","type":"integer"},"status":{"description":"Original HTTP error reason.","type":"string"},"message":{"description":"Descriptive error message for debugging","type":"string"},"details":{"description":"List of problems causing this error.","type":"array","items":{"title":"errorDetail","description":"schema for specific error cause","type":"string"}},"errorCode":{"type":"string","description":"Additional error code."}}}},"responses":{"Unauthorized_401":{"description":"Given request is unauthorized - the authorization token is invalid or has expired. Details are provided in the response payload.","content":{"application/json":{"schema":{"type":"object","properties":{"fault":{"type":"object","properties":{"faultstring":{"type":"string"},"detail":{"type":"object","properties":{"errorcode":{"type":"string"}}}}}}}}}},"Forbidden_403":{"description":"Given authorization scopes are not sufficient and do not match the scopes required by the endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorMessage"}}}},"InternalServiceError_500":{"description":"Some server-side error occurred. Details are provided in the response payload.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorMessage"}}}}}},"paths":{"/price/{tenant}/price-lists/{priceListId}/prices/search":{"post":{"tags":["Prices assigned to price lists"],"summary":"Searching for prices assigned to a price list","description":"Searches for prices assigned to a specified price list.","parameters":[{"$ref":"#/components/parameters/trait_paged_pageNumber"},{"$ref":"#/components/parameters/trait_paged_pageSize"},{"$ref":"#/components/parameters/trait_sort"},{"$ref":"#/components/parameters/trait_XTotalCount_header"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/searchRequest"}}}},"responses":{"200":{"description":"The request was successful. A list of prices is returned.","headers":{"X-Total-Count":{"schema":{"type":"integer"},"description":"Total number of retrieved prices."}},"content":{"application/json":{"schema":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/priceListPrice"}]}}}}},"401":{"$ref":"#/components/responses/Unauthorized_401"},"403":{"$ref":"#/components/responses/Forbidden_403"},"500":{"$ref":"#/components/responses/InternalServiceError_500"}},"operationId":"POST-price-search-prices-in-price-list"}}}}
```

## Retrieving a price list's price details

> Retrieves details for a specified price that belongs to a price list.

```json
{"openapi":"3.0.0","info":{"title":"Price Service","version":"0.0.1"},"tags":[{"name":"Prices assigned to price lists"}],"servers":[{"url":"https://api.emporix.io"}],"security":[{"OAuth2":["price.pricelist_read"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.emporix.io/oauth/token","scopes":{"price.price_manage":"Needed to manage prices.","price.price_read":"Needed to retrieve prices.","price.price_own":"Needed to calculate product prices (legacy).","price.prod_price_calculate":"Needed to calculate prices and synchronize sale prices (legacy).","price.price_delete_all":"Needed to delete all prices at once (legacy).","price.price_match_own":"Needed to use the price matching functionality based on information from the session context.","price.pricemodel_manage":"Needed to manage price models.","price.pricemodel_read":"Needed to retrieve price models.","price.price_manage_by_vendor":"Needed to manage prices belonging to the vendor."}}}}},"parameters":{"header_acceptLanguageV2":{"name":"Accept-Language","in":"header","required":false,"schema":{"type":"string"},"description":"List of language codes acceptable for the response. You can specify factors that indicate which language should be retrieved if the one with a higher factor was not found in the localized fields.\n* If the header is set to a particular language or a list of languages, all localized fields are retrieved as a map of single translation, where the key is a language code and the value is in a respective language.\n* If the header is set to `*`, all localized fields are retrieved as maps of translations, where the keys are language codes and values are the fields in their respective languages.\n* If the header is empty, localized fields are retrieved as maps of single translation, where the key is a language code and the value is in a respective language. The endpoint will asume that the localized fields are provided in the default language defined in the Configuration Service.\n"}},"schemas":{"priceListPrice":{"title":"priceListPrice","allOf":[{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the price that belongs to a price list, generated when the price is created and added to the price list."}}},{"$ref":"#/components/schemas/priceListPriceCore"},{"type":"object","properties":{"metadata":{"$ref":"#/components/schemas/metadata"}}}]},"priceListPriceCore":{"title":"priceListPriceCore","properties":{"itemId":{"type":"object","description":"Item for which the price is defined.","properties":{"itemType":{"type":"string","description":"Type of the referenced item. Possible values:\n* `PRODUCT`\n* `SKU`\n\n**Note**: The `SKU` value is a `preview` value - the system does not fully operate on the SKU concept yet.\n"},"id":{"type":"string","description":"Product's unique identifier, generated when the product is created through the Product Service.\n"}}},"priceModelId":{"type":"string","description":"ID of the price model to which the price is assigned. If the ID is not provided, the default price model is used."},"tierValues":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/tierValueCreation"},{"type":"object","properties":{"priceValue":{"type":"number","description":"This field should contain a net price given by a number where the cent part is separated by a dot sign - such as `12.99`.\n\n**Note**: The cent part of the price is not limited to two digits. You can specify the price with any precision."}}}]}}}},"tierValueCreation":{"description":"","type":"object","properties":{"id":{"type":"string","description":"An identifier of a tier. The ID is required only if the priceModelId is provided. If the price model is the default, the tier value is automatically assigned according to the default price model."},"priceValue":{"type":"number","description":"Gross price (if the `includesTax` field is set to `true`) or net price (if the `includesTax` field is set to `false`).\n\nThis field should contain by a number where the cent part is separated by a dot sign - such as `12.99`.\n\n**Note**: The cent part of the price is not limited to two digits. You can specify the price with any precision."}},"required":["priceValue"]},"metadata":{"type":"object","properties":{"createdAt":{"description":"Date and time when the price was created.","type":"string"},"modifiedAt":{"description":"Date and time when the price was last modified.","type":"string"},"version":{"minimum":1,"type":"integer","description":"Version of the price object. If provided optimistic locking will be enabled and it has to match version in the database"}}},"errorMessage":{"type":"object","title":"error","description":"Schema for API-specific errors.","properties":{"code":{"minimum":100,"maximum":599,"description":"Original HTTP error code, should be consistent with the response HTTP code.","type":"integer"},"status":{"description":"Original HTTP error reason.","type":"string"},"message":{"description":"Descriptive error message for debugging","type":"string"},"details":{"description":"List of problems causing this error.","type":"array","items":{"title":"errorDetail","description":"schema for specific error cause","type":"string"}},"errorCode":{"type":"string","description":"Additional error code."}}}},"responses":{"Unauthorized_401":{"description":"Given request is unauthorized - the authorization token is invalid or has expired. Details are provided in the response payload.","content":{"application/json":{"schema":{"type":"object","properties":{"fault":{"type":"object","properties":{"faultstring":{"type":"string"},"detail":{"type":"object","properties":{"errorcode":{"type":"string"}}}}}}}}}},"Forbidden_403":{"description":"Given authorization scopes are not sufficient and do not match the scopes required by the endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorMessage"}}}},"InternalServiceError_500":{"description":"Some server-side error occurred. Details are provided in the response payload.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorMessage"}}}}}},"paths":{"/price/{tenant}/price-lists/{priceListId}/prices/{priceId}":{"get":{"tags":["Prices assigned to price lists"],"operationId":"GET-price-retrieve-prices-from-price-list","summary":"Retrieving a price list's price details","description":"Retrieves details for a specified price that belongs to a price list.","parameters":[{"$ref":"#/components/parameters/header_acceptLanguageV2"}],"responses":{"200":{"description":"The request was successful. The price list's price is returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/priceListPrice"}}}},"401":{"$ref":"#/components/responses/Unauthorized_401"},"403":{"$ref":"#/components/responses/Forbidden_403"},"404":{"description":"The requested price list's price could not be found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorMessage"}}}},"500":{"$ref":"#/components/responses/InternalServiceError_500"}}}}}}
```

## Upserting a price in a price list

> Updates a specified price list's price, or creates a new price in a price list if a price with the specified ID doesn't exist yet.

```json
{"openapi":"3.0.0","info":{"title":"Price Service","version":"0.0.1"},"tags":[{"name":"Prices assigned to price lists"}],"servers":[{"url":"https://api.emporix.io"}],"security":[{"OAuth2":["price.pricelist_manage"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.emporix.io/oauth/token","scopes":{"price.price_manage":"Needed to manage prices.","price.price_read":"Needed to retrieve prices.","price.price_own":"Needed to calculate product prices (legacy).","price.prod_price_calculate":"Needed to calculate prices and synchronize sale prices (legacy).","price.price_delete_all":"Needed to delete all prices at once (legacy).","price.price_match_own":"Needed to use the price matching functionality based on information from the session context.","price.pricemodel_manage":"Needed to manage price models.","price.pricemodel_read":"Needed to retrieve price models.","price.price_manage_by_vendor":"Needed to manage prices belonging to the vendor."}}}}},"parameters":{"header_contentLanguageV2":{"name":"Content-Language","in":"header","required":false,"schema":{"type":"string"},"description":"List of languages in which localized fields in the request body are provided.\n\n* If the `Content-Language` header is set to `*`, the localized fields should be provided as maps of translations, where the keys are language codes and values are the fields in their respective languages.\n* If the `Content-Language` header is set to a specific language, then the localized fields should be provided as a map of single translation, where the key is a language code and the value is in a respective language.\n* If the `Content-Language` header is empty, then the localized fields should be provided as maps of single translation, where the key is a language code and the value is in a respective language. The endpoint will asume that the localized fields are provided in the default language defined in the Configuration Service.\n\n**Note**: You can provide the localized fields only in languages defined in the Configuration Service. In case the fields are provided in languages that are not defined in the Configuration Service, the request will be rejected.\n"}},"schemas":{"priceListPriceUpdate":{"title":"priceListPriceUpdate","allOf":[{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the price that belongs to a price list, generated when the price is created and added to the price list."}}},{"$ref":"#/components/schemas/priceListPriceCore","required":["itemId","priceModelId","tierValues"]},{"type":"object","properties":{"metadata":{"properties":{"version":{"type":"number","description":"Current version of the object."}},"required":["version"]}}}],"required":["metadata","id"]},"priceListPriceCore":{"title":"priceListPriceCore","properties":{"itemId":{"type":"object","description":"Item for which the price is defined.","properties":{"itemType":{"type":"string","description":"Type of the referenced item. Possible values:\n* `PRODUCT`\n* `SKU`\n\n**Note**: The `SKU` value is a `preview` value - the system does not fully operate on the SKU concept yet.\n"},"id":{"type":"string","description":"Product's unique identifier, generated when the product is created through the Product Service.\n"}}},"priceModelId":{"type":"string","description":"ID of the price model to which the price is assigned. If the ID is not provided, the default price model is used."},"tierValues":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/tierValueCreation"},{"type":"object","properties":{"priceValue":{"type":"number","description":"This field should contain a net price given by a number where the cent part is separated by a dot sign - such as `12.99`.\n\n**Note**: The cent part of the price is not limited to two digits. You can specify the price with any precision."}}}]}}}},"tierValueCreation":{"description":"","type":"object","properties":{"id":{"type":"string","description":"An identifier of a tier. The ID is required only if the priceModelId is provided. If the price model is the default, the tier value is automatically assigned according to the default price model."},"priceValue":{"type":"number","description":"Gross price (if the `includesTax` field is set to `true`) or net price (if the `includesTax` field is set to `false`).\n\nThis field should contain by a number where the cent part is separated by a dot sign - such as `12.99`.\n\n**Note**: The cent part of the price is not limited to two digits. You can specify the price with any precision."}},"required":["priceValue"]},"errorMessage":{"type":"object","title":"error","description":"Schema for API-specific errors.","properties":{"code":{"minimum":100,"maximum":599,"description":"Original HTTP error code, should be consistent with the response HTTP code.","type":"integer"},"status":{"description":"Original HTTP error reason.","type":"string"},"message":{"description":"Descriptive error message for debugging","type":"string"},"details":{"description":"List of problems causing this error.","type":"array","items":{"title":"errorDetail","description":"schema for specific error cause","type":"string"}},"errorCode":{"type":"string","description":"Additional error code."}}}},"responses":{"Created_201":{"description":"The resource has been created.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Identifier of a newly created item."}}}}}},"Unauthorized_401":{"description":"Given request is unauthorized - the authorization token is invalid or has expired. Details are provided in the response payload.","content":{"application/json":{"schema":{"type":"object","properties":{"fault":{"type":"object","properties":{"faultstring":{"type":"string"},"detail":{"type":"object","properties":{"errorcode":{"type":"string"}}}}}}}}}},"Forbidden_403":{"description":"Given authorization scopes are not sufficient and do not match the scopes required by the endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorMessage"}}}},"InternalServiceError_500":{"description":"Some server-side error occurred. Details are provided in the response payload.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorMessage"}}}}}},"paths":{"/price/{tenant}/price-lists/{priceListId}/prices/{priceId}":{"put":{"tags":["Prices assigned to price lists"],"operationId":"PUT-price-update-price-in-price-list","summary":"Upserting a price in a price list","description":"Updates a specified price list's price, or creates a new price in a price list if a price with the specified ID doesn't exist yet.","parameters":[{"$ref":"#/components/parameters/header_contentLanguageV2"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/priceListPriceUpdate"}}}},"responses":{"201":{"$ref":"#/components/responses/Created_201"},"204":{"description":"The request was successful. The price has been updated.\n"},"401":{"$ref":"#/components/responses/Unauthorized_401"},"403":{"$ref":"#/components/responses/Forbidden_403"},"404":{"description":"The requested price list's price could not be found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorMessage"}}}},"500":{"$ref":"#/components/responses/InternalServiceError_500"}}}}}}
```

## Deleting a price from a price list

> Deletes a specified price list's price.

```json
{"openapi":"3.0.0","info":{"title":"Price Service","version":"0.0.1"},"tags":[{"name":"Prices assigned to price lists"}],"servers":[{"url":"https://api.emporix.io"}],"security":[{"OAuth2":["price.pricelist_manage"]}],"components":{"securitySchemes":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://api.emporix.io/oauth/token","scopes":{"price.price_manage":"Needed to manage prices.","price.price_read":"Needed to retrieve prices.","price.price_own":"Needed to calculate product prices (legacy).","price.prod_price_calculate":"Needed to calculate prices and synchronize sale prices (legacy).","price.price_delete_all":"Needed to delete all prices at once (legacy).","price.price_match_own":"Needed to use the price matching functionality based on information from the session context.","price.pricemodel_manage":"Needed to manage price models.","price.pricemodel_read":"Needed to retrieve price models.","price.price_manage_by_vendor":"Needed to manage prices belonging to the vendor."}}}}},"responses":{"Unauthorized_401":{"description":"Given request is unauthorized - the authorization token is invalid or has expired. Details are provided in the response payload.","content":{"application/json":{"schema":{"type":"object","properties":{"fault":{"type":"object","properties":{"faultstring":{"type":"string"},"detail":{"type":"object","properties":{"errorcode":{"type":"string"}}}}}}}}}},"Forbidden_403":{"description":"Given authorization scopes are not sufficient and do not match the scopes required by the endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorMessage"}}}},"InternalServiceError_500":{"description":"Some server-side error occurred. Details are provided in the response payload.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errorMessage"}}}}},"schemas":{"errorMessage":{"type":"object","title":"error","description":"Schema for API-specific errors.","properties":{"code":{"minimum":100,"maximum":599,"description":"Original HTTP error code, should be consistent with the response HTTP code.","type":"integer"},"status":{"description":"Original HTTP error reason.","type":"string"},"message":{"description":"Descriptive error message for debugging","type":"string"},"details":{"description":"List of problems causing this error.","type":"array","items":{"title":"errorDetail","description":"schema for specific error cause","type":"string"}},"errorCode":{"type":"string","description":"Additional error code."}}}}},"paths":{"/price/{tenant}/price-lists/{priceListId}/prices/{priceId}":{"delete":{"summary":"Deleting a price from a price list","operationId":"DELETE-price-remove-price-from-price-list","tags":["Prices assigned to price lists"],"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":false},"responses":{"204":{"description":"The request was successful. The price has been deleted from the price list."},"401":{"$ref":"#/components/responses/Unauthorized_401"},"403":{"$ref":"#/components/responses/Forbidden_403"},"500":{"$ref":"#/components/responses/InternalServiceError_500"}},"description":"Deletes a specified price list's price."}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.emporix.io/api-references/api-guides/prices-and-taxes/price-service/api-reference/prices-assigned-to-price-lists.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
