---
title: "Create or update products and listings"
method: POST
path: "/ws/listings"
tags: ["Listings"]
---

# Create or update products and listings

`POST /ws/listings`

## Create listings

Every merchant working with us can create a sale offer or a
"`Listing`" of a `Product` in order to sell it on our marketplace. Our algorithm decides which `Listing` will win "The Backbox" and therefore which `Listing` will be displayed on our website for the consumer to purchase.

In this section we will describe an endpoint that allows you either to create `Listings` matching existing `Products` or to create both `Products` and `Listings` for these products at the same time.
We will also present how to create `Listings` matching existing `Products`. _Please refer to the section [Create products](#create-products) to know how to create both Products and Listings for these Products in the same API call._

Note that we limit the size of the CSV file that you can send to 15000 lines.

You can find the list of columns for the `catalog` field in the Back Market back-office following the tab "Options > Batch Listing Creation".

In the `catalog` field, a unique (case insensitive) `sku` must be provided by the merchant to identify the `Listing`.

Besides, either the `product_id` field or `ean` must be provided to match the `Product` you'd like to make an offer on. `product_id` prevails in case of conflict.

You can find the list of columns for the `catalog` field in the Back Market back-office following the tab "Options > Batch Listing Creation".

## Update several listings

It is possible to update several `Listings` at a time using CSV
files, which you can send with an API call. For example _you might want to add another country to the listings. You might also need to change their prices, comments or the available stocks (quantities)._

To put a `Listing` offline, just set its quantity to 0.

The endpoint below is not as efficient as the one described in "update specific listing", because the update will NOT be taken into account in real-time.

Indeed, you will have to wait for the task to be processed and to check the task for possible errors. Yet, you will be able to update several `Listings` at a time using the endpoint below, as opposed to the one described in "update specific listing".

We advise you not to use this endpoint to deal with stocks. Nevertheless, it can be useful if you'd like to update prices for your whole catalog for instance.

Note that we limit the size of the CSV file that you can send to 15000 lines.

For the `catalog` field, the `sku` must be provided to match the `Listing` you want to update (sku is case insensitive).

## Create products

In this section, we'll guide you through the process of creating a `Product` on Back Market.

### Overview

If you wish to sell a `Product` that is not currently available on Back Market, you can propose the creation of a new `Product`. This proposal will be reviewed and either approved or rejected by our team.

**Important:** It is not possible to create a `Product` without a corresponding `Listing` using our API.

### Creating Products and Listings

This section explains how to create both `Products` and their corresponding `Listings` in a single API call.

- Each row in the CSV file you upload via the API can perform different actions based on the values provided.
- You can also [create](#create-listings) and [update](#update-several-listings) `Listings` for existing `Products` within the same API call.

### CSV File Requirements

- The CSV file you submit must not exceed 15,000 lines.
- You can generate a CSV file with all the required columns based on the product category in your back office by navigating to: **Options > Batch Listing Creation**.

By following these guidelines, you can efficiently manage your product listings on Back Market.

## Update products

After creation, since `Products` are multi-merchant, they cannot be directly updated after validation by our team.
You will have to contact us for all requests related to this matter.

In the case a `Product` hasn't been validated by our team yet, the merchant who created this `Product` can update it as long as it's not been validated. To do so, you need to perform the same actions you made during the [product creation](#create-products), but this time providing modified values.

If you try to update a `Product`, which is already existing (`EAN` or `Back Market id` match a `Product` in our Database) and has already been validated by our team, it won't return any error but the modification won't be taken into account. The product will still remain unchanged.

## Headers

- `Accept-Language` string

## Request body

- object
  - `catalog` string, required — A CSV file content as a string.
  - `quotechar` string, required — The separator of columns for the 'catalog' CSV.
  - `delimiter` string, required — The delimiter of data for the 'catalog' CSV.
  - `encoding` string, required — The encoding of data for the 'catalog' CSV.

## Response `200`

OK. Task has been created and will be processed.

- object
  - `bodymessage` integer, required — The batch identifier that can be used to retrieve its status with the Get batch API [/ws/tasks/{taskId}](https://api.backmarket.dev/#/paths/ws-tasks-taskId/get).
  - `statuscode` integer, required

## Other responses

- `400` — Request data is invalid. A required field might be missing.
- `401` — Unauthenticated.
- `403` — Forbidden. This ingestion channel could be disabled for the merchant.
- `429` — Too many requests. Client has been rate limited.

---

[API](https://skmtc.net/backmarket/apis/back-market-api-guidelines.md) · [All operations](https://skmtc.net/backmarket/apis/back-market-api-guidelines/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/backmarket/back-market-api-guidelines/revisions/6a1303364143/schema)
