---
title: "Update specific listing"
method: POST
path: "/ws/listings/{listingId}"
tags: ["Listings"]
---

# Update specific listing

`POST /ws/listings/{listingId}`

It is possible to update some fields of a specific `Listing`. For example _you might want to add another country to the `Listing`. You might also need to change the price, comment or the available stock (quantity)._

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

The endpoint below provides the most efficient way to update a specific `Listing`, as the update will be taken into account in real-time. Yet, you can only update one `Listing` at a time on this endpoint as opposed to the endpoint to update several listings.

If you work with other marketplaces, **DO NOT forget** to update your stocks on Back Market in order not to be compelled to cancel orders. We strongly penalize high cancellation rates in our algorithm, which allocates `Backbox`.

Updating in real time is especially important when your stock for the listing is close to 0.

When an order is made on Back Market, you don't need to decrease the stock in our database since we decrease it automatically.

You just need to specify field(s) you would like to change. All the others will be kept intact.

## Request body

- object
  - `price` union — Price of the listing in the 'currency'. String format is prefered to avoid any issue related to the floating-point number precision.
    - string
    - number
  - `currency` string — Currency of 'price' in ISO 4217 code format. If 'price' is in the request, this field must match the currency of the market selected with the 'Accept-Language' header. Defaults to EUR for the EU marketplace, USD for the US one. Thus this field is required for markets where the currency is not these defaults.
  - `comment` string, nullable — Comment. Maximum 500 characters.
  - `warranty_delay` union — Warranty period in months (12 months minimum).
    - integer
    - string
  - `quantity` union — Available stock.
    - integer
    - string
  - `shipper_1` 'Allied Express' | 'Aramex Australia' | 'Australia Post' | 'Australia Post Express' | 'Austrian Post' | 'BPost' | 'BRT' | 'Chronopost' | 'Chronopost Express' | 'ColisPrivé' | 'Colissimo' | 'Correos' | 'Correos Express' | 'Couriers Please' | 'CTT' | 'Cubyn' | 'Cubyn Express' | 'DB Schenker' | 'Deutsche Post' | 'DHL' | 'DHL DE' | 'DHL Express' | 'DHL  EXPRESS' | 'DHL NL' | 'DHL Parcel Spain' | 'DHL SP' | 'DPD' | 'DPD Benelux' | 'DPD DE' | 'DPD FR' | 'DPD International' | 'DPD UK' | 'DPD UK Express' | 'DTDC Australia' | 'FedEx' | 'FedEx - 2Days' | 'FedEx Express' | 'FedEx International' | 'FedEx - Overnight' | 'Geodis' | 'Girard Agediss - Livraison dans la pièce de votre choix sur RDV' | 'GLS' | 'GLS - DE' | 'GLS - FR' | 'GLS International' | 'GLS - IT' | 'GLS-SPAIN' | 'GLS Spain Express' | 'Hermes - DE' | 'Hermes - UK' | 'Japan Post' | 'Livraison au pied du camion' | 'Livraison dans la pièce de votre choix' | 'Logoix' | 'MRW' | 'Murfy transporteur' | 'NACEX' | 'ParcelForce Express' | 'Parcelforce (Worldwide)' | 'Parcelpoint Pty Ltd' | 'Poste Italiane' | 'Post NL' | 'Private Transporter' | 'Royal Mail' | 'Royal Mail Express' | 'Sagawa' | 'Seino' | 'Sendle' | 'Seur' | 'Socolissimo' | 'Star Track Express' | 'TIPSA' | 'TIPSA Express' | 'TNT' | 'TNT Australia' | 'TNT Express' | 'Tourline' | 'UPS' | 'UPS 2 days' | 'UPS 2nd Day Air' | 'UPS Express' | 'UPS express save' | 'UPS Ground' | 'UPS next day' | 'UPS Overnight' | 'UPS standard' | 'USPS' | 'USPS Express' | 'USPS - First Class' | 'USPS - Priority Mail' | 'USPS - Priority Mail Express' | 'VIR' | 'Yamato' | 'Zeleris' | 'Other', nullable — Name of the shipper, the company that manages the delivery. Some shippers may not be available in all countries. Call us to add your shipper.
  - `shipper_display_1` string, nullable — The displayed name for the shipper.
  - `shipping_delay_1` integer, nullable — Expected shipping delay in hours.
  - `shipping_price_1` union — Price of the shipping option, using currency of listing. String format is prefered to avoid any issue related to the floating-point number precision.
    - string
    - number
  - `shipper_2` 'Allied Express' | 'Aramex Australia' | 'Australia Post' | 'Australia Post Express' | 'Austrian Post' | 'BPost' | 'BRT' | 'Chronopost' | 'Chronopost Express' | 'ColisPrivé' | 'Colissimo' | 'Correos' | 'Correos Express' | 'Couriers Please' | 'CTT' | 'Cubyn' | 'Cubyn Express' | 'DB Schenker' | 'Deutsche Post' | 'DHL' | 'DHL DE' | 'DHL Express' | 'DHL  EXPRESS' | 'DHL NL' | 'DHL Parcel Spain' | 'DHL SP' | 'DPD' | 'DPD Benelux' | 'DPD DE' | 'DPD FR' | 'DPD International' | 'DPD UK' | 'DPD UK Express' | 'DTDC Australia' | 'FedEx' | 'FedEx - 2Days' | 'FedEx Express' | 'FedEx International' | 'FedEx - Overnight' | 'Geodis' | 'Girard Agediss - Livraison dans la pièce de votre choix sur RDV' | 'GLS' | 'GLS - DE' | 'GLS - FR' | 'GLS International' | 'GLS - IT' | 'GLS-SPAIN' | 'GLS Spain Express' | 'Hermes - DE' | 'Hermes - UK' | 'Japan Post' | 'Livraison au pied du camion' | 'Livraison dans la pièce de votre choix' | 'Logoix' | 'MRW' | 'Murfy transporteur' | 'NACEX' | 'ParcelForce Express' | 'Parcelforce (Worldwide)' | 'Parcelpoint Pty Ltd' | 'Poste Italiane' | 'Post NL' | 'Private Transporter' | 'Royal Mail' | 'Royal Mail Express' | 'Sagawa' | 'Seino' | 'Sendle' | 'Seur' | 'Socolissimo' | 'Star Track Express' | 'TIPSA' | 'TIPSA Express' | 'TNT' | 'TNT Australia' | 'TNT Express' | 'Tourline' | 'UPS' | 'UPS 2 days' | 'UPS 2nd Day Air' | 'UPS Express' | 'UPS express save' | 'UPS Ground' | 'UPS next day' | 'UPS Overnight' | 'UPS standard' | 'USPS' | 'USPS Express' | 'USPS - First Class' | 'USPS - Priority Mail' | 'USPS - Priority Mail Express' | 'VIR' | 'Yamato' | 'Zeleris' | 'Other', nullable — Name of the shipper, the company that manages the delivery. Some shippers may not be available in all countries. Call us to add your shipper.
  - `shipper_display_2` string, nullable — The displayed name for the shipper.
  - `shipping_delay_2` integer, nullable — Expected shipping delay in hours.
  - `shipping_price_2` union — Price of the shipping option, using currency of listing. String format is prefered to avoid any issue related to the floating-point number precision.
    - string
    - number
  - `shipper_3` 'Allied Express' | 'Aramex Australia' | 'Australia Post' | 'Australia Post Express' | 'Austrian Post' | 'BPost' | 'BRT' | 'Chronopost' | 'Chronopost Express' | 'ColisPrivé' | 'Colissimo' | 'Correos' | 'Correos Express' | 'Couriers Please' | 'CTT' | 'Cubyn' | 'Cubyn Express' | 'DB Schenker' | 'Deutsche Post' | 'DHL' | 'DHL DE' | 'DHL Express' | 'DHL  EXPRESS' | 'DHL NL' | 'DHL Parcel Spain' | 'DHL SP' | 'DPD' | 'DPD Benelux' | 'DPD DE' | 'DPD FR' | 'DPD International' | 'DPD UK' | 'DPD UK Express' | 'DTDC Australia' | 'FedEx' | 'FedEx - 2Days' | 'FedEx Express' | 'FedEx International' | 'FedEx - Overnight' | 'Geodis' | 'Girard Agediss - Livraison dans la pièce de votre choix sur RDV' | 'GLS' | 'GLS - DE' | 'GLS - FR' | 'GLS International' | 'GLS - IT' | 'GLS-SPAIN' | 'GLS Spain Express' | 'Hermes - DE' | 'Hermes - UK' | 'Japan Post' | 'Livraison au pied du camion' | 'Livraison dans la pièce de votre choix' | 'Logoix' | 'MRW' | 'Murfy transporteur' | 'NACEX' | 'ParcelForce Express' | 'Parcelforce (Worldwide)' | 'Parcelpoint Pty Ltd' | 'Poste Italiane' | 'Post NL' | 'Private Transporter' | 'Royal Mail' | 'Royal Mail Express' | 'Sagawa' | 'Seino' | 'Sendle' | 'Seur' | 'Socolissimo' | 'Star Track Express' | 'TIPSA' | 'TIPSA Express' | 'TNT' | 'TNT Australia' | 'TNT Express' | 'Tourline' | 'UPS' | 'UPS 2 days' | 'UPS 2nd Day Air' | 'UPS Express' | 'UPS express save' | 'UPS Ground' | 'UPS next day' | 'UPS Overnight' | 'UPS standard' | 'USPS' | 'USPS Express' | 'USPS - First Class' | 'USPS - Priority Mail' | 'USPS - Priority Mail Express' | 'VIR' | 'Yamato' | 'Zeleris' | 'Other', nullable — Name of the shipper, the company that manages the delivery. Some shippers may not be available in all countries. Call us to add your shipper.
  - `shipper_display_3` string, nullable — The displayed name for the shipper.
  - `shipping_delay_3` integer, nullable — Expected shipping delay in hours.
  - `shipping_price_3` union — Price of the shipping option, using currency of listing. String format is prefered to avoid any issue related to the floating-point number precision.
    - string
    - number
  - `min_price` union — Your minimum acceptable price. The BackPricer needs to be enabled in your seller configuration. More information about BackPricer at https://merchant-support.backmarket.com/hc/en-us/articles/4415101044370-How-to-use-the-BackPricer- min_price must be satisfy: * `1.08 * min_price >= price` * `min_price <= price` If these conditions are not respected, min_price is automatically set to the current price: the request's minimum price will not be applied as submitted.
    - string
    - number

## Response `200`

OK. Update processed.
Note that some processing can be done asynchronously (Backbox, search indexing, etc).

- object
  - `id` string, uuid, required — Listing ID
  - `listing_id` integer, required — Listing ID (deprecated)
  - `product_id` string, uuid — Product ID
  - `backmarket_id` integer, required — Product ID (deprecated)
  - `title` string, required — Product title
  - `shippings` object[], required — Shippings defined at listing level (if any). Does not include shippings defined at category level nor the global ones.
    - `shipping_price` string, required — Price of the shipping option, using currency of listing.
    - `shipping_delay` integer, required — Expected shipping delay in hours.
    - `shipper` string, required — The company that manages the delivery.
    - `shipper_display` string, required — The company that manages the delivery.
    - `country_code` string, required — The market where this shipping option is available. Passed as the language code of this market.
  - `state` 9 | 0 | 1 | 2 | 3 | 4, required — Deprecated, please use the "grade" field. Aethestic grade. Values: 9 (Premium), 0 (Excellent), 1 (Very good), 2 (Good), 3 (Fair), 4 (Stallone)
  - `grade` 'PREMIUM' | 'EXCELLENT' | 'VERY_GOOD' | 'GOOD' | 'FAIR' | 'STALLONE', required — Aethestic grade.
  - `quantity` integer, required — Available stock.
  - `currency` string, required — Currency of 'price'
  - `sku` string, required — SKU provided by the seller on listing creation.
  - `publication_state` 0 | 1 | 2 | 3 | 4, required
  - `warranty_delay` integer, required — Warranty period in months (12 months minimum).
  - `price` string, required — Price of the listing in the 'currency'
  - `comment` string, nullable, required — Comment. Maximum 500 characters.
  - `max_price` string, required — Maximum allowed price for this listing, or it will not be online.
  - `shippings_response` string[] — Success and failure messages related to processing of shippings data.
  - `statuscode` integer, required
  - `min_price` string, nullable, required — Minimum acceptable price for the Backpricer.

## 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.
- `404` — Listing not found, or it does not belong to the authenticated 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)
