openapi: 3.0.0
servers:
  - url: https://api.reverb.com/api
x-hasEquivalentPaths: true
info:
  contact:
    email: integrations@reverb.com
    name: Reverb API
    url: https://www.reverb-api.com
  description: reverb
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  termsOfService: https://reverb.com/page/terms
  title: reverb
  version: "3.0"
  x-apisguru-categories:
    - ecommerce
  x-logo:
    url: https://d1g5417jjjo7sf.cloudfront.net/assets/top-level/reverb-logo-d2c75af0b020521f0bc5e90c883a13b5.svg
  x-origin:
    - format: openapi
      url: https://s3.amazonaws.com/swagger.reverb.com/swagger.json
      version: "3.0"
  x-providerName: reverb.com
externalDocs:
  url: https://dev.reverb.com/
paths:
  /articles:
    get:
      parameters:
        - in: query
          name: page
          required: false
          schema:
            default: 1
            type: integer
        - in: query
          name: per_page
          required: false
          schema:
            default: 24
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            type: integer
        - description: What's being searched for
          in: query
          name: query
          required: false
          schema:
            type: string
        - description: Number of featured articles to exclude
          in: query
          name: exclude_featured
          required: false
          schema:
            type: integer
      responses:
        default:
          description: Unexpected error
      tags:
        - articles
  /articles/categories:
    get:
      description: List of all article categories
      responses:
        default:
          description: Unexpected error
      summary: List of all article categories
      tags:
        - articles
  /categories:
    get:
      description: List of supported product categories
      responses:
        default:
          description: Unexpected error
      summary: List of supported product categories
      tags:
        - categories
  /categories/flat:
    get:
      responses:
        default:
          description: Unexpected error
      tags:
        - categories
  /categories/taxonomy:
    get:
      description: Full taxonomy tree of categories including middle categories
      responses:
        default:
          description: Unexpected error
      summary: Full taxonomy tree of categories including middle categories
      tags:
        - categories
  "/categories/{product_type}/{category}":
    get:
      description: Get subcategory details
      parameters:
        - in: path
          name: product_type
          required: true
          schema:
            type: string
        - in: path
          name: category
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      summary: Get subcategory details
      tags:
        - categories
  "/categories/{uuid}":
    get:
      description: Get category details
      parameters:
        - in: path
          name: uuid
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      summary: Get category details
      tags:
        - categories
  /comparison_shopping_pages:
    get:
      description: Returns a set of comparison shopping pages based on the current params
      responses:
        default:
          description: Unexpected error
      summary: Returns a set of comparison shopping pages based on the current params
      tags:
        - comparison_shopping_pages
  /comparison_shopping_pages/find:
    get:
      description: Show comparison shopping page
      parameters:
        - description: ID of the comparison shopping page
          in: query
          name: id
          required: false
          schema:
            type: string
        - description: Slug of the comparison shopping page
          in: query
          name: slug
          required: false
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      summary: Show comparison shopping page
      tags:
        - comparison_shopping_pages
  "/comparison_shopping_pages/{id}":
    get:
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      tags:
        - comparison_shopping_pages
  "/comparison_shopping_pages/{id}/listings":
    get:
      description: Return new or used listings for a comparison shopping page
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
        - description: Condition of the listing
          in: query
          name: condition
          required: true
          schema:
            type: string
        - in: query
          name: page
          required: false
          schema:
            default: 1
            type: integer
        - in: query
          name: per_page
          required: false
          schema:
            default: 24
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        default:
          description: Unexpected error
      summary: Return new or used listings for a comparison shopping page
      tags:
        - comparison_shopping_pages
  "/comparison_shopping_pages/{id}/reviews":
    get:
      description: View reviews of a comparison shopping page
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      summary: View reviews of a comparison shopping page
      tags:
        - comparison_shopping_pages
  "/conversations/{conversation_id}/offer":
    post:
      description: Make an offer to the other participant in the conversation
      parameters:
        - in: path
          name: conversation_id
          required: true
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/Body"
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_offers
      summary: Make an offer to the other participant in the conversation
      tags:
        - conversations
  "/conversations/{id}/offer":
    post:
      description: Make an offer to the other participant in the conversation
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/Body3"
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_offers
      summary: Make an offer to the other participant in the conversation
      tags:
        - conversations
  /countries:
    get:
      description: Retrieve a list of country codes with corresponding subregions
      responses:
        default:
          description: Unexpected error
      summary: Retrieve a list of country codes with corresponding subregions
      tags:
        - countries
  /csps:
    get:
      description: Returns a set of comparison shopping pages based on the current params
      responses:
        default:
          description: Unexpected error
      summary: Returns a set of comparison shopping pages based on the current params
      tags:
        - csps
  /csps/categories:
    get:
      responses:
        default:
          description: Unexpected error
      tags:
        - csps
  /csps/find:
    get:
      description: Show comparison shopping page
      parameters:
        - description: ID of the comparison shopping page
          in: query
          name: id
          required: false
          schema:
            type: string
        - description: Slug of the comparison shopping page
          in: query
          name: slug
          required: false
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      summary: Show comparison shopping page
      tags:
        - csps
  "/csps/{id}":
    get:
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      tags:
        - csps
  "/curated_sets/{slug}":
    get:
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      tags:
        - curated_sets
  /currencies/display:
    get:
      description: List of supported display currencies for browsing listings
      responses:
        default:
          description: Unexpected error
      summary: List of supported display currencies for browsing listings
      tags:
        - currencies
  /currencies/listing:
    get:
      description: List of supported listing currencies for shops
      responses:
        default:
          description: Unexpected error
      summary: List of supported listing currencies for shops
      tags:
        - currencies
  "/feedback/{feedback_id}":
    get:
      description: Feedback details
      parameters:
        - in: path
          name: feedback_id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      summary: Feedback details
      tags:
        - feedback
  "/handpicked/{slug}":
    get:
      description: Get results from a handpicked collection
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
        - description: Search query.
          in: query
          name: query
          required: false
          schema:
            type: string
        - description: Maximum current auction price
          in: query
          name: auction_price_max
          required: false
          schema:
            format: float
            type: number
        - description: Category slug from /api/categories
          in: query
          name: category
          required: false
          schema:
            type: string
        - description: Product type slug from /api/categories
          in: query
          name: product_type
          required: false
          schema:
            type: string
        - description: "Condition: all,new,b-stock,used,non-functioning,all-but-new,poor,fair,good,very-good,excellent,mint"
          explode: false
          in: query
          name: conditions
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - description: "Decade: e.g. 1970s, early 70s"
          in: query
          name: decade
          required: false
          schema:
            type: string
        - description: Visual finish of the item, common for guitars
          in: query
          name: finish
          required: false
          schema:
            type: string
        - description: Handmade items only
          in: query
          name: handmade
          required: false
          schema:
            type: boolean
        - description: City where item is located
          in: query
          name: item_city
          required: false
          schema:
            type: string
        - description: DEPRECATED - Country code where item is located
          in: query
          name: item_country
          required: false
          schema:
            type: string
        - description: Country code where item is located
          in: query
          name: item_region
          required: false
          schema:
            type: string
        - description: State or region code where item is located
          in: query
          name: item_state
          required: false
          schema:
            type: string
        - description: Make(s)/brand of item (e.g. Fender). Can take a single value or an array.
          explode: false
          in: query
          name: make
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Model of item (e.g. Stratocaster)
          in: query
          name: model
          required: false
          schema:
            type: string
        - description: Search term negation. If you want to exclude a term, add it here
          in: query
          name: must_not
          required: false
          schema:
            type: string
        - description: Maximum price of search results (USD)
          in: query
          name: price_max
          required: false
          schema:
            format: float
            type: number
        - description: Minimum price of search results (USD)
          in: query
          name: price_min
          required: false
          schema:
            format: float
            type: number
        - description: The currency to be used for the price filters
          in: query
          name: currency
          required: false
          schema:
            type: string
        - description: Maximum year of manufacture
          in: query
          name: year_max
          required: false
          schema:
            type: integer
        - description: Minumum year of manufacture
          in: query
          name: year_min
          required: false
          schema:
            type: integer
        - description: If true, include only items that accept gift cards
          in: query
          name: accepts_gift_cards
          required: false
          schema:
            type: boolean
        - description: If true, include only items by Reverb Preferred Sellers
          in: query
          name: preferred_seller
          required: false
          schema:
            type: boolean
        - description: Slug of shop to search
          in: query
          name: shop
          required: false
          schema:
            type: string
        - description: ID of shop to search
          in: query
          name: shop_id
          required: false
          schema:
            type: string
        - description: "Type of listing: auctions,offers"
          in: query
          name: listing_type
          required: false
          schema:
            type: string
        - description: Limit search to items that ship to this country code
          in: query
          name: ships_to
          required: false
          schema:
            type: string
        - description: If true, exclude auctions
          in: query
          name: exclude_auctions
          required: false
          schema:
            type: boolean
        - description: If true, only show items that can be purchased with a payment plan
          in: query
          name: accepts_payment_plans
          required: false
          schema:
            type: boolean
        - description: Minimum number of watchers (used to find popular items)
          in: query
          name: watchers_count_min
          required: false
          schema:
            type: integer
        - description: Listing ID negation. If you want to exclude a listing, add it here.
          explode: false
          in: query
          name: not_ids
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Only items that offer local pickup
          in: query
          name: local_pickup
          required: false
          schema:
            type: boolean
        - in: query
          name: page
          required: false
          schema:
            default: 1
            type: integer
        - in: query
          name: per_page
          required: false
          schema:
            default: 24
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        default:
          description: Unexpected error
      summary: Get results from a handpicked collection
      tags:
        - handpicked
  /listing_conditions:
    get:
      description: List of supported product conditions
      responses:
        default:
          description: Unexpected error
      summary: List of supported product conditions
      tags:
        - listing_conditions
  /listings:
    get:
      description: Default search of listings includes only used & handmade. Add a filter to view all listings or use the /listings/all endpoint.
      parameters:
        - description: Search query.
          in: query
          name: query
          required: false
          schema:
            type: string
        - description: Maximum current auction price
          in: query
          name: auction_price_max
          required: false
          schema:
            format: float
            type: number
        - description: Category slug from /api/categories
          in: query
          name: category
          required: false
          schema:
            type: string
        - description: Product type slug from /api/categories
          in: query
          name: product_type
          required: false
          schema:
            type: string
        - description: "Condition: all,new,b-stock,used,non-functioning,all-but-new,poor,fair,good,very-good,excellent,mint"
          explode: false
          in: query
          name: conditions
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - description: "Decade: e.g. 1970s, early 70s"
          in: query
          name: decade
          required: false
          schema:
            type: string
        - description: Visual finish of the item, common for guitars
          in: query
          name: finish
          required: false
          schema:
            type: string
        - description: Handmade items only
          in: query
          name: handmade
          required: false
          schema:
            type: boolean
        - description: City where item is located
          in: query
          name: item_city
          required: false
          schema:
            type: string
        - description: DEPRECATED - Country code where item is located
          in: query
          name: item_country
          required: false
          schema:
            type: string
        - description: Country code where item is located
          in: query
          name: item_region
          required: false
          schema:
            type: string
        - description: State or region code where item is located
          in: query
          name: item_state
          required: false
          schema:
            type: string
        - description: Make(s)/brand of item (e.g. Fender). Can take a single value or an array.
          explode: false
          in: query
          name: make
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Model of item (e.g. Stratocaster)
          in: query
          name: model
          required: false
          schema:
            type: string
        - description: Search term negation. If you want to exclude a term, add it here
          in: query
          name: must_not
          required: false
          schema:
            type: string
        - description: Maximum price of search results (USD)
          in: query
          name: price_max
          required: false
          schema:
            format: float
            type: number
        - description: Minimum price of search results (USD)
          in: query
          name: price_min
          required: false
          schema:
            format: float
            type: number
        - description: The currency to be used for the price filters
          in: query
          name: currency
          required: false
          schema:
            type: string
        - description: Maximum year of manufacture
          in: query
          name: year_max
          required: false
          schema:
            type: integer
        - description: Minumum year of manufacture
          in: query
          name: year_min
          required: false
          schema:
            type: integer
        - description: If true, include only items that accept gift cards
          in: query
          name: accepts_gift_cards
          required: false
          schema:
            type: boolean
        - description: If true, include only items by Reverb Preferred Sellers
          in: query
          name: preferred_seller
          required: false
          schema:
            type: boolean
        - description: Slug of shop to search
          in: query
          name: shop
          required: false
          schema:
            type: string
        - description: ID of shop to search
          in: query
          name: shop_id
          required: false
          schema:
            type: string
        - description: "Type of listing: auctions,offers"
          in: query
          name: listing_type
          required: false
          schema:
            type: string
        - description: Limit search to items that ship to this country code
          in: query
          name: ships_to
          required: false
          schema:
            type: string
        - description: If true, exclude auctions
          in: query
          name: exclude_auctions
          required: false
          schema:
            type: boolean
        - description: If true, only show items that can be purchased with a payment plan
          in: query
          name: accepts_payment_plans
          required: false
          schema:
            type: boolean
        - description: Minimum number of watchers (used to find popular items)
          in: query
          name: watchers_count_min
          required: false
          schema:
            type: integer
        - description: Listing ID negation. If you want to exclude a listing, add it here.
          explode: false
          in: query
          name: not_ids
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Only items that offer local pickup
          in: query
          name: local_pickup
          required: false
          schema:
            type: boolean
        - in: query
          name: page
          required: false
          schema:
            default: 1
            type: integer
        - in: query
          name: per_page
          required: false
          schema:
            default: 24
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        default:
          description: Unexpected error
      summary: Default search of listings includes only used & handmade. Add a filter to view all listings or use the /listings/all endpoint.
      tags:
        - listings
    post:
      description: Create a listing
      requestBody:
        content:
          application/json:
            schema:
              properties:
                categories:
                  items:
                    properties:
                      uuid:
                        description: UUID of the category for this listing.
                        type: string
                    type: object
                  type: array
                condition:
                  description: Condition
                  properties:
                    uuid:
                      description: Condition UUID
                      enum:
                        - fbf35668-96a0-4baa-bcde-ab18d6b1b329
                        - 6a9dfcad-600b-46c8-9e08-ce6e5057921e
                        - 98777886-76d0-44c8-865e-bb40e669e934
                        - f7a3f48c-972a-44c6-b01a-0cd27488d3f6
                        - ae4d9114-1bd7-4ec5-a4ba-6653af5ac84d
                        - df268ad1-c462-4ba6-b6db-e007e23922ea
                        - ac5b9c1e-dc78-466d-b0b3-7cf712967a48
                        - 6db7df88-293b-4017-a1c1-cdb5e599fa1a
                        - 9225283f-60c2-4413-ad18-1f5eba7a856f
                        - 7c3f45de-2ae0-4c81-8400-fdb6b1d74890
                      type: string
                  required:
                    - uuid
                  type: object
                description:
                  description: Product description. Please keep formatting to a minimum.
                  type: string
                exclusive_channel:
                  description: Currently for users of seller sites only, this allows you to have a listing available only to your seller site by setting this to 'seller_site'
                  enum:
                    - seller_site
                    - reverb
                    - none
                  type: string
                finish:
                  description: Finish, e.g. 'Sunburst'
                  type: string
                has_inventory:
                  description: Set true if selling more than one
                  type: boolean
                inventory:
                  description: Number of items available for sale. Reverb will increment and decrement automatically.
                  type: integer
                location:
                  properties:
                    country_code:
                      description: "Ex: US"
                      type: string
                    locality:
                      description: "Ex: Chicago"
                      type: string
                    region:
                      description: "Ex: IL"
                      type: string
                  type: object
                make:
                  description: "ex: Fender, Gibson"
                  type: string
                model:
                  description: "ex: Stratocaster, SG"
                  type: string
                multi_item:
                  description: Specifies if the listing is a bundle of multiple individual items
                  type: boolean
                offers_enabled:
                  description: "Whether the listing accepts negotiated offers (default: true)"
                  type: boolean
                origin_country_code:
                  description: "Country of origin/manufacture, ISO code (e.g: US)"
                  type: string
                photos:
                  description: "An array of image URLs. Ex: ['http://my.site.com/image.jpg']"
                  items:
                    type: string
                  type: array
                preorder_info:
                  description: Create or update a preorder listing. Requires opt-in. Please contact sales@reverb.com if you would like to activate this feature.
                  properties:
                    lead_time:
                      description: The amount of time before the item will be ready to ship. When lead_time is submitted it is converted into days and added to the current date to produce `estimated_ship_date` in the response body of the request.
                      type: integer
                    lead_time_unit:
                      description: The unit of time which lead_time is measured in
                      enum:
                        - days
                        - weeks
                      type: string
                    ship_date:
                      description: "The date the item will be available to ship. In the response body of the request, `estimated_ship_date`, will be the same as ship_date. Date must be ISO8601 format - e.g: 2015-04-09T10:52:23-00:00."
                      type: string
                  required:
                    - lead_time_unit
                  type: object
                price:
                  properties:
                    amount:
                      description: The amount of money being expressed, as a POSIX-compliant decimal number
                      type: string
                    currency:
                      description: The currency the money will be expressed in
                      enum:
                        - USD
                        - CAD
                        - EUR
                        - GBP
                        - AUD
                        - JPY
                        - NZD
                        - MXN
                      type: string
                  required:
                    - amount
                    - currency
                  type: object
                prop_65_warning:
                  description: If your listing contains chemicals that are required to be reported under California Prop 65, please provide your warning statement. We will add the required 'Warning' label and link to California's information page, so you only need to provide the body of the warning. For more information, see https://www.p65warnings.ca.gov/new-proposition-65-warnings
                  type: string
                publish:
                  description: Publish your listing if draft
                  type: boolean
                seller:
                  properties:
                    paypal_email:
                      type: string
                  type: object
                seller_cost:
                  description: Cost of goods in your currency as a POSIX-compliant decimal number (internal use only, not shown to buyers)
                  type: string
                shipping:
                  properties:
                    local:
                      description: True if you offer local pickup
                      type: boolean
                    rates:
                      description: List of shipping rates. Set to null to clear rates.
                      items:
                        properties:
                          rate:
                            properties:
                              amount:
                                description: The amount of money being expressed, as a POSIX-compliant decimal number
                                type: string
                              currency:
                                description: The currency the money will be expressed in
                                enum:
                                  - USD
                                  - CAD
                                  - EUR
                                  - GBP
                                  - AUD
                                  - JPY
                                  - NZD
                                  - MXN
                                type: string
                            required:
                              - amount
                              - currency
                            type: object
                          region_code:
                            description: Country code or subregion/superregion code. Full list of codes at /api/shipping/regions
                            type: string
                        type: object
                      type: array
                  type: object
                shipping_profile_id:
                  description: id of a shop's shipping profile
                  type: string
                shipping_profile_name:
                  description: DEPRECATED, please use shipping_profile_id. Name of a shipping profile
                  type: string
                sku:
                  description: Unique identifier for product
                  type: string
                sold_as_is:
                  description: This item is sold As-Is and cannot be returned
                  type: boolean
                storage_location:
                  description: Internal note used by sellers to back reference their catalog system when entering a listing
                  type: string
                tax_exempt:
                  description: Listing is exempt from taxes / VAT
                  type: boolean
                title:
                  description: Title of your listing
                  type: string
                upc:
                  description: Valid UPC code
                  type: string
                upc_does_not_apply:
                  description: True if a brand new product has no UPC code, ie for a handmade or custom item
                  type: boolean
                videos:
                  description: "List of YouTube video urls. Note: ONLY ONE ALLOWED"
                  items:
                    properties:
                      link:
                        description: Valid YouTube url
                        type: string
                    required:
                      - link
                    type: object
                  type: array
                year:
                  description: "Supports many formats. Ex: 1979, mid-70s, late 90s"
                  type: string
              type: object
        description: the content of the request
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_listings
            - write_listings_for_others
      summary: Create a listing
      tags:
        - listings
  /listings/all:
    get:
      description: All listings including used, handmade, and brand new
      parameters:
        - description: Search query.
          in: query
          name: query
          required: false
          schema:
            type: string
        - description: Maximum current auction price
          in: query
          name: auction_price_max
          required: false
          schema:
            format: float
            type: number
        - description: Category slug from /api/categories
          in: query
          name: category
          required: false
          schema:
            type: string
        - description: Product type slug from /api/categories
          in: query
          name: product_type
          required: false
          schema:
            type: string
        - description: "Condition: all,new,b-stock,used,non-functioning,all-but-new,poor,fair,good,very-good,excellent,mint"
          explode: false
          in: query
          name: conditions
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - description: "Decade: e.g. 1970s, early 70s"
          in: query
          name: decade
          required: false
          schema:
            type: string
        - description: Visual finish of the item, common for guitars
          in: query
          name: finish
          required: false
          schema:
            type: string
        - description: Handmade items only
          in: query
          name: handmade
          required: false
          schema:
            type: boolean
        - description: City where item is located
          in: query
          name: item_city
          required: false
          schema:
            type: string
        - description: DEPRECATED - Country code where item is located
          in: query
          name: item_country
          required: false
          schema:
            type: string
        - description: Country code where item is located
          in: query
          name: item_region
          required: false
          schema:
            type: string
        - description: State or region code where item is located
          in: query
          name: item_state
          required: false
          schema:
            type: string
        - description: Make(s)/brand of item (e.g. Fender). Can take a single value or an array.
          explode: false
          in: query
          name: make
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Model of item (e.g. Stratocaster)
          in: query
          name: model
          required: false
          schema:
            type: string
        - description: Search term negation. If you want to exclude a term, add it here
          in: query
          name: must_not
          required: false
          schema:
            type: string
        - description: Maximum price of search results (USD)
          in: query
          name: price_max
          required: false
          schema:
            format: float
            type: number
        - description: Minimum price of search results (USD)
          in: query
          name: price_min
          required: false
          schema:
            format: float
            type: number
        - description: The currency to be used for the price filters
          in: query
          name: currency
          required: false
          schema:
            type: string
        - description: Maximum year of manufacture
          in: query
          name: year_max
          required: false
          schema:
            type: integer
        - description: Minumum year of manufacture
          in: query
          name: year_min
          required: false
          schema:
            type: integer
        - description: If true, include only items that accept gift cards
          in: query
          name: accepts_gift_cards
          required: false
          schema:
            type: boolean
        - description: If true, include only items by Reverb Preferred Sellers
          in: query
          name: preferred_seller
          required: false
          schema:
            type: boolean
        - description: Slug of shop to search
          in: query
          name: shop
          required: false
          schema:
            type: string
        - description: ID of shop to search
          in: query
          name: shop_id
          required: false
          schema:
            type: string
        - description: "Type of listing: auctions,offers"
          in: query
          name: listing_type
          required: false
          schema:
            type: string
        - description: Limit search to items that ship to this country code
          in: query
          name: ships_to
          required: false
          schema:
            type: string
        - description: If true, exclude auctions
          in: query
          name: exclude_auctions
          required: false
          schema:
            type: boolean
        - description: If true, only show items that can be purchased with a payment plan
          in: query
          name: accepts_payment_plans
          required: false
          schema:
            type: boolean
        - description: Minimum number of watchers (used to find popular items)
          in: query
          name: watchers_count_min
          required: false
          schema:
            type: integer
        - description: Listing ID negation. If you want to exclude a listing, add it here.
          explode: false
          in: query
          name: not_ids
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Only items that offer local pickup
          in: query
          name: local_pickup
          required: false
          schema:
            type: boolean
        - in: query
          name: page
          required: false
          schema:
            default: 1
            type: integer
        - in: query
          name: per_page
          required: false
          schema:
            default: 24
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        default:
          description: Unexpected error
      summary: All listings including used, handmade, and brand new
      tags:
        - listings
  /listings/facets/seller_location:
    get:
      description: Individual facets
      responses:
        default:
          description: Unexpected error
      summary: Individual facets
      tags:
        - listings
  "/listings/{id}/negotiation":
    get:
      description: Returns the latest negotiation for the requesting user given a listing id
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_offers
      summary: Returns the latest negotiation for the requesting user given a listing id
      tags:
        - listings
  "/listings/{id}/offer":
    post:
      description: Make an offer to the seller of a listing
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/Body3"
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_offers
      summary: Make an offer to the seller of a listing
      tags:
        - listings
  "/listings/{listing_id}/bump":
    get:
      description: View available bump tiers and stats for a listing
      parameters:
        - in: path
          name: listing_id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_listings
      summary: View available bump tiers and stats for a listing
      tags:
        - listings
  "/listings/{listing_id}/bump/{budget_type}":
    post:
      description: Bump a listing
      parameters:
        - in: path
          name: listing_id
          required: true
          schema:
            type: string
        - in: path
          name: budget_type
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_listings
      summary: Bump a listing
      tags:
        - listings
  "/listings/{listing_id}/conversations":
    post:
      description: Start a conversation with a seller
      parameters:
        - in: path
          name: listing_id
          required: true
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/Body2"
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_messages
      summary: Start a conversation with a seller
      tags:
        - listings
  "/listings/{listing_id}/images":
    get:
      description: View the images associated with a particular listing
      parameters:
        - in: path
          name: listing_id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_listings
      summary: View the images associated with a particular listing
      tags:
        - listings
  "/listings/{listing_id}/images/{image_id}":
    delete:
      description: Delete an image from a listing
      parameters:
        - in: path
          name: listing_id
          required: true
          schema:
            type: string
        - in: path
          name: image_id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_listings
      summary: Delete an image from a listing
      tags:
        - listings
  "/listings/{listing_id}/sales":
    get:
      description: See all sales that include a listing.
      parameters:
        - in: path
          name: listing_id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      summary: See all sales that include a listing.
      tags:
        - listings
  "/listings/{slug}":
    delete:
      description: Delete a draft listing. Cannot be used on non-drafts.
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_listings
      summary: Delete a draft listing. Cannot be used on non-drafts.
      tags:
        - listings
    get:
      description: Listing details
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      summary: Listing details
      tags:
        - listings
    put:
      description: Update a listing
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                categories:
                  items:
                    properties:
                      uuid:
                        description: UUID of the category for this listing.
                        type: string
                    type: object
                  type: array
                condition:
                  description: Condition
                  properties:
                    uuid:
                      description: Condition UUID
                      enum:
                        - fbf35668-96a0-4baa-bcde-ab18d6b1b329
                        - 6a9dfcad-600b-46c8-9e08-ce6e5057921e
                        - 98777886-76d0-44c8-865e-bb40e669e934
                        - f7a3f48c-972a-44c6-b01a-0cd27488d3f6
                        - ae4d9114-1bd7-4ec5-a4ba-6653af5ac84d
                        - df268ad1-c462-4ba6-b6db-e007e23922ea
                        - ac5b9c1e-dc78-466d-b0b3-7cf712967a48
                        - 6db7df88-293b-4017-a1c1-cdb5e599fa1a
                        - 9225283f-60c2-4413-ad18-1f5eba7a856f
                        - 7c3f45de-2ae0-4c81-8400-fdb6b1d74890
                      type: string
                  required:
                    - uuid
                  type: object
                description:
                  description: Product description. Please keep formatting to a minimum.
                  type: string
                exclusive_channel:
                  description: Currently for users of seller sites only, this allows you to have a listing available only to your seller site by setting this to 'seller_site'
                  enum:
                    - seller_site
                    - reverb
                    - none
                  type: string
                finish:
                  description: Finish, e.g. 'Sunburst'
                  type: string
                has_inventory:
                  description: Set true if selling more than one
                  type: boolean
                inventory:
                  description: Number of items available for sale. Reverb will increment and decrement automatically.
                  type: integer
                location:
                  properties:
                    country_code:
                      description: "Ex: US"
                      type: string
                    locality:
                      description: "Ex: Chicago"
                      type: string
                    region:
                      description: "Ex: IL"
                      type: string
                  type: object
                make:
                  description: "ex: Fender, Gibson"
                  type: string
                model:
                  description: "ex: Stratocaster, SG"
                  type: string
                multi_item:
                  description: Specifies if the listing is a bundle of multiple individual items
                  type: boolean
                offers_enabled:
                  description: "Whether the listing accepts negotiated offers (default: true)"
                  type: boolean
                origin_country_code:
                  description: "Country of origin/manufacture, ISO code (e.g: US)"
                  type: string
                photos:
                  description: "An array of image URLs. Ex: ['http://my.site.com/image.jpg']"
                  items:
                    type: string
                  type: array
                preorder_info:
                  description: Create or update a preorder listing. Requires opt-in. Please contact sales@reverb.com if you would like to activate this feature.
                  properties:
                    lead_time:
                      description: The amount of time before the item will be ready to ship. When lead_time is submitted it is converted into days and added to the current date to produce `estimated_ship_date` in the response body of the request.
                      type: integer
                    lead_time_unit:
                      description: The unit of time which lead_time is measured in
                      enum:
                        - days
                        - weeks
                      type: string
                    ship_date:
                      description: "The date the item will be available to ship. In the response body of the request, `estimated_ship_date`, will be the same as ship_date. Date must be ISO8601 format - e.g: 2015-04-09T10:52:23-00:00."
                      type: string
                  required:
                    - lead_time_unit
                  type: object
                price:
                  properties:
                    amount:
                      description: The amount of money being expressed, as a POSIX-compliant decimal number
                      type: string
                    currency:
                      description: The currency the money will be expressed in
                      enum:
                        - USD
                        - CAD
                        - EUR
                        - GBP
                        - AUD
                        - JPY
                        - NZD
                        - MXN
                      type: string
                  required:
                    - amount
                    - currency
                  type: object
                prop_65_warning:
                  description: If your listing contains chemicals that are required to be reported under California Prop 65, please provide your warning statement. We will add the required 'Warning' label and link to California's information page, so you only need to provide the body of the warning. For more information, see https://www.p65warnings.ca.gov/new-proposition-65-warnings
                  type: string
                publish:
                  description: Publish your listing if draft
                  type: boolean
                seller:
                  properties:
                    paypal_email:
                      type: string
                  type: object
                seller_cost:
                  description: Cost of goods in your currency as a POSIX-compliant decimal number (internal use only, not shown to buyers)
                  type: string
                shipping:
                  properties:
                    local:
                      description: True if you offer local pickup
                      type: boolean
                    rates:
                      description: List of shipping rates. Set to null to clear rates.
                      items:
                        properties:
                          rate:
                            properties:
                              amount:
                                description: The amount of money being expressed, as a POSIX-compliant decimal number
                                type: string
                              currency:
                                description: The currency the money will be expressed in
                                enum:
                                  - USD
                                  - CAD
                                  - EUR
                                  - GBP
                                  - AUD
                                  - JPY
                                  - NZD
                                  - MXN
                                type: string
                            required:
                              - amount
                              - currency
                            type: object
                          region_code:
                            description: Country code or subregion/superregion code. Full list of codes at /api/shipping/regions
                            type: string
                        type: object
                      type: array
                  type: object
                shipping_profile_id:
                  description: id of a shop's shipping profile
                  type: string
                shipping_profile_name:
                  description: DEPRECATED, please use shipping_profile_id. Name of a shipping profile
                  type: string
                sku:
                  description: Unique identifier for product
                  type: string
                sold_as_is:
                  description: This item is sold As-Is and cannot be returned
                  type: boolean
                storage_location:
                  description: Internal note used by sellers to back reference their catalog system when entering a listing
                  type: string
                tax_exempt:
                  description: Listing is exempt from taxes / VAT
                  type: boolean
                title:
                  description: Title of your listing
                  type: string
                upc:
                  description: Valid UPC code
                  type: string
                upc_does_not_apply:
                  description: True if a brand new product has no UPC code, ie for a handmade or custom item
                  type: boolean
                videos:
                  description: "List of YouTube video urls. Note: ONLY ONE ALLOWED"
                  items:
                    properties:
                      link:
                        description: Valid YouTube url
                        type: string
                    required:
                      - link
                    type: object
                  type: array
                year:
                  description: "Supports many formats. Ex: 1979, mid-70s, late 90s"
                  type: string
              type: object
        description: the content of the request
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_listings
      summary: Update a listing
      tags:
        - listings
  "/listings/{slug}/edit":
    get:
      description: Edit listing.
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_listings
      summary: Edit listing.
      tags:
        - listings
  "/listings/{slug}/flag":
    post:
      description: Flag a listing for inappropriate content or fraud
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                description:
                  description: User input description specifying what is flag-worthy about this listing
                  type: string
                reason:
                  description: "Valid reasons: 'Sexuality/nudity', 'Hateful or inappropriate speech', 'Item not as described or potential fraud', 'Trademark infringement', 'Other'"
                  type: string
              required:
                - reason
              type: object
        description: the content of the request
      responses:
        default:
          description: Unexpected error
      summary: Flag a listing for inappropriate content or fraud
      tags:
        - listings
  "/listings/{slug}/reviews":
    get:
      description: View reviews of a listing
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      summary: View reviews of a listing
      tags:
        - listings
    post:
      description: Create a review for a listing
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_reviews
      summary: Create a review for a listing
      tags:
        - listings
  "/listings/{slug}/similar_listings":
    get:
      description: Listing details
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      summary: Listing details
      tags:
        - listings
  /my/account:
    get:
      description: Get account details
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_profile
      summary: Get account details
      tags:
        - my
    put:
      description: Update account details
      requestBody:
        content:
          application/json:
            schema:
              properties:
                currency:
                  description: The currency preference for the account
                  type: string
                first_name:
                  description: The first name of the account holder
                  type: string
                last_name:
                  description: The last name of the account holder
                  type: string
                locale_code:
                  description: The locale code for the account
                  type: string
                shipping_region_code:
                  description: The shipping region preference for the account
                  type: string
                third_party_ad_data_consent:
                  description: The privacy setting preference for the account
                  type: boolean
              type: object
        description: the content of the request
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_profile
      summary: Update account details
      tags:
        - my
  /my/addresses:
    get:
      description: See all addresses in your address book
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_profile
      summary: See all addresses in your address book
      tags:
        - my
    post:
      description: Create a new address in your address book
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_profile
      summary: Create a new address in your address book
      tags:
        - my
  "/my/addresses/{address_id}":
    delete:
      description: Delete an existing address in your address book
      parameters:
        - in: path
          name: address_id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_profile
      summary: Delete an existing address in your address book
      tags:
        - my
    put:
      description: Update an existing address in your address book
      parameters:
        - in: path
          name: address_id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_profile
      summary: Update an existing address in your address book
      tags:
        - my
  /my/conversations:
    get:
      description: Get a list of your conversations
      parameters:
        - description: Query string to search conversations by
          in: query
          name: search
          required: false
          schema:
            type: string
        - description: Show unread conversations only
          in: query
          name: unread_only
          required: false
          schema:
            type: boolean
        - in: query
          name: page
          required: false
          schema:
            default: 1
            type: integer
        - in: query
          name: per_page
          required: false
          schema:
            default: 24
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_messages
      summary: Get a list of your conversations
      tags:
        - my
    post:
      description: Start a conversation
      requestBody:
        content:
          application/json:
            schema:
              properties:
                body:
                  description: The body of the message
                  type: string
                cloudinary_photos:
                  description: An array of cloudinary data hashes (Reverb internal use only).
                  items:
                    type: string
                  type: array
                listing_id:
                  description: The id of the listing being discussed
                  type: integer
                recipient_id:
                  description: The id of the user you are trying to contact
                  type: integer
                recipient_uuid:
                  description: The uuid of the user you are trying to contact
                  type: string
                shop_id:
                  description: The id of the shop you are trying to contact
                  type: string
              required:
                - body
              type: object
        description: the content of the request
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_messages
      summary: Start a conversation
      tags:
        - my
  "/my/conversations/{conversation_id}/messages":
    post:
      description: Send a message
      parameters:
        - in: path
          name: conversation_id
          required: true
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/Body2"
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_messages
      summary: Send a message
      tags:
        - my
  "/my/conversations/{id}":
    get:
      description: Display conversation details with messages in natural time order (oldest to newest)
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_messages
      summary: Display conversation details with messages in natural time order (oldest to newest)
      tags:
        - my
    put:
      description: Mark a conversation read/unread
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                read:
                  description: Should the conversation be marked as read
                  type: boolean
              type: object
        description: the content of the request
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_messages
      summary: Mark a conversation read/unread
      tags:
        - my
  /my/counts:
    get:
      description: Get your actionable status counts
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_profile
      summary: Get your actionable status counts
      tags:
        - my
  "/my/curated_set/product/{product_id}":
    delete:
      parameters:
        - in: path
          name: product_id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      tags:
        - my
    post:
      parameters:
        - in: path
          name: product_id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      tags:
        - my
  /my/feed:
    get:
      description: Get listings from your feed
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_lists
      summary: Get listings from your feed
      tags:
        - my
  /my/feed/customize:
    get:
      description: get your feed customization options
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_lists
      summary: get your feed customization options
      tags:
        - my
  /my/feed/grid:
    get:
      description: get your feed
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_lists
      summary: get your feed
      tags:
        - my
  /my/feedback/received:
    get:
      description: List of received feedback
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_feedback
      summary: List of received feedback
      tags:
        - my
  /my/feedback/sent:
    get:
      description: List of sent feedback
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_feedback
      summary: List of sent feedback
      tags:
        - my
  /my/follows:
    get:
      description: See what the user is following
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_lists
      summary: See what the user is following
      tags:
        - my
  /my/follows/articles:
    get:
      description: Returns a user's ArticleCategoryFollows
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_lists
      summary: Returns a user's ArticleCategoryFollows
      tags:
        - my
    post:
      description: Set a user's ArticleCategoryFollows
      requestBody:
        content:
          application/json:
            schema:
              properties:
                category_uuids:
                  type: string
              required:
                - category_uuids
              type: object
        description: the content of the request
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_lists
      summary: Set a user's ArticleCategoryFollows
      tags:
        - my
  "/my/follows/brands/{slug}":
    delete:
      description: Unfollow a brand
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_lists
      summary: Unfollow a brand
      tags:
        - my
    get:
      description: Follow status for a brand
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_lists
      summary: Follow status for a brand
      tags:
        - my
    post:
      description: Follow a brand
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_lists
      summary: Follow a brand
      tags:
        - my
  "/my/follows/categories/{category}/{subcategory}":
    delete:
      description: Unfollow a subcategory
      parameters:
        - in: path
          name: category
          required: true
          schema:
            type: string
        - in: path
          name: subcategory
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_lists
      summary: Unfollow a subcategory
      tags:
        - my
    get:
      description: Follow status for a subcategory
      parameters:
        - in: path
          name: category
          required: true
          schema:
            type: string
        - in: path
          name: subcategory
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_lists
      summary: Follow status for a subcategory
      tags:
        - my
    post:
      description: Follow a subcategory
      parameters:
        - in: path
          name: category
          required: true
          schema:
            type: string
        - in: path
          name: subcategory
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_lists
      summary: Follow a subcategory
      tags:
        - my
  "/my/follows/categories/{identifier}":
    delete:
      description: Unfollow a category
      parameters:
        - in: path
          name: identifier
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_lists
      summary: Unfollow a category
      tags:
        - my
    get:
      description: Follow status for a category
      parameters:
        - in: path
          name: identifier
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_lists
      summary: Follow status for a category
      tags:
        - my
    post:
      description: Follow a category
      parameters:
        - in: path
          name: identifier
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_lists
      summary: Follow a category
      tags:
        - my
  "/my/follows/categories/{uuid}":
    post:
      description: Follow a category
      parameters:
        - in: path
          name: uuid
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_lists
      summary: Follow a category
      tags:
        - my
  "/my/follows/collections/{slug}":
    delete:
      description: Unfollow a collection
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_lists
      summary: Unfollow a collection
      tags:
        - my
    get:
      description: Follow status for a collection
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_lists
      summary: Follow status for a collection
      tags:
        - my
    post:
      description: Follow a collection
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_lists
      summary: Follow a collection
      tags:
        - my
  "/my/follows/handpicked/{slug}":
    delete:
      description: Unfollow a handpicked collection
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_lists
      summary: Unfollow a handpicked collection
      tags:
        - my
    get:
      description: Follow status for a handpicked collection
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_lists
      summary: Follow status for a handpicked collection
      tags:
        - my
    post:
      description: Follow a handpicked collection
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_lists
      summary: Follow a handpicked collection
      tags:
        - my
  /my/follows/search:
    get:
      description: Follow status for a search
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_lists
      summary: Follow status for a search
      tags:
        - my
    post:
      description: Follow a search
      requestBody:
        content:
          application/json:
            schema:
              properties:
                accepts_gift_cards:
                  description: If true, include only items that accept gift cards
                  type: boolean
                accepts_payment_plans:
                  description: If true, only show items that can be purchased with a payment plan
                  type: boolean
                auction_price_max:
                  description: Maximum current auction price
                  format: float
                  type: number
                category:
                  description: Category slug from /api/categories
                  type: string
                conditions:
                  description: "Condition: all,new,b-stock,used,non-functioning,all-but-new,poor,fair,good,very-good,excellent,mint"
                  enum:
                    - all
                    - new
                    - b-stock
                    - used
                    - non-functioning
                    - all-but-new
                    - poor
                    - fair
                    - good
                    - very-good
                    - excellent
                    - mint
                  items:
                    type: string
                  type: array
                currency:
                  description: The currency to be used for the price filters
                  enum:
                    - USD
                    - CAD
                    - EUR
                    - GBP
                    - AUD
                    - JPY
                    - NZD
                    - MXN
                    - DKK
                    - SEK
                    - CHF
                    - ARS
                    - BRL
                    - HKD
                    - NOK
                    - PHP
                    - PLN
                    - RUB
                  type: string
                decade:
                  description: "Decade: e.g. 1970s, early 70s"
                  type: string
                exclude_auctions:
                  description: If true, exclude auctions
                  type: boolean
                finish:
                  description: Visual finish of the item, common for guitars
                  type: string
                handmade:
                  description: Handmade items only
                  type: boolean
                item_city:
                  description: City where item is located
                  type: string
                item_country:
                  description: DEPRECATED - Country code where item is located
                  type: string
                item_region:
                  description: Country code where item is located
                  type: string
                item_state:
                  description: State or region code where item is located
                  type: string
                listing_type:
                  description: "Type of listing: auctions,offers"
                  enum:
                    - auctions
                    - offers
                  type: string
                local_pickup:
                  description: Only items that offer local pickup
                  type: boolean
                make:
                  description: Make(s)/brand of item (e.g. Fender). Can take a single value or an array.
                  items:
                    type: string
                  type: array
                model:
                  description: Model of item (e.g. Stratocaster)
                  type: string
                must_not:
                  description: Search term negation. If you want to exclude a term, add it here
                  type: string
                not_ids:
                  description: Listing ID negation. If you want to exclude a listing, add it here.
                  items:
                    type: integer
                  type: array
                preferred_seller:
                  description: If true, include only items by Reverb Preferred Sellers
                  type: boolean
                price_max:
                  description: Maximum price of search results (USD)
                  format: float
                  type: number
                price_min:
                  description: Minimum price of search results (USD)
                  format: float
                  type: number
                product_type:
                  description: Product type slug from /api/categories
                  type: string
                query:
                  description: Search query.
                  type: string
                ships_to:
                  description: Limit search to items that ship to this country code
                  type: string
                shop:
                  description: Slug of shop to search
                  type: string
                shop_id:
                  description: ID of shop to search
                  type: string
                watchers_count_min:
                  description: Minimum number of watchers (used to find popular items)
                  type: integer
                year_max:
                  description: Maximum year of manufacture
                  type: integer
                year_min:
                  description: Minumum year of manufacture
                  type: integer
              type: object
        description: the content of the request
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_lists
      summary: Follow a search
      tags:
        - my
  "/my/follows/shops/{slug}":
    delete:
      description: Unfollow a shop
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_lists
      summary: Unfollow a shop
      tags:
        - my
    get:
      description: Follow status for a shop
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_lists
      summary: Follow status for a shop
      tags:
        - my
    post:
      description: Follow a shop
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_lists
      summary: Follow a shop
      tags:
        - my
  "/my/follows/{follow_id}":
    delete:
      description: Delete a follow
      parameters:
        - in: path
          name: follow_id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_lists
      summary: Delete a follow
      tags:
        - my
  "/my/follows/{follow_id}/alert":
    delete:
      parameters:
        - in: path
          name: follow_id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      tags:
        - my
    post:
      parameters:
        - in: path
          name: follow_id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      tags:
        - my
  /my/listings:
    get:
      description: Retrieve a list of live listings for the seller. To search all listings specify state=all
      parameters:
        - description: Search query.
          in: query
          name: query
          required: false
          schema:
            type: string
        - description: Maximum current auction price
          in: query
          name: auction_price_max
          required: false
          schema:
            format: float
            type: number
        - description: Category slug from /api/categories
          in: query
          name: category
          required: false
          schema:
            type: string
        - description: Product type slug from /api/categories
          in: query
          name: product_type
          required: false
          schema:
            type: string
        - description: "Condition: all,new,b-stock,used,non-functioning,all-but-new,poor,fair,good,very-good,excellent,mint"
          explode: false
          in: query
          name: conditions
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - description: "Decade: e.g. 1970s, early 70s"
          in: query
          name: decade
          required: false
          schema:
            type: string
        - description: Visual finish of the item, common for guitars
          in: query
          name: finish
          required: false
          schema:
            type: string
        - description: Handmade items only
          in: query
          name: handmade
          required: false
          schema:
            type: boolean
        - description: City where item is located
          in: query
          name: item_city
          required: false
          schema:
            type: string
        - description: DEPRECATED - Country code where item is located
          in: query
          name: item_country
          required: false
          schema:
            type: string
        - description: Country code where item is located
          in: query
          name: item_region
          required: false
          schema:
            type: string
        - description: State or region code where item is located
          in: query
          name: item_state
          required: false
          schema:
            type: string
        - description: Make(s)/brand of item (e.g. Fender). Can take a single value or an array.
          explode: false
          in: query
          name: make
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Model of item (e.g. Stratocaster)
          in: query
          name: model
          required: false
          schema:
            type: string
        - description: Search term negation. If you want to exclude a term, add it here
          in: query
          name: must_not
          required: false
          schema:
            type: string
        - description: Maximum price of search results (USD)
          in: query
          name: price_max
          required: false
          schema:
            format: float
            type: number
        - description: Minimum price of search results (USD)
          in: query
          name: price_min
          required: false
          schema:
            format: float
            type: number
        - description: The currency to be used for the price filters
          in: query
          name: currency
          required: false
          schema:
            type: string
        - description: Maximum year of manufacture
          in: query
          name: year_max
          required: false
          schema:
            type: integer
        - description: Minumum year of manufacture
          in: query
          name: year_min
          required: false
          schema:
            type: integer
        - description: If true, include only items that accept gift cards
          in: query
          name: accepts_gift_cards
          required: false
          schema:
            type: boolean
        - description: If true, include only items by Reverb Preferred Sellers
          in: query
          name: preferred_seller
          required: false
          schema:
            type: boolean
        - description: Slug of shop to search
          in: query
          name: shop
          required: false
          schema:
            type: string
        - description: ID of shop to search
          in: query
          name: shop_id
          required: false
          schema:
            type: string
        - description: "Type of listing: auctions,offers"
          in: query
          name: listing_type
          required: false
          schema:
            type: string
        - description: Limit search to items that ship to this country code
          in: query
          name: ships_to
          required: false
          schema:
            type: string
        - description: If true, exclude auctions
          in: query
          name: exclude_auctions
          required: false
          schema:
            type: boolean
        - description: If true, only show items that can be purchased with a payment plan
          in: query
          name: accepts_payment_plans
          required: false
          schema:
            type: boolean
        - description: Minimum number of watchers (used to find popular items)
          in: query
          name: watchers_count_min
          required: false
          schema:
            type: integer
        - description: Listing ID negation. If you want to exclude a listing, add it here.
          explode: false
          in: query
          name: not_ids
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Only items that offer local pickup
          in: query
          name: local_pickup
          required: false
          schema:
            type: boolean
        - description: "Available: [\"all\", \"draft\", \"ended\", \"live\", \"ordered\", \"sold_out\", \"suspended\", \"seller_unavailable\"]. Defaults to 'live'"
          in: query
          name: state
          required: false
          schema:
            default: live
            type: string
        - description: Find a listing by sku
          in: query
          name: sku
          required: false
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_listings
      summary: Retrieve a list of live listings for the seller. To search all listings specify state=all
      tags:
        - my
  /my/listings/drafts:
    get:
      description: Retrieve a list your draft listings
      parameters:
        - description: Search query.
          in: query
          name: query
          required: false
          schema:
            type: string
        - description: Maximum current auction price
          in: query
          name: auction_price_max
          required: false
          schema:
            format: float
            type: number
        - description: Category slug from /api/categories
          in: query
          name: category
          required: false
          schema:
            type: string
        - description: Product type slug from /api/categories
          in: query
          name: product_type
          required: false
          schema:
            type: string
        - description: "Condition: all,new,b-stock,used,non-functioning,all-but-new,poor,fair,good,very-good,excellent,mint"
          explode: false
          in: query
          name: conditions
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - description: "Decade: e.g. 1970s, early 70s"
          in: query
          name: decade
          required: false
          schema:
            type: string
        - description: Visual finish of the item, common for guitars
          in: query
          name: finish
          required: false
          schema:
            type: string
        - description: Handmade items only
          in: query
          name: handmade
          required: false
          schema:
            type: boolean
        - description: City where item is located
          in: query
          name: item_city
          required: false
          schema:
            type: string
        - description: DEPRECATED - Country code where item is located
          in: query
          name: item_country
          required: false
          schema:
            type: string
        - description: Country code where item is located
          in: query
          name: item_region
          required: false
          schema:
            type: string
        - description: State or region code where item is located
          in: query
          name: item_state
          required: false
          schema:
            type: string
        - description: Make(s)/brand of item (e.g. Fender). Can take a single value or an array.
          explode: false
          in: query
          name: make
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Model of item (e.g. Stratocaster)
          in: query
          name: model
          required: false
          schema:
            type: string
        - description: Search term negation. If you want to exclude a term, add it here
          in: query
          name: must_not
          required: false
          schema:
            type: string
        - description: Maximum price of search results (USD)
          in: query
          name: price_max
          required: false
          schema:
            format: float
            type: number
        - description: Minimum price of search results (USD)
          in: query
          name: price_min
          required: false
          schema:
            format: float
            type: number
        - description: The currency to be used for the price filters
          in: query
          name: currency
          required: false
          schema:
            type: string
        - description: Maximum year of manufacture
          in: query
          name: year_max
          required: false
          schema:
            type: integer
        - description: Minumum year of manufacture
          in: query
          name: year_min
          required: false
          schema:
            type: integer
        - description: If true, include only items that accept gift cards
          in: query
          name: accepts_gift_cards
          required: false
          schema:
            type: boolean
        - description: If true, include only items by Reverb Preferred Sellers
          in: query
          name: preferred_seller
          required: false
          schema:
            type: boolean
        - description: Slug of shop to search
          in: query
          name: shop
          required: false
          schema:
            type: string
        - description: ID of shop to search
          in: query
          name: shop_id
          required: false
          schema:
            type: string
        - description: "Type of listing: auctions,offers"
          in: query
          name: listing_type
          required: false
          schema:
            type: string
        - description: Limit search to items that ship to this country code
          in: query
          name: ships_to
          required: false
          schema:
            type: string
        - description: If true, exclude auctions
          in: query
          name: exclude_auctions
          required: false
          schema:
            type: boolean
        - description: If true, only show items that can be purchased with a payment plan
          in: query
          name: accepts_payment_plans
          required: false
          schema:
            type: boolean
        - description: Minimum number of watchers (used to find popular items)
          in: query
          name: watchers_count_min
          required: false
          schema:
            type: integer
        - description: Listing ID negation. If you want to exclude a listing, add it here.
          explode: false
          in: query
          name: not_ids
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Only items that offer local pickup
          in: query
          name: local_pickup
          required: false
          schema:
            type: boolean
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_listings
      summary: Retrieve a list your draft listings
      tags:
        - my
  /my/listings/negotiations:
    get:
      description: Get a list of active negotiations as a seller
      parameters:
        - in: query
          name: page
          required: false
          schema:
            default: 1
            type: integer
        - in: query
          name: per_page
          required: false
          schema:
            default: 24
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_offers
      summary: Get a list of active negotiations as a seller
      tags:
        - my
  "/my/listings/{slug}/state/end":
    put:
      description: End a listing
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                reason:
                  description: 'The reason this listing is being ended. Valid reasons: ["not_sold", "reverb_sale"].'
                  enum:
                    - not_sold
                    - reverb_sale
                  type: string
              required:
                - reason
              type: object
        description: the content of the request
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_listings
      summary: End a listing
      tags:
        - my
  /my/lists:
    get:
      description: Get a list of your lists (wishlist, watch list, etc)
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_lists
      summary: Get a list of your lists (wishlist, watch list, etc)
      tags:
        - my
  /my/negotiations/buying:
    get:
      description: Get a list of active negotiations as a buyer
      parameters:
        - in: query
          name: page
          required: false
          schema:
            default: 1
            type: integer
        - in: query
          name: per_page
          required: false
          schema:
            default: 24
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            type: integer
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_offers
      summary: Get a list of active negotiations as a buyer
      tags:
        - my
  "/my/negotiations/{id}":
    get:
      description: Get offer details
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_offers
      summary: Get offer details
      tags:
        - my
  "/my/negotiations/{id}/accept":
    post:
      description: Accept an offer
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                message:
                  description: Message to include with accepted offer
                  type: string
              type: object
        description: the content of the request
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_offers
      summary: Accept an offer
      tags:
        - my
  "/my/negotiations/{id}/counter":
    post:
      description: Counter an offer
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        $ref: "#/components/requestBodies/Body"
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_offers
      summary: Counter an offer
      tags:
        - my
  "/my/negotiations/{id}/decline":
    post:
      description: Decline an offer
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_offers
      summary: Decline an offer
      tags:
        - my
  /my/orders/awaiting_feedback:
    get:
      description: List of orders that need feedback
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_feedback
      summary: List of orders that need feedback
      tags:
        - my
  /my/orders/buying/all:
    get:
      description: Returns all orders, newest first.
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_orders
      summary: Returns all orders, newest first.
      tags:
        - my
  "/my/orders/buying/by_uuid/{uuid}":
    get:
      parameters:
        - in: path
          name: uuid
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      tags:
        - my
  /my/orders/buying/unpaid:
    get:
      description: Returns unpaid orders, newest first.
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_orders
      summary: Returns unpaid orders, newest first.
      tags:
        - my
  "/my/orders/buying/{id}":
    get:
      description: Returns order details for a buyer
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_orders
      summary: Returns order details for a buyer
      tags:
        - my
  "/my/orders/buying/{id}/mark_received":
    post:
      description: Marks an order as received by the buyer
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_orders
      summary: Marks an order as received by the buyer
      tags:
        - my
  /my/orders/selling/all:
    get:
      description: Get all seller orders, newest first.
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_orders
      summary: Get all seller orders, newest first.
      tags:
        - my
  /my/orders/selling/awaiting_shipment:
    get:
      description: Get unpaid seller orders, newest first.
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_orders
      summary: Get unpaid seller orders, newest first.
      tags:
        - my
  "/my/orders/selling/buyer_history/{buyer_id}":
    get:
      description: See previous orders from buyer
      parameters:
        - in: path
          name: buyer_id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_orders
      summary: See previous orders from buyer
      tags:
        - my
  "/my/orders/selling/by_uuid/{uuid}":
    get:
      parameters:
        - in: path
          name: uuid
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      tags:
        - my
  /my/orders/selling/unpaid:
    get:
      description: Get unpaid seller orders, newest first.
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_orders
      summary: Get unpaid seller orders, newest first.
      tags:
        - my
  "/my/orders/selling/{id}":
    get:
      description: Returns order details for a seller
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_orders
      summary: Returns order details for a seller
      tags:
        - my
  "/my/orders/selling/{id}/mark_picked_up":
    post:
      description: Marks an order as picked up
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                date:
                  description: Date the item was picked up.
                  type: string
              type: object
        description: the content of the request
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_orders
      summary: Marks an order as picked up
      tags:
        - my
  "/my/orders/selling/{id}/ship":
    post:
      description: Marks an order as shipped
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                provider:
                  description: "Shipping provider: One of UPS, USPS, FedEx, DHL Deutschland, DHLExpress, DHLGlobalMail, DHL, Canada Post, CanPar, Royal Mail, PostNL, Australia Post, EMS, La Poste - Colissimo, China Post, GLS, Parcelforce, Purolator, Interlogistica, Correos España, Ukraine Post, DPD Germany, DPD UK, DPD France, Hermes, TNT, Other"
                  type: string
                send_notification:
                  description: Should we send an email notification to the buyer
                  type: boolean
                tracking_number:
                  description: Tracking number provided by the shipping provider
                  type: string
              required:
                - provider
                - tracking_number
                - send_notification
              type: object
        description: the content of the request
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_orders
      summary: Marks an order as shipped
      tags:
        - my
  "/my/orders/selling/{order_id}/refund_requests":
    post:
      description: Initiate a refund for a sold order
      parameters:
        - in: path
          name: order_id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_orders
      summary: Initiate a refund for a sold order
      tags:
        - my
  /my/payments/selling:
    get:
      description: Get payments
      parameters:
        - in: query
          name: page
          required: false
          schema:
            default: 1
            type: integer
        - in: query
          name: per_page
          required: false
          schema:
            default: 24
            type: integer
        - in: query
          name: offset
          required: false
          schema:
            type: integer
        - description: "Filter by date created in ISO8601 format - e.g: 2015-04-09T10:52:23-00:00"
          in: query
          name: created_start_date
          required: false
          schema:
            type: string
        - description: "Filter by date created in ISO8601 format - e.g: 2015-04-09T10:52:23-00:00"
          in: query
          name: created_end_date
          required: false
          schema:
            type: string
        - description: "Filter by date modified in ISO8601 format - e.g: 2015-04-09T10:52:23-00:00"
          in: query
          name: updated_start_date
          required: false
          schema:
            type: string
        - description: "Filter by date modified in ISO8601 format - e.g: 2015-04-09T10:52:23-00:00"
          in: query
          name: updated_end_date
          required: false
          schema:
            type: string
        - description: Look up payments by order id
          in: query
          name: order_id
          required: false
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_orders
      summary: Get payments
      tags:
        - my
  "/my/payments/selling/{id}":
    get:
      description: Get payment
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_orders
      summary: Get payment
      tags:
        - my
  /my/payouts:
    get:
      description: Get a list of payouts
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_payouts
      summary: Get a list of payouts
      tags:
        - my
  "/my/payouts/{id}/line_items":
    get:
      description: Read the line items of a payout
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_payouts
      summary: Read the line items of a payout
      tags:
        - my
  /my/refund_requests/selling:
    get:
      description: Get a list of refund requests as a seller
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_orders
      summary: Get a list of refund requests as a seller
      tags:
        - my
  "/my/refund_requests/selling/{id}":
    put:
      description: Update a refund request for a sold order
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_orders
      summary: Update a refund request for a sold order
      tags:
        - my
  /my/viewed_listings:
    get:
      description: Get a list of your recently viewed listings.
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_lists
      summary: Get a list of your recently viewed listings.
      tags:
        - my
  /my/wishlist:
    get:
      description: Get a list of wishlisted items
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_lists
      summary: Get a list of wishlisted items
      tags:
        - my
  "/my/wishlist/{id}":
    delete:
      description: Remove a listing from your wishlist
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_lists
      summary: Remove a listing from your wishlist
      tags:
        - my
    put:
      description: Add a listing to your wishlist
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_lists
      summary: Add a listing to your wishlist
      tags:
        - my
  "/orders/{order_id}/feedback/buyer":
    get:
      description: Feedback details for an order's buyer
      parameters:
        - in: path
          name: order_id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      summary: Feedback details for an order's buyer
      tags:
        - orders
    post:
      description: Add feedback about an order's buyer
      parameters:
        - in: path
          name: order_id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_feedback
      summary: Add feedback about an order's buyer
      tags:
        - orders
  "/orders/{order_id}/feedback/seller":
    get:
      description: Feedback details for an order's seller
      parameters:
        - in: path
          name: order_id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      summary: Feedback details for an order's seller
      tags:
        - orders
    post:
      description: Add feedback about an order's seller
      parameters:
        - in: path
          name: order_id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_feedback
      summary: Add feedback about an order's seller
      tags:
        - orders
  /payment_methods:
    get:
      description: Get list of payment methods
      responses:
        default:
          description: Unexpected error
      summary: Get list of payment methods
      tags:
        - payment_methods
  "/priceguide/{id}/transactions/summary":
    get:
      description: Get a summary of transactions for a given price guide
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
        - in: query
          name: number_of_months
          required: false
          schema:
            default: 3
            type: integer
        - in: query
          name: condition
          required: false
          schema:
            default: used
            type: string
      responses:
        default:
          description: Unexpected error
      summary: Get a summary of transactions for a given price guide
      tags:
        - priceguide
  "/products/reviews/{id}":
    get:
      description: View a review
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      summary: View a review
      tags:
        - products
    put:
      description: Update a review
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                body:
                  description: Content of the review
                  type: string
                rating:
                  description: Rating from 1 to 5
                  type: integer
                title:
                  description: Title for the review
                  type: string
              type: object
        description: the content of the request
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_reviews
      summary: Update a review
      tags:
        - products
  "/products/{slug}/reviews":
    get:
      description: View reviews of a comparison shopping page
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      summary: View reviews of a comparison shopping page
      tags:
        - products
    post:
      description: Create a review for a product
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_reviews
      summary: Create a review for a product
      tags:
        - products
  /sales/reverb:
    get:
      description: View upcoming and live Reverb official sales.
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_listings
      summary: View upcoming and live Reverb official sales.
      tags:
        - sales
  /sales/seller:
    get:
      description: View your created sales.
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_listings
      summary: View your created sales.
      tags:
        - sales
  "/sales/{sale_id}/listings":
    delete:
      description: Remove a listing from a sale
      parameters:
        - in: path
          name: sale_id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_listings
      summary: Remove a listing from a sale
      tags:
        - sales
    post:
      description: Add listings to a sale
      parameters:
        - in: path
          name: sale_id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_listings
      summary: Add listings to a sale
      tags:
        - sales
  "/sales/{slug}":
    get:
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      tags:
        - sales
  /shipping/providers:
    get:
      description: List of supported shipping providers
      responses:
        default:
          description: Unexpected error
      summary: List of supported shipping providers
      tags:
        - shipping
  /shipping/regions:
    get:
      responses:
        default:
          description: Unexpected error
      tags:
        - shipping
  /shop:
    get:
      description: Get your own shop details
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_profile
      summary: Get your own shop details
      tags:
        - shop
    put:
      description: Update your shop profile
      requestBody:
        content:
          application/json:
            schema:
              properties:
                address:
                  properties:
                    country_code:
                      type: string
                    extended_address:
                      type: string
                    locality:
                      type: string
                    name:
                      type: string
                    phone:
                      type: string
                    postal_code:
                      type: string
                    region:
                      type: string
                    street_address:
                      type: string
                  type: object
                currency:
                  enum:
                    - USD
                    - CAD
                    - EUR
                    - GBP
                    - AUD
                    - JPY
                    - NZD
                    - MXN
                  type: string
                description:
                  type: string
                legal_country_code:
                  enum:
                    - AD
                    - AE
                    - AF
                    - AG
                    - AI
                    - AL
                    - AM
                    - AO
                    - AR
                    - AS
                    - AT
                    - AU
                    - AW
                    - AX
                    - AZ
                    - BA
                    - BB
                    - BD
                    - BE
                    - BF
                    - BG
                    - BH
                    - BI
                    - BJ
                    - BL
                    - BM
                    - BN
                    - BO
                    - BQ
                    - BR
                    - BS
                    - BT
                    - BV
                    - BW
                    - BY
                    - BZ
                    - CA
                    - CC
                    - CD
                    - CF
                    - CG
                    - CH
                    - CI
                    - CK
                    - CL
                    - CM
                    - CN
                    - CO
                    - CR
                    - CV
                    - CW
                    - CX
                    - CY
                    - CZ
                    - DE
                    - DJ
                    - DK
                    - DM
                    - DO
                    - DZ
                    - EC
                    - EE
                    - EG
                    - EH
                    - ER
                    - ES
                    - ET
                    - FI
                    - FJ
                    - FK
                    - FM
                    - FO
                    - FR
                    - GA
                    - GB
                    - GD
                    - GE
                    - GF
                    - GG
                    - GH
                    - GI
                    - GL
                    - GM
                    - GN
                    - GP
                    - GQ
                    - GR
                    - GS
                    - GT
                    - GU
                    - GW
                    - GY
                    - HK
                    - HM
                    - HN
                    - HR
                    - HT
                    - HU
                    - ID
                    - IE
                    - IL
                    - IM
                    - IN
                    - IO
                    - IQ
                    - IS
                    - IT
                    - JE
                    - JM
                    - JO
                    - JP
                    - KE
                    - KG
                    - KH
                    - KI
                    - KM
                    - KN
                    - KR
                    - KW
                    - KY
                    - KZ
                    - LA
                    - LB
                    - LC
                    - LI
                    - LK
                    - LR
                    - LS
                    - LT
                    - LU
                    - LV
                    - LY
                    - MA
                    - MC
                    - MD
                    - ME
                    - MF
                    - MG
                    - MH
                    - MK
                    - ML
                    - MM
                    - MN
                    - MO
                    - MP
                    - MQ
                    - MR
                    - MS
                    - MT
                    - MU
                    - MV
                    - MW
                    - MX
                    - MY
                    - MZ
                    - NA
                    - NC
                    - NE
                    - NF
                    - NG
                    - NI
                    - NL
                    - NO
                    - NP
                    - NR
                    - NU
                    - NZ
                    - OM
                    - PA
                    - PE
                    - PF
                    - PG
                    - PH
                    - PK
                    - PL
                    - PM
                    - PN
                    - PS
                    - PT
                    - PW
                    - PY
                    - QA
                    - RE
                    - RO
                    - RS
                    - RU
                    - RW
                    - SA
                    - SB
                    - SC
                    - SE
                    - SG
                    - SH
                    - SI
                    - SJ
                    - SK
                    - SL
                    - SM
                    - SN
                    - SO
                    - SR
                    - SS
                    - ST
                    - SV
                    - SX
                    - SZ
                    - TC
                    - TD
                    - TF
                    - TG
                    - TH
                    - TJ
                    - TK
                    - TL
                    - TM
                    - TN
                    - TO
                    - TR
                    - TT
                    - TV
                    - TW
                    - TZ
                    - UA
                    - UG
                    - UM
                    - US
                    - UY
                    - UZ
                    - VA
                    - VC
                    - VE
                    - VG
                    - VI
                    - VN
                    - VU
                    - WF
                    - WS
                    - YE
                    - YT
                    - ZA
                    - ZM
                    - ZW
                  type: string
                legal_country_code_confirmed:
                  enum:
                    - true
                  type: boolean
                name:
                  type: string
                payment_policy:
                  type: string
                return_policy:
                  type: string
                shipping_policy:
                  type: string
                shop_type:
                  enum:
                    - individual
                    - business
                  type: string
                website:
                  type: string
              type: object
        description: the content of the request
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_profile
      summary: Update your shop profile
      tags:
        - shop
  /shop/listing_conditions:
    get:
      description: List of supported product conditions
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_profile
      summary: List of supported product conditions
      tags:
        - shop
  /shop/payment_methods:
    get:
      description: Get accepted payment methods
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_profile
      summary: Get accepted payment methods
      tags:
        - shop
  /shop/vacation:
    delete:
      description: Disable vacation mode. All listings will be re-enabled.
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_profile
      summary: Disable vacation mode. All listings will be re-enabled.
      tags:
        - shop
    get:
      description: Returns shop vacation status
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_profile
      summary: Returns shop vacation status
      tags:
        - shop
    post:
      description: Enable vacation mode. All listings will be unavailable until vacation mode is turned off.
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_profile
      summary: Enable vacation mode. All listings will be unavailable until vacation mode is turned off.
      tags:
        - shop
  "/shops/{id}/storefronts":
    get:
      description: Get storefront details on a shop.
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      summary: Get storefront details on a shop.
      tags:
        - shops
  "/shops/{shop_id}/shipping_profiles":
    get:
      description: List of shipping profiles for your shop
      parameters:
        - in: path
          name: shop_id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_profile
      summary: List of shipping profiles for your shop
      tags:
        - shops
  "/shops/{slug}":
    get:
      description: Get details on a shop.
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
        - description: Include the live listing count in the response.
          in: query
          name: include_listing_count
          required: false
          schema:
            type: boolean
      responses:
        default:
          description: Unexpected error
      summary: Get details on a shop.
      tags:
        - shops
  "/shops/{slug}/feedback":
    get:
      description: Get seller's feedback
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      summary: Get seller's feedback
      tags:
        - shops
  "/shops/{slug}/feedback/buyer":
    get:
      description: Get seller's feedback as a buyer
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      summary: Get seller's feedback as a buyer
      tags:
        - shops
  "/shops/{slug}/feedback/seller":
    get:
      description: Get seller's feedback as a seller
      parameters:
        - in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      summary: Get seller's feedback as a seller
      tags:
        - shops
  /wants:
    get:
      description: A list of wanted items by the user
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - read_lists
      summary: A list of wanted items by the user
      tags:
        - wants
  "/wants/{id}":
    delete:
      description: Unmark an item wanted.
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_lists
      summary: Unmark an item wanted.
      tags:
        - wants
    put:
      description: Mark an item wanted. Returns 200 on success or 422 on failure.
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - write_lists
      summary: Mark an item wanted. Returns 200 on success or 422 on failure.
      tags:
        - wants
  /webhooks/registrations:
    get:
      description: Get webhook registrations
      responses:
        default:
          description: Unexpected error
      summary: Get webhook registrations
      tags:
        - webhooks
    post:
      description: Register a webhook
      requestBody:
        content:
          application/json:
            schema:
              properties:
                topic:
                  description: "Valid values: listings/update, listings/publish, listings/bumps-ran-out, orders/create, orders/update, payments/create, payments/update, app/uninstalled"
                  enum:
                    - listings/update
                    - listings/publish
                    - listings/bumps-ran-out
                    - orders/create
                    - orders/update
                    - payments/create
                    - payments/update
                    - app/uninstalled
                  type: string
                url:
                  type: string
              required:
                - url
                - topic
              type: object
        description: the content of the request
      responses:
        default:
          description: Unexpected error
      summary: Register a webhook
      tags:
        - webhooks
  "/webhooks/registrations/{id}":
    delete:
      description: Remove a webhook
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      summary: Remove a webhook
      tags:
        - webhooks
    get:
      description: Get details of a webhook registration
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      summary: Get details of a webhook registration
      tags:
        - webhooks
components:
  requestBodies:
    Body:
      content:
        application/json:
          schema:
            properties:
              country_code:
                type: string
              layaway_terms_slug:
                type: string
              message:
                description: Message to include with counter offer
                type: string
              offer_items:
                items:
                  properties:
                    listing_id:
                      type: string
                    price:
                      type: string
                    shipping_price:
                      type: string
                  required:
                    - price
                    - shipping_price
                    - listing_id
                  type: object
                type: array
              price:
                properties:
                  amount:
                    description: The amount of money being expressed, as a POSIX-compliant decimal number
                    type: string
                  currency:
                    description: The currency the money will be expressed in
                    enum:
                      - USD
                      - CAD
                      - EUR
                      - GBP
                      - AUD
                      - JPY
                      - NZD
                      - MXN
                    type: string
                required:
                  - amount
                  - currency
                type: object
              quantity:
                type: string
              recipient_id:
                description: ID of the recipient of the offer. Required if you are the seller pushing an offer to a buyer.
                type: string
              region_code:
                type: string
              shipping_price:
                description: Shipping price (sellers only)
                properties:
                  amount:
                    description: The amount of money being expressed, as a POSIX-compliant decimal number
                    type: string
                  currency:
                    description: The currency the money will be expressed in
                    enum:
                      - USD
                      - CAD
                      - EUR
                      - GBP
                      - AUD
                      - JPY
                      - NZD
                      - MXN
                    type: string
                required:
                  - amount
                  - currency
                type: object
            type: object
      description: the content of the request
    Body2:
      content:
        application/json:
          schema:
            properties:
              body:
                type: string
            required:
              - body
            type: object
      description: the content of the request
    Body3:
      content:
        application/json:
          schema:
            properties:
              message:
                description: Message to include with counter offer
                type: string
              price:
                description: Offer price
                type: string
              shipping_price:
                description: Shipping price (sellers only)
                type: string
            required:
              - price
            type: object
      description: the content of the request
  securitySchemes:
    oauth2:
      flows:
        clientCredentials:
          scopes:
            public: ""
            read_feedback: "*Originally missing*"
            read_listings: "*Originally missing*"
            read_lists: "*Originally missing*"
            read_messages: "*Originally missing*"
            read_offers: "*Originally missing*"
            read_orders: "*Originally missing*"
            read_payouts: "*Originally missing*"
            read_profile: "*Originally missing*"
            write_feedback: "*Originally missing*"
            write_listings: "*Originally missing*"
            write_listings_for_others: "*Originally missing*"
            write_lists: "*Originally missing*"
            write_messages: "*Originally missing*"
            write_offers: "*Originally missing*"
            write_orders: "*Originally missing*"
            write_profile: "*Originally missing*"
            write_reviews: "*Originally missing*"
          tokenUrl: https://reverb.com/oauth/token
      type: oauth2
