Back Market Buy Back API

The BuyBack API from Back Market — 12 operation(s) for buyback.

OpenAPI Specification

back-market-buyback-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 0.1.1
  title: Back Market - API Guidelines Buy Back API
  description: "## Table of contents\n\n1. [Introduction](#introduction)\n1. [Getting started](#getting-started)\n1. [Technical requirements](#technical-requirements)\n1. [F.A.Q. and Contact](#faq-and-contact)\n1. [Cookbooks](#cookbooks)\n\n## Introduction\n\nWelcome to Back Market, the leading online marketplace dedicated to refurbished products.\n\nOur back-office and our web-services have been created in order to allow Seller to manage their products\neasily on our marketplace. This documentation is meant to help you integrate our marketplace and learn how to manage\nyour `Products`, `Offers` and `Orders` on Back Market.\n\n### Overview of what this documentation is talking about\n\n* Our Taxonomy : This part will describe the organization and classification of our marketplace\n* Products & Offers : You will learn how to create `Products` as well as create, update and list `Offers` on Back Market\n* Your Orders : The `Orders` workflow, listing and update will be explained\n\nDifferent solutions are offered in order to use our marketplace. It's possible to work with a combination of\nthese solutions or to switch from one to another at a later stage.\n\n1 - Back Market API:\n\nThis is the best solution for big and/or small sellers with their own technical team. Working with our API will\nenable you to synchronize your information with our database in real time. It is especially suitable for sellers\nwith long-tail catalogs as well as a large amount of sales.\n\n2 - Back-office:\n\nOur <a target=\"_blank\" href=\"https://www.backmarket.fr/bo_merchant/\"> back-office</a> offers a graphic user\ninterface which allows you to manage everything simply and efficiently.\n\nOur back-office also gives you the possibility to import and export CSV files\nwith `Products`, `Offers` and `Orders` information.\nThis allows you to work with more `Offers` comfortably.\n\n3 - DEPRECATED FTP :\n\nFTP in Back Market is deprecated. If you used to use FTP in order to connect to Back Market\nPlease contact <partner-support@backmarket.com> to help you to setup an API connexion.\n\n### Other information\n\nOn this website, we've collected all the information you might need to get on board as smoothly as possible.\nAlso, be sure to check our [F.A.Q.](#f-a-q-and-contact) to get answers to your questions.\n[Contact us](#f-a-q-and-contact) if you still have further questions.\n\n### Feedback\n\nAt Back Market, we always want to improve our solutions.\nPlease [Give Us Feedback](mailto:<partner-support@backmarket.com>?subject=Feedback Back Market Doc) and let us\n know about possible improvement we could make, be it on this documentation, our web services,\n our back-office or whatever you might think of.\nPlease note that this mail is temporary as we will deploy a new Seller support center\nthat will assist you.\n\n## Getting Started\n\nIf you did not yet read the page on [taxonomy](operations/get-bm-catalog-category#taxonomy), please do it before proceeding.\n\n### Account\n\nAfter validation by our team, each Seller gains access to an account. This account gives you access to the Back\nMarket Back Office and our API.\n\nUse one of the following links to access your Back Office account or create one if you haven't done so already.\nYou will need to provide information about your company and we will get back to you as soon as possible:\n\n* <a target=\"_blank\" href=\"https://www.backmarket.co.jp/bo-seller\">AP platform</a>\n* <a target=\"_blank\" href=\"https://www.backmarket.fr/bo-seller\">EU platform</a>\n* <a target=\"_blank\" href=\"https://www.backmarket.com/bo-seller\">US platform</a>\n\nFor creating or accessing an account on the preprod, you can use the following links:\n\n* <a target=\"_blank\" href=\"https://preprod.backmarket.co.jp/bo-seller\">AP preprod platform</a>\n* <a target=\"_blank\" href=\"https://preprod.backmarket.fr/bo-seller\">EU preprod platform</a>\n* <a target=\"_blank\" href=\"https://preprod.backmarket.com/bo-seller\">US preprod platform</a>\n\n### Country code\n\nBack Market is international so you can sell products abroad. The\ncountry code matches both the targeted language and country for the\naction you'd like to perform (ex: update the price for a listing in\nItaly).\nInformation about every countries are contained in the same instance\nof an object `Product` or a `Listing`.\n\nIndeed, you don't need to create one `Listing` for each country. This\n`Listing` will contain some fields which are the same for all the countries (_listing_id, quantity, ..._) and other\n country specific fields (_comment, price and warranty_delay_).\nTherefore, if you wish to edit the _**stock**_ (field :\n'quantity'), the change will apply to all the countries, but for the\n_**comment**_ you will have to change it for each country.\n\nIn the same way, some fields of the `Product` are common for all\ncountries (_weight, EAN, ..._), and others depend on the country\n(_description, title and price_new_).\n\n**COUNTRY_CODES** - Accepted values are :\n\n* AP platform:\n\n  * ja-jp     : Japan\n  * en-au     : Australia\n\n* EU platform:\n\n  * fr-fr     : France\n  * fr-be     : Belgium\n  * es-es     : Spain\n  * de-de     : Germany\n  * de-at     : Austria\n  * it-it     : Italy\n  * en-gb     : United Kingdom\n  * nl-nl     : Netherlands\n  * pt-pt     : Portugal\n  * en-ie     : Ireland\n  * el-gr     : Greece\n  * sk-sk     : Slovakia\n  * sv-se     : Sweden\n\n* US platform:\n\n  * en-us     : United States\n\n### CSV file format\n\nAll files imported through our Back Office or imported using Back Market's API must be in CSV format.\n\nRequired field separator is ';'.\n\nRequired line separator is the line feed '\\n'.\n\nFields must be surrounded by double quotes.\n## Technical Requirements\n\n### API Identification\n>\n> HTTP Header (will remain the same for every API call):\n\n```http\nContent-type: application/json\nAccept: application/json\nAccept-Language: COUNTRY_CODE\nAuthorization: Basic YOUR_ACCESS_TOKEN\nUser-Agent: YOUR_USER_AGENT\n```\n\nEach Integrator or Seller should use the following HTTP Header when calling Back Market API endpoints.\n\nThe User-Agent is mandatory. Any request without it might be refused by our System.\n\nIt should include your company name, application name, version, and a contact email address in this format:\n\n```http\nBM-{CompanyName}-{IntegrationName};company@companydomain.com.\n```\n\nFor example:\n\n```http\nBM-Ebay-Invoices;contact@ebay.com\nBM-bouygues-automations;contact@bouygues.fr\n```\n\n### Web application firewall (WAF) and Bot management\n\nThe WAF or bot management may block your requests for security reason. You'll typically receive an HTTP 403 Forbidden\nresponse, possibly with a response body to tell you to challenge your client with Cloudflare.\n\nIn case you judge that your request should not be blocked by Cloudflare, from the response headers, you can get the value of cf-ray and send it to your seller contact for investigation.\n\nExample HTTP 403 response from WAF:\n\n```http\nHTTP/2 403\ndate: Wed, 16 Apr 2025 11:26:41 GMT\ncontent-type: text/html; charset=UTF-8\nreferrer-policy: same-origin\ncache-control: max-age=15\nexpires: Wed, 16 Apr 2025 11:26:56 GMT\n...\nx-content-type-options: nosniff\nx-frame-options: SAMEORIGIN\nserver: cloudflare\ncf-ray: 931354450813d142-CDG\nalt-svc: h3=\":443\"; ma=86400\n```\n\nExample HTTP 403 response for Bot Management protected endpoints:\n\n```json\n{\n  \"errors\": [\n    {\n      \"code\": \"bot-need-challenge\",\n      \"message\": \"Forbidden\",\n      \"challengePath\": \"/testchallengepage\"\n    }\n  ]\n}\n```\n\n### Traffic limitation\n\nOur standard rate limits are will allow your automations to run fast enough to finish your processes.\nHowever, in case of too many requests beyond what we except on sellers endpoints, you will be presented with an HTTP 429 response from Cloudflare.\n\nUsually you will find the range above 200 requests in 10 seconds being blocked for 10 seconds and for more sensible\nendpoints like catalog for example above 20 requests in 10 seconds being blocked for 10 seconds.\n\n### Data limitation\n\nTo make sure we can handle and process all the incoming data correctly, we have set-up the following limitation:\n**We might not accept more than 2k lines of SKUs to process per hour** on the\n following endpoints ([Update Several listings](#update-several-listings) or\n  on [Update specific listing](#update-specific-listing)) and [Update Listings](#update-listings)) files.\nFTP in Back Market is deprecated. If you used to use FTP in order to connect to Back Market\nPlease contact <partner-support@backmarket.com> to help you to setup an API connexion.\n\n**If this limit is reached, Back Market may refuse the task**, in this case you will receive HTTP responses\nwith the \"429 Too Many Requests\" status.\n\nIf you have lots of active SKUs, please take into account the [Best Practice](#best-practices)\npart of the documentation.\n\n### Questions ?\n\nIf you have any questions, please send an email to <partner-support@backmarket.com>\nPlease note that this mail is temporary as we will deploy a new seller support center\nthat will assist you.\n## F.A.Q. and Contact\n\nPlease [click here](https://merchant-support.backmarket.com/hc/en-us) to access your Seller Support Center\n where you can find our F.A.Q. or contact us.\n\nIf you have never signed in to the Seller Support Center, you can\n read this [tutorial](statics/How-to-connect-to-SSC.pdf) which helps you setup you connection for the first time.\n\nIf you have any more questions and are already selling on Back Market, we invite you to contact your account manager.\n## Cookbooks\n\nA list of notebooks showcasing different API use cases:\n\n[Winning the BackBox based on small price efforts](https://colab.research.google.com/drive/12jHZ3AQG8mQjjAvulG9zVvfC_psEOKjh?usp=sharing)\n"
  contact:
    name: Seller Support Center
    url: https://merchant-support.backmarket.com/hc/en-us
    x-slack: NA
    email: NA@NA.com
servers:
- url: https://preprod.backmarket.co.jp
  description: Preprod - AP
- url: https://www.backmarket.co.jp
  description: Prod - AP
- url: https://preprod.backmarket.fr
  description: Preprod - EU
- url: https://www.backmarket.fr
  description: Prod - EU
- url: https://preprod.backmarket.com
  description: Preprod - NA
- url: https://www.backmarket.com
  description: Prod - NA
tags:
- name: BuyBack
paths:
  /ws/buyback/v1/orders:
    get:
      x-tier: 2
      summary: List of BuyBack orders
      tags:
      - BuyBack
      operationId: get-ws-buyback-v1-orders
      description: 'List of paginated buyback orders.

        Caller must be an authenticated merchant.

        '
      security:
      - ApiKeyAuth: []
      - BasicAuth: []
      parameters:
      - $ref: '#/components/parameters/status'
      - $ref: '#/components/parameters/productId'
      - $ref: '#/components/parameters/creationDate'
      - $ref: '#/components/parameters/modificationDate'
      - $ref: '#/components/parameters/shippingDate'
      - $ref: '#/components/parameters/receivedDate'
      - $ref: '#/components/parameters/suspendedDate'
      - $ref: '#/components/parameters/paymentDate'
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                allOf:
                - $ref: '#/components/schemas/buyback-base-paginated'
                - type: object
                  properties:
                    results:
                      type: array
                      uniqueItems: true
                      items:
                        $ref: '#/components/schemas/buyback-order'
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        '403':
          description: Permission denied
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
  /ws/buyback/v1/orders/pending-reply:
    get:
      x-tier: 2
      summary: List of BuyBack orders pending reply
      tags:
      - BuyBack
      operationId: get-ws-buyback-v1-orders-pending-reply
      description: 'List of paginated BuyBack orders that are pending a reply from the refurbisher.

        Caller must be an authenticated refurbisher.

        '
      parameters:
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                allOf:
                - $ref: '#/components/schemas/buyback-base-paginated'
                - type: object
                  properties:
                    results:
                      type: array
                      uniqueItems: true
                      items:
                        $ref: '#/components/schemas/buyback-order'
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        '403':
          description: Permission denied
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
  /ws/buyback/v1/orders/suspend-reasons:
    get:
      x-tier: 2
      summary: List of suspend reasons
      tags:
      - BuyBack
      operationId: get-ws-buyback-v1-orders-suspend-reasons
      description: 'List of suspend reasons that could be used to put a BuyBack order in SUSPENDED state.

        Caller must be an authenticated merchant.

        '
      security:
      - ApiKeyAuth: []
      - BasicAuth: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                minItems: 0
                items:
                  $ref: '#/components/schemas/buyback-reason'
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        '403':
          description: Permission denied
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
  /ws/buyback/v1/orders/{buybackOrderId}:
    get:
      x-tier: 2
      summary: Retrieve a BuyBack order
      tags:
      - BuyBack
      operationId: get-ws-buyback-v1-order
      description: 'Retrieve a single BuyBack order.

        Caller must be an authenticated merchant.

        '
      security:
      - ApiKeyAuth: []
      - BasicAuth: []
      parameters:
      - $ref: '#/components/parameters/buybackOrderId'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/buyback-order'
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        '403':
          description: Permission denied
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        5XX:
          description: Internal Error
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
  /ws/buyback/v1/orders/{buybackOrderId}/messages:
    get:
      x-tier: 2
      summary: List of a BuyBack order messages
      tags:
      - BuyBack
      operationId: get-ws-buyback-v1-orders-messages
      description: 'List of paginated BuyBack order messages.

        Caller must be an authenticated refurbisher, owner of the provided buyback order.

        '
      parameters:
      - $ref: '#/components/parameters/buybackOrderId'
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                allOf:
                - $ref: '#/components/schemas/buyback-base-paginated'
                - type: object
                  properties:
                    results:
                      type: array
                      uniqueItems: true
                      items:
                        $ref: '#/components/schemas/buyback-message'
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        '403':
          description: Permission denied
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        5XX:
          description: Internal Error
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
    post:
      x-tier: 2
      summary: Post a message on a BuyBack order
      tags:
      - BuyBack
      operationId: post-ws-buyback-v1-orders-messages
      description: 'Create BuyBack order messages.

        Caller must be an authenticated refurbisher, owner of the provided buyback order.

        '
      parameters:
      - $ref: '#/components/parameters/buybackOrderId'
      requestBody:
        description: A payload containing the message and supporting photos if any.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/buyback-message-payload'
        required: true
      responses:
        '201':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/buyback-message'
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        '403':
          description: Permission denied
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        '422':
          description: Unprocessable Entity
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponseV3'
        5XX:
          description: Internal Error
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
  /ws/buyback/v1/orders/{buybackOrderId}/suspend:
    put:
      x-tier: 2
      summary: Suspend a BuyBack order
      tags:
      - BuyBack
      operationId: put-ws-buyback-v1-orders-suspend
      description: 'Suspend a BuyBack order with the provided reasons.

        Caller must be an authenticated refurbisher, owner of the provided buyback order.

        '
      parameters:
      - $ref: '#/components/parameters/buybackOrderId'
      requestBody:
        description: A list of suspend reasons identifiers to put an order in SUSPENDED state.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/buyback-order-suspension-payload'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/buyback-order'
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        '403':
          description: Permission denied
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        '422':
          description: Unprocessable Entity
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponseV3'
        5XX:
          description: Internal Error
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
  /ws/buyback/v1/orders/{buybackOrderId}/validate:
    put:
      x-tier: 2
      summary: Validate BuyBack order
      tags:
      - BuyBack
      operationId: put-ws-buyback-v1-orders-validate
      description: Validate a BuyBack order by setting the state to VALIDATED. Caller must be an authenticated merchant, owner of the provided buyback order.
      parameters:
      - $ref: '#/components/parameters/buybackOrderId'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/buyback-order'
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        '403':
          description: Permission denied
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        '422':
          description: Unprocessable Entity
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponseV3'
        5XX:
          description: Internal Error
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
  /ws/buyback/v1/orders/{buybackOrderId}/counter-offers/reasons:
    get:
      x-tier: 3
      summary: Retrieve counter offer reasons
      tags:
      - BuyBack
      operationId: get-ws-counter-offer-reason
      description: 'Get eligible reasons counter offer reasons for a given buyback order.

        Caller must be an authenticated refurbisher, owner of the provided buyback order.

        '
      parameters:
      - $ref: '#/components/parameters/buybackOrderId'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/buyback-counter-offer-reasons'
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        '403':
          description: Permission denied
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        '404':
          description: Order not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        5XX:
          description: Internal Error
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
  /ws/buyback/v2/orders/{buybackOrderId}/counter-offers:
    put:
      x-tier: 2
      summary: Make a counteroffer
      tags:
      - BuyBack
      operationId: put-ws-refurbisher-counter-offer
      description: 'Make a counter offer on an order.

        Caller must be an authenticated refurbisher, owner of the provided buyback order.

        '
      parameters:
      - $ref: '#/components/parameters/buybackOrderId'
      requestBody:
        description: A payload containing the counter offer data.
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/buyback-counter-offer-payload'
        required: true
      responses:
        '204':
          description: No content
        '400':
          description: Invalid request payload
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        '403':
          description: Permission denied
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        '404':
          description: Order id not found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        '422':
          description: Unprocessable request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        '429':
          description: Too Many Requests
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        5XX:
          description: Internal Error
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
  /ws/buyback/v1/listings:
    get:
      x-tier: 2
      summary: List of BuyBack listings
      tags:
      - BuyBack
      operationId: get-ws-buyback-v1-listings
      description: 'This endpoint returns a list of buyback listings based on a set of parameters.

        '
      security:
      - ApiKeyAuth: []
      - BasicAuth: []
      parameters:
      - name: productId
        in: query
        required: false
        description: Product ID
        example: 1f9be4c7-19e6-4ebb-a8e2-1995130339f7
        schema:
          type:
          - string
          - 'null'
          format: uuid
          title: ProductId
      - name: cursor
        in: query
        required: false
        description: Cursor for the pagination
        example: bfc3e105-7209-4da2-9c25-1dc392e8d68c
        schema:
          type:
          - string
          - 'null'
          format: uuid
          title: Cursor
      - name: pageSize
        in: query
        required: false
        description: Page size
        example: 6
        schema:
          type: integer
          maximum: 100
          default: 100
          title: Pagesize
          exclusiveMinimum: 0
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/buyback-paginated-listing-response'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemValidation'
              example:
                type: /errors/validation-error
                title: Validation error
                status: 400
                errors:
                - type: /errors/missing
                  title: Missing
                  detail: Field required
                  target: header.Bm-User-Id
            text/plain:
              schema:
                type: string
              example: Invalid HTTP request received.
          description: Bad Request
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemValidation'
              example:
                type: /errors/validation-error
                title: Validation error
                status: 422
                errors:
                - type: /errors/missing
                  title: Missing
                  detail: Field required
                  target: header.Bm-User-Id
            text/plain:
              schema:
                type: string
              example: Invalid HTTP request received.
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
              example:
                type: /errors//errors/internal-error
                title: Internal server error
                status: 500
                detail: An internal error happened.
                instance: https://example.org/error/condition
          description: Internal Server Error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
              example:
                type: /errors//errors/service-unavailable
                title: Service unavailable
                status: 503
                detail: The server was not ready to handle your request.
                instance: https://example.org/error/condition
          description: Service Unavailable
  /ws/buyback/v1/listings/{buybackListingId}:
    get:
      x-tier: 2
      summary: Retrieve a Buyback listing
      tags:
      - BuyBack
      operationId: get-ws-buyback-v1-listing
      description: 'This endpoint returns a single BuyBack listing based on its public id.

        '
      security:
      - ApiKeyAuth: []
      - BasicAuth: []
      parameters:
      - $ref: '#/components/parameters/buybackListingId'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/buyback-listing'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemValidation'
              example:
                type: /errors/validation-error
                title: Validation error
                status: 400
                errors:
                - type: /errors/missing
                  title: Missing
                  detail: Field required
                  target: header.Bm-User-Id
            text/plain:
              schema:
                type: string
              example: Invalid HTTP request received.
          description: Bad Request
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemValidation'
              example:
                type: /errors/validation-error
                title: Validation error
                status: 422
                errors:
                - type: /errors/missing
                  title: Missing
                  detail: Field required
                  target: header.Bm-User-Id
            text/plain:
              schema:
                type: string
              example: Invalid HTTP request received.
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
              example:
                type: /errors//errors/internal-error
                title: Internal server error
                status: 500
                detail: An internal error happened.
                instance: https://example.org/error/condition
          description: Internal Server Error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Problem'
              example:
                type: /errors//errors/service-unavailable
                title: Service unavailable
                status: 503
                detail: The server was not ready to han

# --- truncated at 32 KB (62 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/back-market/refs/heads/main/openapi/back-market-buyback-api-openapi.yml