---
title: Prices
slug: merchant-api/prices
createdAt: 2021-10-07T15:02:11.000Z
---

# Definition

Prices correspond to the tax included prices for that product. One given product may have multiple prices in several different currencies.

They can be used to define shipping cost, selling price, promotion prices, etc. A price sent via the API must be configured via the publication rule before it can be sent to a given Marketplace.

:::hint{type="success"}
- Marketplaces each have their own pricing policy. Configuration per Marketplace can be reviewed and defined in the user interface.



- A single price field can be used on several Marketplaces. Make good use of the multiple price fields at your disposal



- different currency values don't overlap even when sent in the same price field.
  *E.g.: `price_fixed` in EUR and `price_fixed` in GBP can be maintained separately.*

:::

# Endpoints

## Update prices

### Endpoint definition

| `PATCH`             | `/merchant/items/prices`                                                                                                                                                                         |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Description**     | Update multiple item `prices` and in any `currency_id` available.                                                                                                                                |
| **Required scope**  | `price_manager`                                                                                                                                                                                  |
| **Request payload** |  You can send up to 200 items in the same request. If you have more items to update during a price update iteration, make sure to batch your updates in subsequent requests.                     |
| **Returns**         | **-&#x20;**&#x49;f the entire payload is successfuly processed, the API will not return a body.<br />**-** If the payload contains errors, they will be displayed per item in the response body. |

:::hint{type="success"}
**Price updates Rules of thumb:&#x20;**

- You cannot create new SKU's with this endpoint. Price updates only work on already existing SKU's.&#x20;
- Only send price updates on products which changed since last iteration: avoid sending unnecessary items.
- Parse the body of the response: errors are included and should be fixed before re-submitting.
- Trust the API response: if it says "OK", then you don't need to retrieve prices to check if it matches what you sent.
:::

**example:**

:::CodeblockTabs
price update

```curl
curl --request PATCH \
  --url https://api.neteven.com/v1/merchant/items/stocks \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer $MYTOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "items": [
      {
        "sku": "68471-NPO-GFM",
        "prices": [
          {
            "currency_id": "EUR",
            "name": "price_fixed",
            "value": 65.0
          },
          {
            "currency_id": "GBP",
            "name": "price_fixed",
            "value": 50.0
          },
          {
            "currency_id": "EUR",
            "name": "price_additional_116",
            "value": 65.0
          }
        ]
      }
    ]
  }'
```

207 Multi Status response

```javascript
{
  "data": {
    "items": [
      {
        "sku": "68471-NPO-GFM",
        "status": {
          "message": "Price(s)  does not exists",
          "code": 422,
          "title": "Unprocessable entity"
        }
      }
    ]
  },
  "metadata": {
    "api_version": 1,
    "api_version_expiration_date": "2022-12-31",
    "number_of_results": 1
  }
}
```
:::

### Endpoint specific errors

**Response HTTP Header code :** `207`

**Cause:** Partial error management possible. If at least one of the SKU's submitted (or its prices) is not recognized, the request will return a HTTP 207 code, while listing the items which could not be processed in the response body:

- item code **404**: the SKU submitted does not exist on your account.
- item code **422**: the price field submitted does not exist.

**Actionable :** Fix the item select logic on your side to only include those already created in Neteven.

:::hint{type="warning"}
This error is most likely due to a erroneous integration: do NOT push SKU's which do not yet exist on your Neteven account. Create them first before trying to update their prices.
:::

**Sub status messages (**`data.items[].status`**):**

:::BlockQuote
\{
&#x9;"message": "Sku &#x7B;sku} does not exist",
&#x9;"code": 404,
&#x9;"title": "Not Found
}
:::

:::BlockQuote
\{
&#x9;"message": "Price(s) &#x7B;unrecognized-price-fields} does not exists",
&#x9;"code": 422,
&#x9;"title": "Unprocessable entity"
}
:::

***

## Retrieve item prices

### Endpoint definition

| `GET`              | `/merchant/items/prices`                                                                                                                                            |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Description**    | Returns the prices per SKU, as it is registered within the Neteven system.<br />                                                                                    |
| **Required scope** | `price_reader`                                                                                                                                                      |
| **Pagination**     | Please note that by default a maximum of<br />100 items will be displayed in a response. Please use parameters to<br />get results customized to your requirements. |
| **Filtering**      | use filtering to scope specific SKU's or EAN codes when calling.                                                                                                    |
| **Returns**        | array of `item` objects, including their filled in prices. Prices which don't exist on a given SKU will not be returned.                                            |

**Example:**

:::CodeblockTabs
Get prices

```curl
curl --request GET \
  --url https://api.neteven.com/v1/merchant/items/prices?limit=1 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer $MYTOKEN' \
  --header 'Content-Type: application/json'
```

200 OK Response

```javascript
{
  "data": {
    "items": [
      {
        "sku": "68471-NPO-GFM",
        "prices": [
          {
            "currency_id": "EUR",
            "name": "price_fixed",
            "value": 65.0
          },
          {
            "currency_id": "GBP",
            "name": "price_fixed",
            "value": 50.0
          },
          {
            "currency_id": "EUR",
            "name": "price_additional_116",
            "value": 65.0
          }
        ]
      }
    ]
  },
  "metadata": {
    "number_of_results": 1,
    "api_version": 1,
    "api_version_expiration_date": "2022-12-31",
    "total_count": 188008,
    "limit": 1,
    "offset": 0
  }
}
```
:::

### Endpoint specific errors

:::hint{type="success"}
There is no error returned by this view (it will always return a `HTTP 200` status code).

If no item in our system match the submitted query parameter filtering criteria, the response body will simply be an empty list.
:::

:::hint{type="success"}
There is no error returned by this view (it will always return a `HTTP 200` status code).

If no item in our system match the submitted query parameter filtering criteria, the response body will simply be an empty list.
:::

***

# API reference

*more information on parameters, responses and content in the&#x20;*[API Reference](docId\:yWeBKEf7Kqp3agiK6LtoJ)&#x20;

