Ordoro Product API

The Product API from Ordoro — 21 operation(s) for product.

OpenAPI Specification

ordoro-product-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Ordoro API Documentation Address Product API
  description: "# Introduction\n\nThe Ordoro API can be used to access data or integrate to add functionality to Ordoro. The Ordoro API uses the application/json Content-Type. The Ordoro API documentation is in beta. [See our forum](https://forums.ordoro.com) for questions or comments to help us improve the docs or request features.\n#### Note: Any routes with a /v3 designation will not allow for trailing slashes while all other routes and endpoints will require a trailing slash.\n\n# Authentication\n\nThe Ordoro API uses [Basic HTTP Authentication](http://en.wikipedia.org/wiki/Basic_access_authentication). Please create API keys via Settings->Account Settings->API Keys in app and use those for basic auth in your API requests.\n\n# Additional Resources\n\nFor a look at some code examples on how to use the API check out our github repo https://github.com/ordoro/api-examples.\n\n# API Responses\n\nMost of our endpoints return either a list of objects or a single object instance. They share similar response shapes.\n\n## List endpoints\n\nList endpoints respond with the following parameters:\n\n| Name           | Type                     | Description |\n|----------------|--------------------------|-------------|\n| `count`        | int                      | The total number of objects returned by a query ( **not** necessarily the number of objects included in a response). |\n| `limit`        | int                      | The maximum number of objects returned per request. Defaults to 10. Maximum is 100. You can set this as a URL parameter. |\n| `offset`       | int                      | The number of objects being offset in the response. May be altered as a URL Parameter. |\n| `<model name>` | array | An array of objects. The name of the model should be singular. For example, the /v3/order endpoint will have an `order` parameter, as opposed to `orders`.|\n\nHere is an example response for the `/v3/order` list endpoint.\n\n```\n{\n    \"count\": 2,\n    \"limit\": 10,\n    \"offset\" 0,\n    \"order\": [\n        {\n            // an order object\n        },\n        {\n            // another order object\n        }\n    ]\n}\n```\n\n## Instance endpoints\n\nInstance endpoints return a single instance of a serialized model. `/v3/order/{order_number}` is an example of an instance endpoint.\n\n# Error Handling\n\nError responses contain the following parameters:\n\n| Name            | Type             | Description                                                          |\n|-----------------|------------------|----------------------------------------------------------------------|\n| `error_message` | string           | Some human-readable error message.                                   |\n| `param`         | string or `null` | The name of the corresponding parameter, or null for general errors. |\n\n# Rate Limiting\n\nAPI requests will be limited to 500 requests per minute. Any requests over this threshold will respond with a 429 status code."
  contact: {}
  version: '1.0'
servers:
- url: https://api.ordoro.com/
  variables: {}
tags:
- name: Product
  description: ''
paths:
  /product/:
    get:
      tags:
      - Product
      summary: List Products
      description: ''
      operationId: Product_GET
      parameters:
      - $ref: '#/components/parameters/offsetParam'
      - $ref: '#/components/parameters/limitParam'
      - $ref: '#/components/parameters/searchParam'
      - name: sort
        in: query
        description: ''
        style: form
        explode: true
        schema:
          $ref: '#/components/schemas/ProductSort'
      - name: fba
        in: query
        description: 'Filter products by sales channel FBA (Fulfilled By Amazon) status. This is only applicable for products tied to at least one Amazon sales channel.

          * `true` will include any products that are considred FBA by at least one sales channel

          * `false` will exclude any products that are considred FBA by at least one sales channel

          '
        style: form
        schema:
          type: boolean
      - name: fbm
        in: query
        description: 'Filter products by sales channel FBM (Fulfilled By Merchant) status. This is only applicable for products tied to at least one Amazon sales channel.

          * `true` will include any products that are considred FBM by at least one sales channel

          * `false` will exclude any products that are considred FBM by at least one sales channel

          '
        style: form
        schema:
          type: boolean
      - name: category
        in: query
        description: Filter by product category.
        style: form
        schema:
          type: string
      - name: hs_code
        in: query
        description: Filter by product Harmonized System Code.
        style: form
        schema:
          type: string
      - name: active
        in: query
        description: Filter by active `true` or inactive `false` products.
        style: form
        schema:
          type: boolean
      - name: kit
        in: query
        description: Filter products that are `true` or are not `false` kit parents.
        style: form
        schema:
          type: boolean
      - name: kit_component
        in: query
        description: Filter products that are `true` or are not `false` kit components.
        style: form
        schema:
          type: boolean
      - name: dropship
        in: query
        description: 'Filter by dropship status.

          * `true` will return products that are either dropshippable or automatically dropshipped

          * `false` will return only products handled in house

          '
        style: form
        schema:
          type: boolean
      - name: needs_sync
        in: query
        description: Filter products who do `true` or do not `false` need have their inventory synced with one or more sales channels.
        style: form
        schema:
          type: boolean
      - name: supplier
        in: query
        description: 'Filter by supplier id.


          Notes: The default behavior of this param is to filter by the product''s assigned suppliers.

          However, if `reordered=true` is also passed, then this param will filter products that are listed on PO''s assigned to the included supplier id.

          '
        style: form
        schema:
          type: array
          items:
            type: integer
      - name: sales_channel
        in: query
        description: Filter by sales channel id. Can be repeated for multiple sales channels.
        style: form
        schema:
          type: array
          items:
            type: integer
      - name: low_inventory_aoh
        in: query
        description: Filter products with `true` or without `false` low inventory with respect to available on hand
        style: form
        schema:
          type: boolean
      - name: low_inventory_poh
        in: query
        description: Filter products with `true` or without `false` low inventory with respect to physical on hand
        style: form
        schema:
          type: boolean
      - name: to_be_shipped
        in: query
        description: Filter products with `true` or without `false` committed inventory.
        style: form
        schema:
          type: boolean
      - name: oversold
        in: query
        description: Filter products that are `true` or are not `false` oversold.
        style: form
        schema:
          type: boolean
      - name: reordered
        in: query
        description: Filter products that are `true` or are not `false` reordered. Can be refined by also including the `warehouse_id` param.
        style: form
        schema:
          type: boolean
      - name: overallocated
        in: query
        description: Filter products that are `true` or are not `false` overallocated. Can be refined by also including the `warehouse_id` param.
        style: form
        schema:
          type: boolean
      - name: tag
        in: query
        description: 'Filter by tag name. Can be repeated for multiple tags.


          Note: Cannot be included if `untagged` is also passed.

          '
        style: form
        schema:
          type: array
          items:
            type: string
      - name: untagged
        in: query
        description: 'Filter untagged products


          Note: Cannot be included if `tags` are also passed.

          '
        style: form
        schema:
          type: boolean
      - name: tag_filter_by
        in: query
        description: 'Tag filtering logic:

          * `or` [default] return products that contain any of the supplied tags

          * `and` returns products containing ALL of the supplied tags

          * `only` returns products containing ONLY the supplied tags

          * `not` returns products that do not contain one or more of the supplied tags

          '
        style: form
        explode: true
        schema:
          $ref: '#/components/schemas/tag_filter_by'
      - name: warehouse_id
        in: query
        description: Filter by warehouse id. Can be repeated for multiple warehouses.
        style: form
        explode: true
        schema:
          type: array
          items:
            type: integer
      - name: updated_after
        in: query
        description: Filter products updated after this date
        style: form
        schema:
          type: string
          format: date-time
      - name: updated_before
        in: query
        description: Filter products updated before this date
        style: form
        schema:
          type: string
          format: date-time
      - name: cart
        in: query
        description: Deprecated. Use `sales_channel` instead.
        style: form
        explode: true
        schema:
          type: integer
        deprecated: true
      responses:
        '200':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/product_list'
      deprecated: false
    post:
      tags:
      - Product
      summary: Create a Product
      operationId: Product_POST
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/post_product'
      responses:
        '201':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/product'
      deprecated: false
  /product/{sku}/:
    get:
      tags:
      - Product
      summary: Get a product by SKU
      description: ''
      operationId: ProductBySku_GET
      parameters:
      - $ref: '#/components/parameters/skuPath'
      responses:
        '200':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/product'
      deprecated: false
    put:
      tags:
      - Product
      summary: Update a product by SKU
      operationId: ProductBySku_PUT
      description: Update a product by SKU.
      parameters:
      - $ref: '#/components/parameters/skuPath'
      responses:
        '200':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/product'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/put_product'
      deprecated: false
  /product/{sku}/archive/:
    post:
      tags:
      - Product
      summary: Archive a product By SKU
      description: ''
      operationId: ProductArchiveBySku_POST
      parameters:
      - $ref: '#/components/parameters/skuPath'
      responses:
        '200':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/product'
      deprecated: false
  /product/{sku}/unarchive/:
    post:
      tags:
      - Product
      summary: Unarchive a product by SKU
      description: ''
      operationId: ProductUnarchiveBySku_POST
      parameters:
      - $ref: '#/components/parameters/skuPath'
      responses:
        '200':
          description: ''
          headers: {}
      deprecated: false
  /product/{sku}/fulfillment/:
    put:
      tags:
      - Product
      summary: Update a Product's Fulfillment by SKU
      description: ''
      operationId: ProductFulfillmentBySku_PUT
      parameters:
      - $ref: '#/components/parameters/skuPath'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/put_product_fulfillment'
      responses:
        '200':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/product'
      deprecated: false
  /product/{sku}/image/:
    get:
      tags:
      - Product
      summary: Get a Product's Images by SKU
      description: ''
      operationId: ProductImageBySku_GET
      parameters:
      - $ref: '#/components/parameters/skuPath'
      responses:
        '200':
          description: ''
          headers: {}
      deprecated: false
    post:
      tags:
      - Product
      summary: Add Images to a product by SKU
      description: ''
      operationId: ProductImageBySku_POST
      parameters:
      - $ref: '#/components/parameters/skuPath'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/post_product_image'
      responses:
        '200':
          description: ''
          headers: {}
      deprecated: false
  /product/{sku}/kit_component/:
    post:
      tags:
      - Product
      summary: Create a Product Kit Component by SKU
      description: Add a `child_sku` as a kit component to the parent `sku`
      operationId: ProductKitComponentBySku_POST
      parameters:
      - $ref: '#/components/parameters/skuPath'
      responses:
        '201':
          description: ''
          headers: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/post_kit_component'
      deprecated: false
    put:
      tags:
      - Product
      summary: Update a Product Kit Component by SKU
      description: Update a `child_sku` of a parent `sku`
      operationId: ProductKitComponentBySku_PUT
      parameters:
      - $ref: '#/components/parameters/skuPath'
      responses:
        '200':
          description: ''
          headers: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/post_kit_component'
      deprecated: false
    delete:
      tags:
      - Product
      summary: Delete a Product Kit Component by SKU
      description: ''
      operationId: ProductKitComponentBySku_DELETE
      parameters:
      - name: child_sku
        in: query
        description: ''
        required: true
        style: form
        explode: true
        schema:
          type: string
      - $ref: '#/components/parameters/skuPath'
      responses:
        '200':
          description: ''
          headers: {}
      deprecated: false
  /product/{sku}/kit_graph/:
    get:
      tags:
      - Product
      summary: Get a Product's Kit Graph by SKU
      description: ''
      operationId: ProductKitGraphBySku_GET
      parameters:
      - $ref: '#/components/parameters/skuPath'
      - $ref: '#/components/parameters/offsetParam'
      - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: ''
          headers: {}
      deprecated: false
  /product/{sku}/supplier/{supplier_id}/:
    put:
      tags:
      - Product
      summary: Update a Product Supplier by SKU and Supplier ID
      description: ''
      operationId: ProductSupplierBySkuAndSupplierId_PUT
      parameters:
      - $ref: '#/components/parameters/skuPath'
      - $ref: '#/components/parameters/supplierPath'
      responses:
        '200':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/product'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/put_product_supplier'
      deprecated: false
    delete:
      tags:
      - Product
      summary: Delete a Product Supplier by SKU and Supplier ID
      description: ''
      operationId: ProductSupplierBySkuAndSupplierId_DELETE
      parameters:
      - $ref: '#/components/parameters/skuPath'
      - name: supplier_id
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/product'
      deprecated: false
  /product/{sku}/default_supplier/:
    delete:
      tags:
      - Product
      summary: Delete a Product's Default Supplier by SKU
      description: ''
      operationId: ProductDefaultSupplierBySku_DELETE
      parameters:
      - $ref: '#/components/parameters/skuPath'
      responses:
        '200':
          description: ''
          headers: {}
      deprecated: false
  /product/{sku}/default_supplier/{supplier_id}/:
    post:
      tags:
      - Product
      summary: Create a Product's Default Supplier by SKU and Supplier ID
      description: ''
      operationId: ProductDefaultSupplierBySkuAndSupplierId_POST
      parameters:
      - $ref: '#/components/parameters/skuPath'
      - $ref: '#/components/parameters/supplierPath'
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: ''
          headers: {}
      deprecated: false
  /product/{sku}/cart/{cart_id}/:
    get:
      tags:
      - Product
      summary: Get a Product Cart Bridge by SKU and Cart ID
      description: ''
      operationId: ProductCartBySkuAndCartId_GET
      parameters:
      - $ref: '#/components/parameters/skuPath'
      - name: cart_id
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: ''
          headers: {}
      deprecated: false
    put:
      tags:
      - Product
      summary: Update a Product Cart Bridge by SKU and Cart ID
      description: ''
      operationId: ProductCartBySkuAndCartId_GET
      parameters:
      - $ref: '#/components/parameters/skuPath'
      - name: cart_id
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: ''
          headers: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/put_product_cart_bridge'
      deprecated: false
  /product/{sku}/cart/{cart_id}/extra_info/:
    get:
      tags:
      - Product
      summary: Get a Product's Extra Info by SKU and Cart ID
      description: ''
      operationId: ProductCartExtraInfoBySkuAndCartId_GET
      parameters:
      - $ref: '#/components/parameters/skuPath'
      - $ref: '#/components/parameters/offsetParam'
      - $ref: '#/components/parameters/limitParam'
      - $ref: '#/components/parameters/searchParam'
      - name: sort
        in: query
        description: ''
        style: form
        explode: true
        schema:
          type: string
      - name: cart_id
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: ''
          headers: {}
      deprecated: false
    post:
      tags:
      - Product
      summary: Create a Product's Extra Info by SKU and Cart ID
      description: ''
      operationId: ProductCartExtraInfoBySkuAndCartId_POST
      parameters:
      - $ref: '#/components/parameters/skuPath'
      - name: cart_id
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: ''
          headers: {}
        '201':
          description: ''
          headers: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/post_product_extra_info'
      deprecated: false
  /product/{sku}/cart/{cart_id}/extra_info/{extra_info_id}:
    put:
      tags:
      - Product
      summary: Update a Product's Extra Info by SKU/Cart ID/Extra Info ID
      description: ''
      operationId: ProductCartExtraInfoBySkuAndCartIdandExtraInfoId_PUT
      parameters:
      - $ref: '#/components/parameters/skuPath'
      - name: cart_id
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      - name: extra_info_id
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: ''
          headers: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/post_product_extra_info'
      deprecated: false
  /product/{sku}/tag/{name}/:
    post:
      tags:
      - Product
      summary: Add a tag to a product by SKU and Tag Name
      description: ''
      operationId: ProductTagBySkuAndName_POST
      parameters:
      - $ref: '#/components/parameters/skuPath'
      - name: name
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: ''
          headers: {}
      deprecated: false
    delete:
      tags:
      - Product
      summary: Delete a Product Tag by SKU and Tag Name
      description: ''
      operationId: ProductTagBySkuAndName_DELETE
      parameters:
      - $ref: '#/components/parameters/skuPath'
      - name: name
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: ''
          headers: {}
      deprecated: false
  /product/{sku}/warehouse/{warehouse_id}/:
    put:
      tags:
      - Product
      summary: Update a Product Warehouse by SKU and Warehouse ID
      description: Update a product's warehouse by SKU and Warehouse ID. Use this endpoint to set inventory values.
      operationId: ProductWarehouseBySkuAndWarehouseId_PUT
      parameters:
      - $ref: '#/components/parameters/skuPath'
      - $ref: '#/components/parameters/warehouseIDPath'
      responses:
        '200':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/product'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/put_product_warehouse'
      deprecated: false
  /product/{sku}/default_dropshipper/:
    delete:
      tags:
      - Product
      summary: Delete a Product Default Dropshipper by SKU
      description: ''
      operationId: ProductDefaultDropshipperBySku_DELETE
      parameters:
      - $ref: '#/components/parameters/skuPath'
      responses:
        '200':
          description: ''
          headers: {}
      deprecated: true
  /product/{sku}/default_dropshipper/{supplier_id}/:
    post:
      tags:
      - Product
      summary: Create a Product Default Dropshipper by SKU
      description: ''
      operationId: ProductDefaultDropshipperBySku_POST
      parameters:
      - $ref: '#/components/parameters/skuPath'
      - $ref: '#/components/parameters/supplierPath'
      responses:
        '200':
          description: ''
          headers: {}
      deprecated: true
  /product/{sku}/buy/{supplier_id}/:
    post:
      tags:
      - Product
      summary: Create a Purchase Order by SKU and Supplier ID
      description: Order More of a product. This will create or update an existing Purchase Order
      operationId: ProductBuyBySkuAndSupplierId_POST
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/post_buy_more'
      parameters:
      - $ref: '#/components/parameters/skuPath'
      - $ref: '#/components/parameters/supplierPath'
      responses:
        '200':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/purchase_order'
        '201':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/purchase_order'
      deprecated: false
  /product/tag/:
    get:
      tags:
      - Product
      summary: List Product Tags
      description: ''
      operationId: ProductTag_GET
      parameters:
      - $ref: '#/components/parameters/offsetParam'
      - $ref: '#/components/parameters/limitParam'
      responses:
        '200':
          description: response OK
          content:
            application/json:
              example:
                count: 2
                tag:
                - color: '#ff0'
                  text: Unpaid
                  link: /tag/1
                  id: 1
                - color: '#f7dbe7'
                  text: Tag
                  link: /tag/3
                  id: 3
                limit: 10
                offset: 0
              schema:
                $ref: '#/components/schemas/v3_tag_list'
      deprecated: false
    post:
      tags:
      - Product
      summary: Create a Product Tag
      description: ''
      operationId: ProductTag_POST
      parameters: []
      responses:
        '201':
          description: response OK
          content:
            application/json:
              title: V3 Tag Schema
              type: object
              properties:
                id:
                  type: integer
                name:
                  type: string
                color:
                  type: string
              required:
              - id
              - name
              - color
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v3_tag'
      deprecated: false
  /product/tag/{tagNamePath}/:
    get:
      tags:
      - Product
      summary: Get a Product Tag By Name
      description: ''
      operationId: ProductTagWithName_GET
      parameters: []
      responses:
        '200':
          description: response OK
          content:
            application/json:
              example:
                count: 2
                tag:
                - color: '#ff0'
                  text: Unpaid
                  link: /tag/1
                  id: 1
                - color: '#f7dbe7'
                  text: Tag
                  link: /tag/3
                  id: 3
                limit: 10
                offset: 0
              schema:
                $ref: '#/components/schemas/v3_tag'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_v3_tag_list'
      deprecated: false
    put:
      tags:
      - Product
      summary: Update a Product Tag
      description: ''
      operationId: ProductTag_PUT
      parameters: []
      responses:
        '200':
          description: response OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v3_tag'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/put_v3_tag'
      deprecated: false
    delete:
      tags:
      - Product
      summary: Delete a Product Tag
      description: ''
      operationId: ProductTag_DELETE
      parameters: []
      responses:
        '200':
          description: ''
          headers: {}
components:
  schemas:
    supplier_shipping_method_map:
      title: Supplier shipping method map
      type: object
      additionalProperties: false
      properties:
        active:
          description: Toggle to enable use of this shipping method map
          type: boolean
        created:
          description: The date this was created
          type: string
        id:
          description: internal reference identifier for the supplier shipping method map
          type: integer
        requested_shipping_method:
          default: ''
          description: User defined requested shipping method on an Order to be mapped to a determinate shipping method
          anyOf:
          - type: string
          - type: 'null'
        mapped_shipping_method:
          description: 'FBA defined shipping methods will only be one of the following: [''Expedited'', ''Priority'', ''Standard'']. All others can be freeform to suit the supplier'
          type: string
        mapped_shipping_account:
          anyOf:
          - type: string
          - type: 'null'
        mapped_shipping_carrier:
          anyOf:
          - type: string
          - type: 'null'
        supplier_id:
          description: Integer indicating the supplier for which this mapping is tied.
          type: integer
        updated:
          description: The latest updated date
          type: string
      required:
      - active
      - created
      - id
      - requested_shipping_method
      - mapped_shipping_method
      - mapped_shipping_account
      - mapped_shipping_carrier
      - supplier_id
      - updated
    put_product_supplier:
      title: Update a Product Supplier Schema
      type: object
      additionalProperties: false
      properties:
        supplier_price:
          type: number
        is_default:
          type: boolean
        supplier_sku:
          type: string
        min_order_qty:
          type: integer
      required:
      - supplier_price
      - is_default
    tag_filter_by:
      title: tag_filter_by
      enum:
      - or
      - and
      - only
      - not
      type: string
    extra_info_shopify:
      title: Shopify Extra Info Schema
      type: object
      additionalProperties: false
      properties:
        inventory_item_id:
          type: number
        location_ids:
          type: array
          items:
            type: string
    put_product:
      title: Product Post Schema
      type: object
      additionalProperties: true
      properties:
        name:
          type: string
        category:
          type: string
        hs_code:
          type: string
        country_of_origin:
          type: string
        customs_description:
          type: string
        declared_value:
          type: number
        price:
          type: number
        weight:
          type: number
        length:
          type: integer
        width:
          type: integer
        height:
          type: integer
        taxable:
          type: string
        cost:
          type: number
        type:
          type: string
        upc:
          type: string
        asin:
          type: string
        internal_notes:
          type: string
        cart:
          type: integer
        sync:
          type: boolean
        original_sku:
          type: string
        variant_sku:
          type: string
        inventory_changed:
          type: boolean
        max_export_qty:
          type: integer
        images:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/product_image'
        tags:
          type: array
          items:
            type: object
            $ref: '#/components/schemas/v3_tag'
      oneOf:
      - title: Amazon Extra Info
        properties:
          amazon_extra_info:
            $ref: '#/components/schemas/extra_info_amazon'
      - title: ChannelAdvisor Extra

# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ordoro/refs/heads/main/openapi/ordoro-product-api-openapi.yml