Ordoro Product API
The Product API from Ordoro — 21 operation(s) for product.
The Product API from Ordoro — 21 operation(s) for product.
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