Introduction
Welcome to the SellerChamp API! You can use our API to access SellerChamp API endpoints, to pull back orders, products, inventory, marketplace prices and more.
Common error codes:
- 400: Bad Request - Invalid parameters
- 401: Unauthorized - Invalid or missing authentication
- 403: Forbidden - Insufficient permissions
- 404: Not Found - Resource doesn't exist
- 429: Too Many Requests - Rate limit exceeded
- 500: Internal Server Error - Server-side error
Authentication
An API Token must be passed in inside the headers with every request. You can generate your API Token by logging into SellerChamp.com and navigating to Settings -> API Settings. Click the 'Generate API Key' button to generate your API Token.

Pass it as the header-key 'Token'.
API URL
The API is located at https://app.sellerchamp.com
Marketplace Accounts
GET marketplace_accounts
Returns all of your connected marketplace accounts (Amazon, eBay, Shopify, etc.)
Url format:
/api/marketplace_accounts
curl --request GET \
--url 'https://app.sellerchamp.com/api/marketplace_accounts \
-H 'token: YOUR-TOKEN' \
Make sure to replace `YOUR-TOKEN` with your API key token.
The above command returns JSON structured like this:
{
"marketplace_accounts": [
{
"id": "5d516f51584085a850000013",
"name": "MaryKom",
"icon_black": "http://localhost:3000/assets/icons/src/amazon.svg",
"icon_white": "http://localhost:3000/assets/icons/src/amazon-white.svg",
"marketplace": "amazon",
"marketplace_account_type": "AmazonAccount",
"active": true,
"manifest_folders": [
{
"id": "5d516f52584085a850000029",
"name": "All",
"internal_name": "all",
"position": 0
},
{
"id": "5d516f52584085a85000002a",
"name": "Active",
"internal_name": "active",
"position": 1
},
{
"id": "5d516f52584085a85000002b",
"name": "Drafts",
"internal_name": "drafts",
"position": 2
},
{
"id": "5d516f52584085a85000002c",
"name": "Channel Imports",
"internal_name": "channel_imports",
"position": 3
},
{
"id": "5d516f52584085a85000002d",
"name": "Archived",
"internal_name": "archived",
"position": 4
},
{
"id": "5e4cb620584085359200003e",
"name": "Purchase Orders",
"internal_name": "purchase_orders",
"position": 5
}
],
"store_categories": [ { "external_id": 10027112133, "name": "Apparel > Accessories "}, { "external_id": 10027112183, "name": "BMX > Wheels" } ]
}
]
}
PUT marketplace_account
Updates marketplace_account specified by parameters id and marketplace_account_type
Url format:
/api/marketplace_accounts/ID.json?marketplace_account_type=MARKETPLACE_ACCOUNT_TYPE
curl -X PUT \
https://app.sellerchamp.com/api/marketplace_accounts/5e73df57584085c9820002fe.json?marketplace_account_type=EbayAccount \
-H 'token: YOUR-TOKEN' \
-H 'content-type: application/json' \
-d '{
"marketplace_account": {
"name": "My Ebay Account"
}
}'
Make sure to replace `YOUR-TOKEN` with your API key token.
URL Parameters
| Name | Data Type | Description |
|---|---|---|
| marketplace_account_type | String | The marketplace account type. One of [AmazonAccount, EbayAccount, ShopifyAccount, etc.]. Value can be fetched via API /api/marketplace_accounts |
BODY Parameters
marketplace_account Parameters: A JSON object with the key "marketplace_account"
| Name | Data Type | Description |
|---|---|---|
| name | String | The nickname of the marketplace account. |
Manifests
CREATE manifest with parameters
It will create the manifest according to your parameters along with the array of listing.
Url format:
/api/manifests
curl --request POST \
--url https://app.sellerchamp.com/api/manifests \
--header 'Content-Type: application/json' \
--header 'cache-control: no-cache,no-cache,no-cache' \
--header 'token: YOUR-TOKEN' \
--data '{ "manifest" : {
"name": "My Manifest",
"marketplace_account_id" : "59e0f41007b6205968000016",
"supplier_id" : "5c1902f207b620090a000026",
"ship_from_address_id" : "59e0d31f07b6204cc8000000",
"template_id" : "59e0d31f07b6204cc8000000",
"product_listings_attributes" : [
{
"asin" : "B07G22S48Q", "quantity" : "10", "item_condition" : "like_new", "upc" : "0123456789",
"sku" : "S123", "title" : "My product title", "retail_price" : "10.00", "msrp_price": "20.00", "cost_price": "3.00",
"item_location" : "SHELF A - BIN 1", "item_category" : "Clothing",
"item_category_id" : "123", "item_remarks" : "Packaging is missing",
"brand" : "Polo", "description" : "Green polo shirt", "features" : ['Green', 'Solid'],
"details_html" : "More details here",
"item_specifics" : [{"name"=>"Brand", "value"=>"Polo"}, {"name"=>"Size", "value"=>"Small"}] , "mpn" : null,
"listing_format" : "fixed_price", "color" : "Green", "manufacturer" : "Polo", "model" : "",
"part_number" : "", "listing_duration" : "GTC", "store_category_external_id" : "",
"store_category_2_external_id" : "", "weight_in_pounds" : "0.2",
"package_dimensions_length" : "10", "package_dimensions_width" : "10", "package_dimensions_height" : "14",
"item_dimensions_length" : "10", "item_dimensions_width" : "10", "item_dimensions_height" : "14",
"handling_time" : "1", "shipping_charge_type" : "", "global_shipping" : "false",
"free_shipping" : "true", "shipping_service_code" : "", "shipping_service_cost" : "",
"extra_shipping_service_cost" : "", "domestic_rate_table" : "false",
"international_shipping_service_code" : "", "international_shipping_service_cost" : "",
"extra_international_shipping_service_cost" : "", "international_ship_to_locations" : "",
"international_rate_table" : "false", "return_in_days_value" : "30",
"refund_policy_value" : "", "return_shipping_paid_by_value" : "",
"quantity_in_case" : "", "cost_price" : "2.00", "expiration_date" : "2020-10-30", "fnsku" : "",
"image_urls" : ['https://someurl.com'], "external_ids" : [], "variant_listings": [
{
variant_sku: 'V1', option1_name: 'Color', option1_value: 'Red', option2_name: 'Style', option2_value: 'Solid', asin: 'B00XX', upc: '12345', quantity: 10, retail_price: 10.00, item_location: 'A1'
},
{
variant_sku: 'V2', option1_name: 'Color', option1_value: 'Blue', option2_name: 'Style', option2_value: 'Checkered', asin: 'B00XX', upc: '12345', quantity: 10, retail_price: 10.00, item_location: 'A1'
}
]}
]
} }'
BODY Parameters
manifest Parameters: should be a JSON object with the key "manifest"
| Name | Data Type | Description |
|---|---|---|
| name | String (required) | Name of the Manifest. Example: 04-17-2019. |
| supplier_id | String (optional) | Supplier ID. Example: '59e0f41007b6205968000016'. |
| ship_from_address_id | String (required) | ID of ship from address Example: '59e0d31f07b6204cc8000000'. |
| marketplace_account_id | String (required) | ID of Marketplace Account. Example: '5c1902f207b620090a000026'. |
| template_id | String (optional) | Template ID. Example: '5c1902f207b620090a00003e' |
| seller_fulfilled | Boolean (optional) | If manifest should add items as merchant fulfilled or FBA. Applicable only for Amazon. |
| auto_submit | Boolean (optional) | Submit manifest to marketplace after all listings have been created. |
product_listings_attributes Parameters: should be in array. Allows for multiple listing creation.
| Name | Data Type | Description |
|---|---|---|
| asin | String(Required) | Listing ASIN. Example: B07G22S48Q. |
| quantity | Integer(Optional) | Quantity of the listing. Example: 2. |
| item_condition | Integer(Optional) | It is an enum consist of the following values: [new, like_new, very_good, good, acceptable, refurbished, salvage] anyone. Example: like_new |
| upc | String(Optional) | Example: 883929635085 |
| sku | String(Optional) | SKU of the listing. Example: AB883929635085. |
| title | String(Required) | Title of the listing. Example: DCU Justice League: Throne of Atlantis Commemorative Edition (BD) [Blu-ray]. |
| retail_price | Float(Optional) | Retail Price of the listing. Example: 9.99 |
| min_price | Float(Optional) | Minimum Price of the listing. Example: 7.99 |
| max_price | Float(Optional) | Maximum Price of the listing. Example: 20.99 |
| msrp_price | Float(Optional) | Manufactrer Suggested Retail Price of the listing. Example: 19.99 |
| cost_price | Float(Optional) | Csot Price of the listing. Example: 2.99 |
| color | String(Optional) | Example: Navy |
| manufacturer | String(Optional) | Example: Charmed |
| model | String(Optional) | Example: P3Q-00001 |
| part_number | String(Optional) | Example: LE |
| listing_duration | String(Optional) | It is an enum consist of the following values: [days_1, days_3, days_5, days_7, days_10, days_30, gtc] anyone. Example: gtc |
| item_location | String(Optional) | Location of item in your warehouse. |
| item_category | String(Optional) | Hierarchy of the item category(parent>child). If ebay marketplace. Example: DVDs & Blu-ray Discs. |
| item_category_id | String(Optional) | Id of the item category. Example: 63861 |
| item_remarks | String(Optional) | Example: Item will come in original packaging and includes all accessories. Item has been tested and is in full working condition. Comes with a 30-day warranty.. |
| brand | String(Optional) | Example: Warner Manufacturing |
| description | String(Optional) | Description of the listing |
| features | Array(Optional) | Features of the product |
| details_html | String(Optional) | It is the HTML which contains item details with html tags. Example: <ul><li>Item Weight: 0.0 pounds</li><li>Shipping Weight: 0.0 pounds</li><li>Domestic Shipping: Item can be shipped within U.S.</li></ul> |
| item_specifics | Array of JSON objects(Optional) | Example: [{"name"=>"Brand", "value"=>"Update International", "source"=>"ItemSpecific"}, {"name"=>"UPC", "value"=>"793842123296", "source"=>"ItemSpecific"}] |
| mpn | String | Example: 90000032507 |
| listing_format | String(Optional) | It is an enum consist of the following values: [fixed_price, auction] anyone. Example: fixed_price |
| store_category_external_id | String(Optional) | Example: 64789836013 |
| store_category_2_external_id | String(Optional) | Example: 64789836013 |
| weight_in_pounds | Float(Optional) | Example: 0.0 |
| package_dimensions_length | Float(Optional) | Example: 0.0 |
| package_dimensions_width | Float(Optional) | Example: 0.0 |
| package_dimensions_height | Float(Optional) | Example: 0.0 |
| item_dimensions_length | Float(Optional) | Example: 0.0 |
| item_dimensions_width | Float(Optional) | Example: 0.0 |
| item_dimensions_height | Float(Optional) | Example: 0.0 |
| handling_time | Integer(Optional) | Example: 1 |
| shipping_charge_type | String(Optional) | It is an enum consist of the following values: [flat, calculated, calculated_domestic_flat_international, flat_domestic_calculated_international, freight, freight_flat not_specified] anyone. Example: freight |
| global_shipping | Boolean(Optional) | Example: True |
| free_shipping | Boolean(Optional) | Example: True |
| shipping_service_code | String(Optional) | It is an enum consist of the following values: [Other, ShippingMethodStandard, ShippingMethodExpress, ShippingMethodOvernight, Pickup, FlatRateFreight, USPSFirstClass, USPSMedia, USPSPriority, USPSPriorityFlatRateEnvelope, USPSPriorityMailSmallFlatRateBox, USPSPriorityFlatRateBox, USPSPriorityMailLargeFlatRateBox, USPSPriorityMailPaddedFlatRateEnvelope, USPSPriorityMailLegalFlatRateEnvelope, USPSExpressMail, USPSExpressFlatRateEnvelope, USPSExpressMailLegalFlatRateEnvelope, UPSNextDayAir, UPSNextDay, UPS2ndDay, UPS3rdDay, UPSGround, FedExHomeDelivery, FedEx2Day, FedExExpressSaver, FedExStandardOvernight, FedExPriorityOvernight] anyone. Example: USPSFirstClass |
| shipping_service_cost | Float(Optional) | Example: 0.46 |
| extra_shipping_service_cost | String(Optional) | Example: 0.3 |
| domestic_rate_table | Boolean(Optional) | Example: False |
| international_shipping_service_code | String(Optional) | It is an enum consist of the following values: [US_IntlEconomyShippingFromGC, ExpeditedDeliveryToRussia, US_IntlExpeditedShippingFromGC, OtherInternational, ExpeditedInternational, US_RUTrackedFromChina, StandardInternational, US_IntlStandardShippingFromGC, USPSFirstClassMailInternational, USPSExpressMailInternational, USPSExpressMailInternationalFlatRateEnvelope, USPSExpressMailInternationalLegalFlatRateEnvelope, USPSPriorityMailInternational, USPSPriorityMailInternationalFlatRateEnvelope, USPSPriorityMailInternationalLargeFlatRateBox, USPSPriorityMailInternationalLegalFlatRateEnvelope, USPSPriorityMailInternationalFlatRateBox, USPSPriorityMailInternationalPaddedFlatRateEnvelope, USPSPriorityMailInternationalSmallFlatRateBox, UPSStandardToCanada, UPSWorldWideExpedited, UPSWorldWideExpress, UPSWorldWideExpressPlus, UPSWorldwideSaver, FedExGroundInternationalToCanada, FedExInternationalEconomy, FedExInternationalPriority] anyone. Example: US_IntlEconomyShippingFromGC |
| international_shipping_service_cost | Float(Optional) | Example: 0.6 |
| extra_international_shipping_service_cost | Float(Optional) | Example: 0.3 |
| international_ship_to_locations | Array(Optional) | Example: ["CN", "CA"] |
| international_rate_table | Boolean(Optional) | Example: False |
| return_in_days_value | String(Optional) | It is an enum consist of the following values: [ReturnsNotAccepted, Days_30, Days_60] anyone. Example: Days_30 |
| refund_policy_value | String(Optional) | It is an enum consist of the following values: [MoneyBack, MoneyBackOrReplacement, MoneyBackOrExchange] anyone. Example: MoneyBack |
| return_shipping_paid_by_value | String(Optional) | Example: Seller |
| expiration_date | Date(Optional) | Example: 2019-04-27 |
| fnsku | String(Optional) | Example: 0060011831 |
| image_urls | Array(Optional) | Array of image urls. Example [user.png, user1.png] |
| external_ids | Array(Optional) | Example: ["B07G22S48Q", "883929635085"] |
| units_system | String(Optional) | Units for dimensions/weight. Example: imperial or metric. |
| sale_price | Float(Optional) | Temporary sale price of the listing. |
| sale_start_date | String(Optional) | ISO8601 datetime when the sale starts. |
| sale_end_date | String(Optional) | ISO8601 datetime when the sale ends. |
| lot_size | Integer(Optional) | Number of units per lot. |
| sell_as_lot | Boolean(Optional) | Whether to sell the listing as a lot. |
| reserve_quantity | Integer(Optional) | Quantity kept in reserve. |
| reserve_quantity_location | String(Optional) | Location description for the reserved quantity. |
| max_quantities_to_list | Integer(Optional) | Maximum quantity to list at once. |
| min_quantity_to_list | Integer(Optional) | Minimum quantity to list at once. |
| max_order_quantity | Integer(Optional) | Maximum allowed quantity per order. |
| tax_code_field | String(Optional) | Tax code for the listing (for tax engines). |
| hs_tariff_number | String(Optional) | Harmonized tariff number. |
| country_of_origin | String(Optional) | Country of origin for customs/tax (e.g. US). |
| enable_promo_price | Boolean(Optional) | Enable promotional price for the listing. |
| promo_price | Float(Optional) | Promotional price of the listing. |
| promo_price_starts_at | String(Optional) | ISO8601 datetime when the promo price starts. |
| promo_price_ends_at | String(Optional) | ISO8601 datetime when the promo price ends. |
| who_made | String(Optional) | Creator of the item (Etsy-style). |
| when_made | String(Optional) | When the item was made (Etsy-style). |
| is_supply | Boolean(Optional) | Whether the listing is a supply. |
| materials | Array(Optional) | List of materials for the item. |
| product_type_1 | String(Optional) | Primary product type. |
| product_type_2 | String(Optional) | Secondary product type. |
| readiness_state_id | String(Optional) | Readiness state of the listing (e.g. ready). |
| ships_in_original_packaging | Boolean(Optional) | If true, item ships in original packaging. |
| must_ship_alone | Boolean(Optional) | If true, item must be shipped alone. |
| best_offer | String(Optional) | Best offer mode (e.g. enable). |
| best_offer_accept | Float(Optional) | Auto-accept price for best offers. |
| best_offer_decline | Float(Optional) | Auto-decline price for best offers. |
| charity_id | String(Optional) | Charity ID associated with the listing. |
| charity_percentage | Float(Optional) | Charity percentage for the listing. |
| meta_description | String(Optional) | Channel-specific SEO meta description. |
| tags_array | Array(Optional) | Tags to apply to the listing. |
variant_listings Parameters: A child array of a product_listing. Required if creating a product_listing with variants.
| Name | Data Type | Description |
|---|---|---|
| variant_sku | String (optional) | The variant SKU |
| variant_alt_sku | String (optional) | The variant ALT SKU |
| position | Integer (optional) | The variant's position |
| option1_name | String (required) | The option name, ex: Color |
| option1_value | String (required) | The option value, ex: Red |
| option2_name | String (optional) | The option name, ex: Style |
| option2_value | String (optional) | The option value, ex: Checkered |
| option3_name | String (optional) | The option name |
| option3_value | String (optional) | The option value |
| option4_name | String (optional) | The option name |
| option4_value | String (optional) | The option value |
| option5_name | String (optional) | The option name |
| option5_value | String (optional) | The option value |
| retail_price | Float (optional) | The retail price of the variant |
| quantity | Integer (optional) | The quantity of the variant_listing |
| item_location | String (optional) | The variant's warehouse bin location |
| weight_in_pounds | Float (optional) | The variant's weight |
| title | String (optional) | The variant's title |
| image_urls | Array (string) | The variant's image urls |
| upc | String | Universal Product Code |
| asin | String | Amazon Standard Identification Number |
| lot_size | Integer | Lot size quantity |
GET manifests
Returns back paged manifests optionally filtering by marketplace_account_id OR manifest_folder_id. Default page size is 25.
Url format:
/api/manifests?marketplace_account_id=5c1902f207b620090a000026 &manifest_folder_id=59e0d31f07b6204cc8000000&page=1&page_size=20
curl --request GET \
--url 'https://app.sellerchamp.com/api/manifests?marketplace_account_id=5c1902f207b620090a000026&manifest_folder_id=59e0d31f07b6204cc8000000&page=1&page_size=20' \
-H 'token: YOUR-TOKEN' \
Make sure to replace `YOUR-TOKEN` with your API key token.
The above command returns JSON structured like this:
{
"manifest": {
"id": "5cb96fc707b62026d6000000",
"name": "test",
"supplier_id": "",
"ship_from_address_id": "59e0d31f07b6204cc8000000",
"created_at": "2019-04-19T06:50:47.455Z",
"updated_at": "2019-04-19T06:50:47.455Z",
"status": "created",
"last_valid_status": "created",
"status_message": null,
"processing": null,
"number": 590,
"order_number": null,
"phase": 1,
"client_paid": false,
"seller_fulfilled": true,
"image_source": "stock",
"label_prep": "merchant",
"print_all_fba_labels": false,
"print_fba_labels": "needed",
"print_all_item_labels": false,
"convert_images": null,
"performing_action": null,
"sku_prefix": "AB",
"auto_location_enabled": false,
"auto_location_prefix": "",
"skip_box_content": false,
"auto_create_shipments": false,
"auto_print_exp_dates": true,
"prefill_product_data": true,
"product_listings_count": 0,
"item_present_option": "inc_quantity",
"multiple_matches_pick_strategy": "none",
"manifest_folder_id": "5c6496e307b6205dce000001",
"processing_company_id": "",
"marketplace_account_type": "EbayAccount",
"marketplace_account_id": "5c1902f207b620090a000026",
"client_id": "59dd22f507b6201961000000",
"contact_id": "",
"template_type": "EbayTemplate",
"template_id": "5c1902f207b620090a00003e",
"manifest_xls_file_name": null,
"manifest_xls_content_type": null,
"manifest_xls_file_size": null,
"manifest_xls_updated_at": null,
"manifest_xls_fingerprint": null,
"version": null,
"modifier_id": "",
"_keywords": [
"test"
]
}
}
URL Parameters
| Name | Data Type | Description |
|---|---|---|
| marketplace_account_id | String (optional) | The marketplace_account_id for which to fetch manifests. |
| manifest_folder_id | String (optional) | The manifest_folder_id for which to fetch manifests |
The above command returns JSON structured like this:
{
"manifests": [
{
"id": "5e7514fa07b6201d69000263",
"name": "03-20-2020",
"supplier_id": "",
"ship_from_address_id": "5d1c7a6107b6200724000012",
"created_at": "2020-03-20T19:09:46.209Z",
"updated_at": "2020-03-20T19:09:46.209Z",
"status": "created",
"last_valid_status": "created",
"status_message": null,
"processing": null,
"number": 51871,
"order_number": "",
"phase": 1,
"seller_fulfilled": true,
"image_source": "stock",
"label_prep": "merchant",
"print_all_fba_labels": false,
"print_fba_labels": "needed",
"print_all_item_labels": false,
"convert_images": null,
"performing_action": null,
"sku_prefix": "",
"auto_location_enabled": false,
"auto_location_prefix": "",
"skip_box_content": false,
"auto_create_shipments": false,
"auto_print_exp_dates": true,
"prefill_product_data": true,
"product_listings_count": 1,
"item_present_option": "inc_quantity",
"multiple_matches_pick_strategy": "none",
"manifest_folder_id": "5e2fb23d07b62074fe000027",
"processing_company_id": "",
"marketplace_account_type": "EbayAccount",
"marketplace_account_id": "5e2fb23d07b62074fe000011",
"client_id": "5cfc419d07b6200b87000000",
"contact_id": "",
"template_type": "EbayTemplate",
"template_id": "5e2fb23d07b62074fe000033",
"manifest_xls_file_name": null,
"manifest_xls_content_type": null,
"manifest_xls_file_size": null,
"manifest_xls_updated_at": null,
"manifest_xls_fingerprint": null,
"version": 1,
"modifier_id": "",
"_keywords": [
"03",
"20",
"2020"
]
}
]
}
Product Listings
GET product_listings for a manifest_id
Returns back paged product_listings for a given manifest_id. Default page size is 25.
Url format:
/api/manifests/MANIFEST_ID/product_listings?page=1&page_size=20&created_at=DATE
# With shell, you can just pass the correct header with each request
curl -X GET \
https://app.sellerchamp.com/api/manifests/5e6ec5a5584085af1800013d/product_listings?page=1&page_size=20 \
-H 'token: YOUR-TOKEN' \
Make sure to replace `YOUR-TOKEN` with your API key token.
The above command returns JSON structured like this:
{
"product_listings": [
{
"id": "5e73df57584085c982000305",
"product_id": "5e73df57584085c9820002fe",
"manifest_id": "5e6ec5a5584085af1800013d",
"marketplace_account_id": "5d50c6735840854a3900002c",
"sku": "S127K7Z8YH4Q",
"asin": "B07NLMXG57",
"title": "Style & Co. Womens Louiza Low Top Slip On Fashion Sneakers, Navy, Size 8.5",
"quantity": 1,
"quantity_listed": 1,
"retail_price": 10.00,
"msrp": 20.00,
"min_price": 2.00,
"max_price": 20.00,
"cost_price": 0.50,
"map_price": 10.00,
"handling_cost": 2.00,
"shipping_cost": 3.00,
"misc_cost": 1.00,
"item_condition": "new",
"item_location": null,
"variant_listings": [
{
"id": "5f729cabd8a35f6298bf1908",
"variant_id": "5f729ca9d8a35f6298bf18db",
"product_listing_id": "5f729c29d8a35f63fb159780",
"option1_name": "Color",
"option1_value": "BLACK",
"option2_name": "Size",
"option2_value": "10-13",
"option3_name": null,
"option3_value": null,
"option4_name": null,
"option4_value": null,
"option5_name": null,
"option5_value": null,
"sku": "BLACK-10-13",
"alt_sku": null,
"position": 0,
"title": null,
"upc": "732755004384",
"asin": "B07GJJK5TF",
"item_location": null,
"quantity": null,
"retail_price": 999.99,
"weight_in_pounds": null
},
{
"id": "5f729cabd8a35f6298bf190a",
"variant_id": "5f729ca9d8a35f6298bf18e0",
"product_listing_id": "5f729c29d8a35f63fb159780",
"option1_name": "Color",
"option1_value": "DENIM BLUE",
"option2_name": "Size",
"option2_value": "10-13",
"option3_name": null,
"option3_value": null,
"option4_name": null,
"option4_value": null,
"option5_name": null,
"option5_value": null,
"sku": "DENIM BLUE-10-13",
"alt_sku": null,
"position": 1,
"title": null,
"upc": "732755004537",
"asin": "B07H5JTKFV",
"item_location": null,
"quantity": null,
"retail_price": 999.99,
"weight_in_pounds": null
},
{
"id": "5f729cabd8a35f6298bf190b",
"variant_id": "5f729ca9d8a35f6298bf18e5",
"product_listing_id": "5f729c29d8a35f63fb159780",
"option1_name": "Color",
"option1_value": "MIX",
"option2_name": "Size",
"option2_value": "10-13",
"option3_name": null,
"option3_value": null,
"option4_name": null,
"option4_value": null,
"option5_name": null,
"option5_value": null,
"sku": "MIX-10-13",
"alt_sku": null,
"position": 2,
"title": null,
"upc": "732755004407",
"asin": "B07GJ8QGR7",
"item_location": null,
"quantity": null,
"retail_price": 999.99,
"weight_in_pounds": null
},
{
"id": "5f729cacd8a35f6298bf190c",
"variant_id": "5f729ca9d8a35f6298bf18ea",
"product_listing_id": "5f729c29d8a35f63fb159780",
"option1_name": "Color",
"option1_value": "WHITE",
"option2_name": "Size",
"option2_value": "10-13",
"option3_name": null,
"option3_value": null,
"option4_name": null,
"option4_value": null,
"option5_name": null,
"option5_value": null,
"sku": "WHITE-10-13",
"alt_sku": null,
"position": 3,
"title": null,
"upc": "732755004391",
"asin": "B07GJCZSWN",
"item_location": null,
"quantity": null,
"retail_price": 999.99,
"weight_in_pounds": null
}
],
"list_status": "okay_to_ship",
"list_status_error_detail": null,
"list_status_error_detail_2": null,
"errors": {}
},
{
"id": "5e6ed77e584085706800007a",
"product_id": "5e6ed77e5840857068000076",
"manifest_id": "5e6ec5a5584085af1800013d",
"marketplace_account_id": "5d50c6735840854a3900002c",
"sku": "S127K7TSO3BZ",
"asin": "B01DE7MNEQ",
"title": "Lego Scooby-Doo: Haunted Hollywood",
"quantity": 2,
"quantity_listed": 0,
"retail_price": 10.00,
"msrp": 20.00,
"min_price": 2.00,
"max_price": 20.00,
"cost_price": 0.50,
"item_condition": "new",
"item_location": null,
"product_images": [
{
"id": "5e6ed77e5840857068000078",
"product_id": "5e6ed77e5840857068000076",
"product_name": "Lego Scooby-Doo: Haunted Hollywood",
"position": null,
"original_image_url": "https://images-na.ssl-images-amazon.com/images/I/51NWjpojihL.jpg",
"small_image_url": null,
"medium_image_url": null,
"large_image_url": "https://images-na.ssl-images-amazon.com/images/I/51NWjpojihL.jpg"
}
],
"list_status": "restricted_listing",
"list_status_error_detail": "'Lego Scooby-Doo: Haunted Hollywood' has been known to cause copyright infringement complaint: .",
"list_status_error_detail_2": null,
"errors": {}
}
]
}
CREATE product_listings
Add or update product_listings inside the specified manifest.
Url format:
/api/manifests/MANIFEST_ID/product_listings
curl -X POST "https://app.sellerchamp.com/api/manifests/MANIFEST_ID/product_listings.json" \
-H "Token: YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"product_listings_attributes": [
{
"sku": "EBAY-SKU-1",
"title": "New Ebay Item",
"quantity": 3,
"item_condition": "new",
"retail_price": 19.99,
"sale_price": 17.99,
"min_price": 10.0,
"max_price": 25.0,
"map_price": 12.0,
"upc": "0123456789012",
"asin": "B00XXXXXXX",
"item_remarks": "Like new",
"brand": "BrandName",
"description": "<p>Listing description</p>",
"features": ["Feature 1", "Feature 2"],
"details_html": "<p>More details</p>",
"mpn": "MPN-123",
"item_category": "Electronics",
"item_category_id": "12345",
"listing_format": "fixed_price",
"listing_duration": "gtc",
"color": "Black",
"manufacturer": "MakerCo",
"model": "Model1",
"part_number": "PART-1",
"store_category_external_id": "STORE_CAT_1",
"store_category_2_external_id": "STORE_CAT_2",
"weight_in_pounds": 1.2,
"package_dimensions_length": 10.0,
"package_dimensions_width": 5.0,
"package_dimensions_height": 3.0,
"item_dimensions_length": 9.5,
"item_dimensions_width": 4.5,
"item_dimensions_height": 2.5,
"units_system": "imperial",
"handling_time": 2,
"shipping_charge_type": "flat",
"global_shipping": true,
"free_shipping": false,
"shipping_service_code": "USPSPri",
"shipping_service_cost": 3.99,
"extra_shipping_service_cost": 1.0,
"domestic_rate_table": false,
"international_shipping_service_code": "Intl",
"international_shipping_service_cost": 9.99,
"extra_international_shipping_service_cost": 2.0,
"international_ship_to_locations": ["Worldwide"],
"international_rate_table": false,
"return_in_days_value": "30",
"refund_policy_value": "MoneyBack",
"return_shipping_paid_by_value": "Buyer",
"return_policy_id": "RET_ID",
"expiration_date": "2026-12-31",
"fnsku": "FNSKU123",
"lot_size": 2,
"sell_as_lot": true,
"reserve_quantity": 3,
"reserve_quantity_location": "Backroom",
"max_quantities_to_list": 5,
"min_quantity_to_list": 1,
"max_order_quantity": 10,
"sale_start_date": "2025-12-01T00:00:00Z",
"sale_end_date": "2025-12-31T23:59:59Z",
"tax_code_field": "A_GEN_TAX",
"shipping_template_field": "Default Amazon Template",
"hs_tariff_number": "1234.56",
"country_of_origin": "US",
"shipping_cost": 1.0,
"handling_cost": 0.5,
"misc_cost": 0.25,
"enable_promo_price": true,
"promo_price": 15.99,
"promo_price_starts_at": "2025-11-25T00:00:00Z",
"promo_price_ends_at": "2025-11-30T23:59:59Z",
"who_made": "i_did",
"when_made": "2020_2023",
"is_supply": false,
"materials": ["Cotton", "Polyester"],
"product_type_1": "Home",
"product_type_2": "FurnitureAndDecor",
"readiness_state_id": "ready",
"ships_in_original_packaging": true,
"must_ship_alone": false,
"best_offer": "enable",
"best_offer_accept": 18.0,
"best_offer_decline": 15.0,
"charity_id": "CHARITY123",
"charity_percentage": 10.0,
"meta_description": "Channel-specific meta description",
"tags_array": ["Tag1", "Tag2"],
"image_urls": ["https://example.com/img1.jpg"],
"external_ids": ["EXT1", "EXT2"],
"item_specifics": [
{ "name": "Color", "value": "Black" },
{ "name": "Size", "value": "L" }
]
}
]
}'
The above command returns JSON structured like this:
{
"manifest": {
"id": "5cb96fc707b62026d6000000",
"name": "test",
"supplier_id": "",
"ship_from_address_id": "59e0d31f07b6204cc8000000",
"created_at": "2019-04-19T06:50:47.455Z",
"updated_at": "2019-04-19T06:50:47.455Z",
"status": "created",
"last_valid_status": "created",
"status_message": null,
"processing": null,
"number": 590,
"order_number": null,
"phase": 1,
"client_paid": false,
"seller_fulfilled": true,
"image_source": "stock",
"label_prep": "merchant",
"print_all_fba_labels": false,
"print_fba_labels": "needed",
"print_all_item_labels": false,
"convert_images": null,
"performing_action": null,
"sku_prefix": "AB",
"auto_location_enabled": false,
"auto_location_prefix": "",
"skip_box_content": false,
"auto_create_shipments": false,
"auto_print_exp_dates": true,
"prefill_product_data": true,
"product_listings_count": 0,
"item_present_option": "inc_quantity",
"multiple_matches_pick_strategy": "none",
"manifest_folder_id": "5c6496e307b6205dce000001",
"processing_company_id": "",
"marketplace_account_type": "EbayAccount",
"marketplace_account_id": "5c1902f207b620090a000026",
"client_id": "59dd22f507b6201961000000",
"contact_id": "",
"template_type": "EbayTemplate",
"template_id": "5c1902f207b620090a00003e",
"manifest_xls_file_name": null,
"manifest_xls_content_type": null,
"manifest_xls_file_size": null,
"manifest_xls_updated_at": null,
"manifest_xls_fingerprint": null,
"version": null,
"modifier_id": "",
"_keywords": [
"test"
]
}
}
URL Parameters
| Name | Data Type | Description |
|---|---|---|
| auto_submit | Boolean (optional) | Should manifest be submitted after listing creations. |
BODY Parameters
product_listings_attributes Parameters: Should be in array. Allows for multiple listing creation.
| Name | Data Type | Description |
|---|---|---|
| asin | String(Required) | Listing ASIN. Example: B07G22S48Q. |
| quantity | Integer(Optional) | Quantity of the listing. Example: 2. |
| item_condition | Integer(Optional) | It is an enum consist of the following values: [new, like_new, very_good, good, acceptable, refurbished, salvage] anyone. Example: like_new |
| upc | String(Optional) | Example: 883929635085 |
| sku | String(Optional) | SKU of the listing. Example: AB883929635085. |
| title | String(Required) | Title of the listing. Example: DCU Justice League: Throne of Atlantis Commemorative Edition (BD) [Blu-ray]. |
| retail_price | Float(Optional) | Retail Price of the listing. Example: 9.99 |
| min_price | Float(Optional) | Minimum Price of the listing. Example: 7.99 |
| max_price | Float(Optional) | Maximum Price of the listing. Example: 20.99 |
| msrp_price | Float (optional) | Manufacturer Suggested Retail Price. Example: 20.00 |
| cost_price | Float (optional) | Cost Price of the list. Example: 3.00 |
| color | String(Optional) | Example: Navy |
| manufacturer | String(Optional) | Example: Charmed |
| model | String(Optional) | Example: P3Q-00001 |
| part_number | String(Optional) | Example: LE |
| listing_duration | String(Optional) | It is an enum consist of the following values: [days_1, days_3, days_5, days_7, days_10, days_30, gtc] anyone. Example: gtc |
| item_location | String(Optional) | Location of item in your warehouse. |
| item_category | String(Optional) | Hierarchy of the item category(parent>child). If ebay marketplace. Example: DVDs & Blu-ray Discs. |
| item_category_id | String(Optional) | Id of the item category. Example: 63861 |
| item_remarks | String(Optional) | Example: Item will come in original packaging and includes all accessories. Item has been tested and is in full working condition. Comes with a 30-day warranty.. |
| brand | String(Optional) | Example: Warner Manufacturing |
| description | String(Optional) | Description of the listing |
| features | Array(Optional) | Features of the product |
| details_html | String(Optional) | It is the HTML which contains item details with html tags. Example: <ul><li>Item Weight: 0.0 pounds</li><li>Shipping Weight: 0.0 pounds</li><li>Domestic Shipping: Item can be shipped within U.S.</li></ul> |
| item_specifics | Array of JSON objects(Optional) | Example: [{"name"=>"Brand", "value"=>"Update International", "source"=>"ItemSpecific"}, {"name"=>"UPC", "value"=>"793842123296", "source"=>"ItemSpecific"}] |
| mpn | String | Example: 90000032507 |
| listing_format | String(Optional) | It is an enum consist of the following values: [fixed_price, auction] anyone. Example: fixed_price |
| store_category_external_id | String(Optional) | Example: 64789836013 |
| store_category_2_external_id | String(Optional) | Example: 64789836013 |
| weight_in_pounds | Float(Optional) | Example: 0.0 |
| package_dimensions_length | Float(Optional) | Example: 0.0 |
| package_dimensions_width | Float(Optional) | Example: 0.0 |
| package_dimensions_height | Float(Optional) | Example: 0.0 |
| item_dimensions_length | Float(Optional) | Example: 0.0 |
| item_dimensions_width | Float(Optional) | Example: 0.0 |
| item_dimensions_height | Float(Optional) | Example: 0.0 |
| handling_time | Integer(Optional) | Example: 1 |
| shipping_charge_type | String(Optional) | It is an enum consist of the following values: [flat, calculated, calculated_domestic_flat_international, flat_domestic_calculated_international, freight, freight_flat not_specified] anyone. Example: freight |
| global_shipping | Boolean(Optional) | Example: True |
| free_shipping | Boolean(Optional) | Example: True |
| shipping_service_code | String(Optional) | It is an enum consist of the following values: [Other, ShippingMethodStandard, ShippingMethodExpress, ShippingMethodOvernight, Pickup, FlatRateFreight, USPSFirstClass, USPSMedia, USPSPriority, USPSPriorityFlatRateEnvelope, USPSPriorityMailSmallFlatRateBox, USPSPriorityFlatRateBox, USPSPriorityMailLargeFlatRateBox, USPSPriorityMailPaddedFlatRateEnvelope, USPSPriorityMailLegalFlatRateEnvelope, USPSExpressMail, USPSExpressFlatRateEnvelope, USPSExpressMailLegalFlatRateEnvelope, UPSNextDayAir, UPSNextDay, UPS2ndDay, UPS3rdDay, UPSGround, FedExHomeDelivery, FedEx2Day, FedExExpressSaver, FedExStandardOvernight, FedExPriorityOvernight] anyone. Example: USPSFirstClass |
| shipping_service_cost | Float(Optional) | Example: 0.46 |
| extra_shipping_service_cost | String(Optional) | Example: 0.3 |
| domestic_rate_table | Boolean(Optional) | Example: False |
| international_shipping_service_code | String(Optional) | It is an enum consist of the following values: [US_IntlEconomyShippingFromGC, ExpeditedDeliveryToRussia, US_IntlExpeditedShippingFromGC, OtherInternational, ExpeditedInternational, US_RUTrackedFromChina, StandardInternational, US_IntlStandardShippingFromGC, USPSFirstClassMailInternational, USPSExpressMailInternational, USPSExpressMailInternationalFlatRateEnvelope, USPSExpressMailInternationalLegalFlatRateEnvelope, USPSPriorityMailInternational, USPSPriorityMailInternationalFlatRateEnvelope, USPSPriorityMailInternationalLargeFlatRateBox, USPSPriorityMailInternationalLegalFlatRateEnvelope, USPSPriorityMailInternationalFlatRateBox, USPSPriorityMailInternationalPaddedFlatRateEnvelope, USPSPriorityMailInternationalSmallFlatRateBox, UPSStandardToCanada, UPSWorldWideExpedited, UPSWorldWideExpress, UPSWorldWideExpressPlus, UPSWorldwideSaver, FedExGroundInternationalToCanada, FedExInternationalEconomy, FedExInternationalPriority] anyone. Example: US_IntlEconomyShippingFromGC |
| international_shipping_service_cost | Float(Optional) | Example: 0.6 |
| extra_international_shipping_service_cost | Float(Optional) | Example: 0.3 |
| international_ship_to_locations | Array(Optional) | Example: ["CN", "CA"] |
| international_rate_table | Boolean(Optional) | Example: False |
| return_in_days_value | String(Optional) | It is an enum consist of the following values: [ReturnsNotAccepted, Days_30, Days_60] anyone. Example: Days_30 |
| refund_policy_value | String(Optional) | It is an enum consist of the following values: [MoneyBack, MoneyBackOrReplacement, MoneyBackOrExchange] anyone. Example: MoneyBack |
| return_shipping_paid_by_value | String(Optional) | Example: Seller |
| expiration_date | Date(Optional) | Example: 2019-04-27 |
| fnsku | String(Optional) | Example: 0060011831 |
| image_urls | Array(Optional) | Array of image urls. Example [user.png, user1.png] |
| external_ids | Array(Optional) | Example: ["B07G22S48Q", "883929635085"] |
variant_listings Parameters: A child array of a product_listing. Required if product listing contains variants
| Name | Data Type | Description |
|---|---|---|
| variant_sku | String (optional) | The variant SKU |
| variant_alt_sku | String (optional) | The variant ALT SKU |
| position | Integer (optional) | The variant's position |
| option1_name | String (required) | The option name, ex: Color |
| option1_value | String (required) | The option value, ex: Red |
| option2_name | String (optional) | The option name, ex: Style |
| option2_value | String (optional) | The option value, ex: Checkered |
| option3_name | String (optional) | The option name |
| option3_value | String (optional) | The option value |
| option4_name | String (optional) | The option name |
| option4_value | String (optional) | The option value |
| option5_name | String (optional) | The option name |
| option5_value | String (optional) | The option value |
| retail_price | Float (optional) | The retail price of the variant |
| quantity | Integer (optional) | The quantity of the variant_listing |
| item_location | String (optional) | The variant's warehouse bin location |
| weight_in_pounds | Float (optional) | The variant's weight |
| title | String (optional) | The variant's title |
| image_urls | Array (string) | The variant's image urls |
| upc | String | Universal Product Code |
| asin | String | Amazon Standard Identification Number |
| lot_size | Integer | Lot size quantity |
DELETE product_listing
Deletes a product_listing from the manifest.
Url format:
/api/manifests/MANIFEST_ID/product_listings/PRODUCT_LISTING_ID
curl -X DELETE \
'http://localhost:3000/api/manifests/5e73df57584085c9820002fe/product_litings/5e73df57584085c9820002fe.json' \
-H 'content-type: application/json' \
-H 'token: YOUR-TOKEN'
Make sure to replace `YOUR-TOKEN` with your API key token.
Products
GET products
Returns back paged products optionally filtering by search parameters. Default page size is 50.
Url format:
/api/products?marketplace_account_id=5e2fb23d07b62074fe000011
URL Parameters
| Name | Data Type | Description |
|---|---|---|
| marketplace_account_id | String (optional) | The marketplace_account_id for which to fetch products. |
| sku | String (optional) | The product SKU to search for (case-sensitive) |
| asin | String (optional) | The product ASIN to search for |
| upc | String (optional) | The product UPC/ISBN/EAN to search for |
| marketplace_id | String (optional) | The product marketplace_id (ex: eBay Item ID) to search for |
| created_at_start | String (optional) | Returns products that were created after the specified date Example: 2015-01-01T00:00:00 |
| created_at_end | String (optional) | Returns products that were created before the specified date Example: 2015-01-30T00:00:00 |
| updated_at_start | String (optional) | Returns products that were upated after the specified date Example: 2015-01-01T00:00:00 |
| updated_at_end | String (optional) | Returns products that were updated before the specified date Example: 2015-01-01T00:00:00 |
| tag | String (optional) | Returns products that have this tag. NOTE: Use this to search for products that have just one tag. |
| tags_array | String (optional) | Returns products that have exactly the specified tags. NOTE: Use this to search for products that have multiple tags. Ex: tags_array[]=A&tags_array[]=B |
# With shell, you can just pass the correct header with each request
curl -X GET \
https://app.sellerchamp.com/api/products.json?marketplace_account_id=5e2fb23d07b62074fe000011&page=1&page_size=20 \
-H 'token: YOUR-TOKEN' \
Make sure to replace `YOUR-TOKEN` with your API key token.
The above command returns JSON structured like this:
{
"products": [
{
"id": "5e9316fb07b620137a000144",
"marketplace_account_id": "5e2fb23d07b62074fe000011",
"sku": "QVC3-026",
"alt_sku": null,
"asin": null,
"fnsku": null,
"upc": null,
"title": "Bethlehem Lights 8.5\" Metallic Scroll Aqua, Red,",
"quantity_available": 0,
"quantity_listed": 0,
"retail_price": 10.00,
"msrp": 20.00,
"min_price": 2.00,
"max_price": 20.00,
"map_price": 15.00,
"cost_price": 1.00,
"handling_cost": 1.00,
"shipping_cost": 2.00,
"misc_cost": 1.00,
"handling_time": 2,
"marketplace_status": "inactive",
"marketplace_id": null,
"item_condition": "new",
"ebay_item_condition_id": 1000,
"description": "Soothe your senses. Enjoy the calming sounds of flowing water along with alluring ambient light from this Bethlehem Lights AquaFlame candle. The flameless wick and five-hour timer provide worry-free enjoyment. From Bethlehem Lights.",
"item_remarks": "Items comes in a sealed package.",
"features": [
"Embossed scroll AquaFlame water fountain and flameless candle",
"Five ambient LED lights",
"Five-hour timer",
"Requires included adapter or 3 D batteries",
" not included",
"Indoor use only",
"Measures approximately 8-1/2\"H x 5\"Diam"
],
"features_html": null,
"item_specifics": [
{
"name": "Color",
"value": "Red"
}
],
"item_category": "Travel > Travel Accessories > Locks",
"item_category_hierarchy": "Travel > Travel Accessories > Locks",
"item_category_id": "164796",
"store_category_external_id": "1",
"store_category_2_external_id": "0",
"brand": "Bethlehem Lights",
"color": null,
"mpn": null,
"weight_in_pounds": null,
"package_weight_in_pounds": null,
"shipping_template_field": "Template1",
"item_dimensions": {
"unit": "inches",
"length": 10.0,
"width": 12.0,
"height": 6.0
},
"package_dimensions": {
"unit": null,
"length": null,
"width": null,
"height": null
},
"inventory_locations": [],
"variants": [
{
"id": "5f729ca9d8a35f6298bf18db",
"option1_name": "Color",
"option1_value": "BLACK",
"option2_name": "Size",
"option2_value": "10-13",
"option3_name": null,
"option3_value": null,
"option4_name": null,
"option4_value": null,
"option5_name": null,
"option5_value": null,
"sku": "BLACK-10-13",
"alt_sku": null,
"position": 0,
"title": null,
"upc": "732755004384",
"asin": "B07GJJK5TF",
"item_location": null,
"quantity_available": 0,
"retail_price": 999.99,
"weight_in_pounds": null,
"inventory_locations": []
}
]
}
]
}
GET product
Returns back the product for the specified id.
Url format:
/api/products/PRODUCT_ID
URL Parameters
| Name | Data Type | Description |
|---|---|---|
| product_id | String (optional) | The ID for the product to fetch. |
# With shell, you can just pass the correct header with each request
curl -X GET \
https://app.sellerchamp.com/api/products/5e9316fb07b620137a000144.json \
-H 'token: YOUR-TOKEN' \
Make sure to replace `YOUR-TOKEN` with your API key token.
{
"product": {
"id": "5e9316fb07b620137a000144",
"marketplace_account_id": "5e2fb23d07b62074fe000011",
"sku": "QVC3-026",
"alt_sku": "QVC3",
"asin": null,
"fnsku": null,
"upc": null,
"title": "Bethlehem Lights 8.5\" Metallic Scroll Aqua, Red,",
"quantity_available": 0,
"quantity_listed": 0,
"awaiting_pick": 1,
"awaiting_paid": 1,
"retail_price": 10.00,
"msrp": 20.00,
"min_price": 2.00,
"max_price": 20.00,
"map_price": 15.00,
"cost_price": 1.00,
"handling_cost": 1.00,
"shipping_cost": 2.00,
"misc_cost": 1.00,
"use_ebay_business_policies": false,
"ebay_payment_policy_id": null,
"ebay_payment_policy_name": null,
"ebay_return_policy_id": null,
"ebay_return_policy_name": null,
"ebay_shipping_policy_id": null,
"ebay_shipping_policy_name": null,
"marketplace_status": "inactive",
"marketplace_id": null,
"item_condition": "new",
"ebay_item_condition_id": 1000,
"description": "Soothe your senses. Enjoy the calming sounds of flowing water along with alluring ambient light from this Bethlehem Lights AquaFlame candle. The flameless wick and five-hour timer provide worry-free enjoyment. From Bethlehem Lights.",
"item_remarks": "Item comes in a sealed package.",
"features": [
"Embossed scroll AquaFlame water fountain and flameless candle",
"Five ambient LED lights",
"Five-hour timer",
"Requires included adapter or 3 D batteries",
" not included",
"Indoor use only",
"Measures approximately 8-1/2\"H x 5\"Diam"
],
"features_html": null,
"item_specifics": [
{
"name": "Color",
"value": "Red"
}
],
"item_category": "Travel > Travel Accessories > Locks",
"item_category_hierarchy": "Travel > Travel Accessories > Locks",
"item_category_id": "164796",
"store_category_external_id": "1",
"store_category_2_external_id": "0",
"brand": "Bethlehem Lights",
"color": null,
"mpn": null,
"weight_in_pounds": null,
"package_weight_in_pounds": null,
"shipping_template_field": "Template1",
"item_dimensions": {
"unit": "inches",
"length": 10.0,
"width": 12.0,
"height": 6.0
},
"package_dimensions": {
"unit": null,
"length": null,
"width": null,
"height": null
},
"inventory_locations": [],
"product_images": [
{
"id": "5f729c7bd8a35f63fb1597ab",
"product_id": "5f729c29d8a35f63fb159777",
"product_name": "JOURNOW 10 Pairs Men's Cotton Extra Heavy Cushion Crew Socks",
"position": 1,
"original_image_url": "https://images-na.ssl-images-amazon.com/images/I/41oNK1fKzJL._AC_US1500_.jpg",
"small_image_url": null,
"medium_image_url": null,
"large_image_url": "https://images-na.ssl-images-amazon.com/images/I/41oNK1fKzJL._AC_US1500_.jpg"
}
],
"variants": [
{
"id": "5f729ca9d8a35f6298bf18db",
"option1_name": "Color",
"option1_value": "BLACK",
"option2_name": "Size",
"option2_value": "10-13",
"option3_name": null,
"option3_value": null,
"option4_name": null,
"option4_value": null,
"option5_name": null,
"option5_value": null,
"sku": "BLACK-10-13",
"alt_sku": null,
"position": 0,
"title": null,
"upc": "732755004384",
"asin": "B07GJJK5TF",
"item_location": null,
"quantity_available": 0,
"retail_price": 999.99,
"weight_in_pounds": null,
"inventory_locations": [],
"images": [
{
"id": "5f729cadd8a35f6298bf1918",
"position": 0,
"option_name": "Color",
"option_value": "BLACK",
"product_image": {
"id": "5f729cadd8a35f6298bf1916",
"product_id": "5f729c29d8a35f63fb159777",
"product_name": "JOURNOW 10 Pairs Men's Cotton Extra Heavy Cushion Crew Socks",
"position": 1,
"original_image_url": "https://images-na.ssl-images-amazon.com/images/I/41oNK1fKzJL._AC_US1500_.jpg",
"small_image_url": null,
"medium_image_url": null,
"large_image_url": "https://images-na.ssl-images-amazon.com/images/I/41oNK1fKzJL._AC_US1500_.jpg"
}
}
]
}
],
"domestic_shipping_methods": [ { "shipping_service": "Standard" } ],
"international_shipping_methods": [ { "shipping_service": "InternationalStandard" } ]
}
}
PUT product
Updates the product with the specified ID.
Url format:
/api/products/PRODUCT_ID
curl -X PUT "https://app.sellerchamp.com/api/products/PRODUCT_ID.json" \
-H "Token: YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"product": {
"sku": "SKU123",
"alt_sku": "ALT-123",
"custom_catalogue_sku": "CAT-001",
"alias": "My Alias",
"upc": "0123456789012",
"asin": "B00XXXXXXX",
"title": "New Title",
"subtitle": "Subtitle (eBay only)",
"description": "<p>HTML description</p>",
"features_html": "<ul><li>Feature</li></ul>",
"brand": "BrandName",
"mpn": "MPN-123",
"item_condition": 1000,
"item_category": "Category Text",
"item_category_id": "12345",
"item_category_hierarchy": "Parent > Child",
"retail_price": 19.99,
"starting_price": 19.99,
"sale_price": 17.99,
"sale_start_date": "2025-12-01T00:00:00Z",
"sale_end_date": "2025-12-31T23:59:59Z",
"msrp_price": 29.99,
"min_price": 10.0,
"max_price": 30.0,
"map_price": 15.0,
"quantity_available": 10,
"lot_size": 2,
"max_quantities_to_list": 5,
"min_quantity_to_list": 1,
"reserve_quantity": 3,
"reserve_quantity_location": "Backroom",
"bin_location": "BIN-A1",
"target_quantity": 50,
"reorder_level": 10,
"cost_price": 8.0,
"avg_cost_price": 8.0,
"shipping_cost": 1.0,
"handling_cost": 0.5,
"handling_time": 2,
"misc_cost": 0.25,
"seller_vat_margin": 0.2,
"buyer_vat_margin": 0.1,
"retail_price_profit_margin": 0.3,
"retail_price_add_on_amount": 1.0,
"min_price_profit_margin": 0.2,
"min_price_add_on_amount": 0.5,
"max_price_profit_margin": 0.4,
"max_price_add_on_amount": 2.0,
"apply_marketplace_fee": true,
"business_price_margin_type": "percent",
"business_price_margin": 0.1,
"units_system": "imperial",
"weight_in_pounds": 1.2,
"package_weight_in_pounds": 1.5,
"hs_tariff_number": "1234.56",
"country_of_origin": "US",
"tax_code_field": "A_GEN_TAX",
"item_remarks": "Condition notes",
"ebay_item_condition_id": 1000,
"use_ebay_business_policies": true,
"ebay_payment_policy_id": "PAY_ID",
"ebay_payment_policy_name": "PayPolicy",
"ebay_return_policy_id": "RET_ID",
"ebay_return_policy_name": "ReturnPolicy",
"ebay_shipping_policy_id": "SHIP_ID",
"ebay_shipping_policy_name": "ShipPolicy",
"best_offer": "enable",
"best_offer_accept": 18.0,
"best_offer_decline": 15.0,
"store_category_external_id": "STORE_CAT_1",
"store_category_2_external_id": "STORE_CAT_2",
"shipping_template_field": "Default Amazon Template",
"template_id": "TEMPLATE_ID",
"fulfillment_provider_account_id": "FP123",
"fulfillment_provider_sku": "FP-SKU-1",
"marketplace_url": "https://example.com/product",
"meta_description": "SEO meta description",
"who_made": "i_did",
"when_made": "2020_2023",
"is_supply": false,
"materials": ["Cotton", "Polyester"],
"readiness_state_id": "ready",
"product_type_1": "Home",
"product_type_2": "FurnitureAndDecor",
"release_date": "2024-01-01",
"platform": "web",
"ships_in_original_packaging": true,
"must_ship_alone": false,
"international_shipping_enabled": true,
"label_preference": "manufacturer",
"label_owner": "SELLER",
"prep_owner": "AMAZON",
"enable_promo_price": true,
"promo_price": 15.99,
"promo_price_starts_at": "2025-11-25T00:00:00Z",
"promo_price_ends_at": "2025-11-30T23:59:59Z",
"preorder": true,
"preorder_message": "Ships in 3 weeks",
"preorder_release_date": "2026-01-15T00:00:00Z",
"tags_array": ["Tag1", "Tag2"],
"external_ids": ["EXT1", "EXT2"],
"supplier_ids": ["SUP1", "SUP2"],
"item_dimensions": {
"length": 10.0,
"width": 5.0,
"height": 2.0,
"unit": "in"
},
"package_dimensions": {
"length": 12.0,
"width": 7.0,
"height": 3.0,
"unit": "in"
},
"item_specifics": [
{ "name": "Color", "value": "Red", "namespace": "custom", "type": "string" }
]
}
}'
Make sure to replace `YOUR_API_TOKEN` and `PRODUCT_ID` with your actual API token and product ID.
URL Parameters
| Name | Data Type | Description |
|---|---|---|
| relist | Boolean | Optional. If true, relists the product on the marketplace if inactive. |
BODY Parameters
product Parameters: A JSON object with the key "product"
| Name | Data Type | Description |
|---|---|---|
| sku | String | Product SKU. |
| alt_sku | String | Alternate SKU. |
| custom_catalogue_sku | String | Custom catalog SKU override. |
| alias | String | Optional alternate identifier for the product. |
| upc | String | UPC/EAN/ISBN. |
| asin | String | Amazon ASIN. |
| title | String | Product title. |
| subtitle | String | eBay subtitle (eBay only). |
| description | String | HTML product description. |
| features_html | String | Additional HTML features list. |
| brand | String | Brand name. |
| mpn | String | Manufacturer part number. |
| item_condition | Integer | Internal item condition code. |
| item_category | String | Category name or path. |
| item_category_id | String | Category ID. |
| item_category_hierarchy | String | Full category hierarchy (e.g. Parent > Child). |
| retail_price | Float | Regular selling price. |
| starting_price | Float | Auction starting price (eBay). |
| sale_price | Float | Temporary sale price. |
| sale_start_date | String | ISO8601 datetime when sale starts. |
| sale_end_date | String | ISO8601 datetime when sale ends. |
| msrp_price | Float | MSRP. |
| min_price | Float | Minimum allowed price. |
| max_price | Float | Maximum allowed price. |
| map_price | Float | Minimum Advertised Price. |
| quantity_available | Integer | Available quantity for sale. |
| lot_size | Integer | Number of units per lot. |
| max_quantities_to_list | Integer | Max quantity listed at once. |
| min_quantity_to_list | Integer | Min quantity listed at once. |
| reserve_quantity | Integer | Quantity kept in reserve. |
| reserve_quantity_location | String | Location description for reserved quantity. |
| bin_location | String | Warehouse/bin location. |
| target_quantity | Integer | Desired stock level. |
| reorder_level | Integer | Quantity at which to reorder. |
| cost_price | Float | Unit cost. |
| avg_cost_price | Float | Average cost across inventory. |
| shipping_cost | Float | Shipping cost used in margin calculations. |
| handling_cost | Float | Handling cost. |
| handling_time | Integer | Handling time in days. |
| misc_cost | Float | Additional misc cost per unit. |
| seller_vat_margin | Float | Seller VAT percentage. |
| buyer_vat_margin | Float | Buyer VAT percentage. |
| retail_price_profit_margin | Float | Target profit margin on retail price. |
| retail_price_add_on_amount | Float | Flat add-on amount for retail price. |
| min_price_profit_margin | Float | Target profit margin on minimum price. |
| min_price_add_on_amount | Float | Flat add-on amount for minimum price. |
| max_price_profit_margin | Float | Target profit margin on maximum price. |
| max_price_add_on_amount | Float | Flat add-on amount for maximum price. |
| apply_marketplace_fee | Boolean | Whether to apply marketplace fee in pricing logic. |
| business_price_margin_type | String | Type of business price margin (percent or amount). |
| business_price_margin | Float | Margin value for business price. |
| units_system | String | imperial or metric. |
| weight_in_pounds | Float | Item weight in pounds. |
| package_weight_in_pounds | Float | Package weight in pounds. |
| hs_tariff_number | String | Harmonized tariff code. |
| country_of_origin | String | Country of origin. |
| tax_code_field | String | Tax code for tax engine. |
| item_remarks | String | Condition or remark notes. |
| ebay_item_condition_id | Integer | eBay item condition ID. |
| use_ebay_business_policies | Boolean | Whether to use eBay business policies. |
| ebay_payment_policy_id | String | eBay payment policy ID. |
| ebay_payment_policy_name | String | eBay payment policy name. |
| ebay_return_policy_id | String | eBay return policy ID. |
| ebay_return_policy_name | String | eBay return policy name. |
| ebay_shipping_policy_id | String | eBay shipping policy ID. |
| ebay_shipping_policy_name | String | eBay shipping policy name. |
| best_offer | String | Best offer mode (e.g. enable). |
| best_offer_accept | Float | Auto-accept price for best offers. |
| best_offer_decline | Float | Auto-decline price for best offers. |
| store_category_external_id | String | Primary store category external ID. |
| store_category_2_external_id | String | Secondary store category external ID. |
| shipping_template_field | String | Shipping template name/identifier. |
| template_id | String | Internal listing template ID. |
| fulfillment_provider_account_id | String | Fulfillment provider account ID. |
| fulfillment_provider_sku | String | Fulfillment provider SKU. |
| marketplace_url | String | Marketplace listing URL. |
| meta_description | String | SEO meta description. |
| who_made | String | Creator (Etsy-style, e.g. i_did). |
| when_made | String | When item was made (e.g. 2020_2023). |
| is_supply | Boolean | Whether item is a supply (Etsy-style). |
| materials | Array | Array of material strings. |
| readiness_state_id | String | Internal readiness state ID (e.g. ready). |
| product_type_1 | String | Primary product type. |
| product_type_2 | String | Secondary product type. |
| release_date | String | Product release date. |
| platform | String | Platform identifier (e.g. web). |
| ships_in_original_packaging | Boolean | If item ships in original packaging. |
| must_ship_alone | Boolean | If item must ship alone. |
| international_shipping_enabled | Boolean | Whether international shipping is enabled. |
| label_preference | String | Label preference (e.g. manufacturer). |
| label_owner | String | Label owner (e.g. SELLER). |
| prep_owner | String | Prep owner (e.g. AMAZON). |
| enable_promo_price | Boolean | Whether promotional pricing is enabled. |
| promo_price | Float | Promotional price. |
| promo_price_starts_at | String | ISO8601 start datetime for promo price. |
| promo_price_ends_at | String | ISO8601 end datetime for promo price. |
| preorder | Boolean | Whether item is available for preorder. |
| preorder_message | String | Preorder messaging shown to buyers. |
| preorder_release_date | String | ISO8601 preorder release date. |
| tags_array | Array | Tags to apply to the product (replaces existing tags). |
| external_ids | Array | External IDs associated with the product. |
| supplier_ids | Array | SellerChamp supplier IDs. |
| item_dimensions | Hash | Item dimensions: {"length": Float, "width": Float, "height": Float, "unit": "in" or "cm"}. |
| package_dimensions | Hash | Package dimensions: {"length": Float, "width": Float, "height": Float, "unit": "in" or "cm"}. |
| item_specifics | Array | Attribute array: [{ "name": String, "value": String, "namespace": String, "type": String }]. |
DELETE product
Deletes a product, optionally ending the listing on the marketplace.
Url format:
/api/products/PRODUCT_ID
curl -X DELETE \
'http://localhost:3000/api/products/5e73df57584085c9820002fe.json?delete_product=true&end_listing_on_marketplace=true&delete_listing_on_marketplace=true&delete_linked_products=true' \
-H 'content-type: application/json' \
-H 'token: YOUR-TOKEN'
Make sure to replace `YOUR-TOKEN` with your API key token.
URL Parameters
| Name | Data Type | Description |
|---|---|---|
| delete_product | Boolean | Indicates if product should be deleted from the SellerChamp database |
| end_listing_on_marketplace | Boolean | Indicates if listing should be ended on the marketplace |
| delete_listing_on_marketplace | Boolean | Indicates if listing should be entirely removed from marketplace |
| delete_linked_products | Boolean | Indicates if linked products should also be removed |
Bulk Update Products
PUT bulk_update_products
Update multiple products by specifying ID, SKU, ALT-SKU, or catalog SKU (custom catalogue SKU). Maximum 1,000 items can be sent per api call.
Url format:
/api/products/bulk_update
curl -X PUT "https://app.sellerchamp.com/api/products/bulk_update.json" \
-H "Token: YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"marketplace_account_id": "5c1902f207b620090a000026",
"products": [
{
"id": "PRODUCT_ID_1",
"sku": "SKU1",
"retail_price": 19.99,
"quantity_available": 5,
"sale_price": 17.99,
"ships_in_original_packaging": true,
"who_made": "i_did"
},
{
"id": "PRODUCT_ID_2",
"sku": "SKU2",
"retail_price": 29.99,
"quantity_available": 0,
"best_offer": "enable",
"best_offer_accept": 25.0,
"best_offer_decline": 20.0
},
{
"catalog_sku": "CAT-001",
"retail_price": 20.00,
"quantity_available": 4,
"sale_price": 17.99,
"ships_in_original_packaging": true,
"who_made": "i_did"
}
],
"relist": false
}'
marketplace_account_id can be sent with bulk updates queue requests to scope SKU-based matching to a specific marketplace account. This is useful when the same SKU exists across multiple marketplaces.
BODY PARAMETERS
| Name | Data Type | Description |
|---|---|---|
| marketplace_account_id | String | Optional. Marketplace account ID used to scope queued bulk updates when matching by sku, alt_sku, or catalog_sku. |
| id | String | Product's id |
| title | String | Product's title |
| sku | String | Product's SKU |
| alt_sku | String | Product's ALT SKU, if any |
| catalog_sku | String | Product's custom catalogue SKU |
| asin | String | Amazon ASIN for this product |
| upc | String | UPC for this product |
| description | String | Product description (can contain HTML) |
| ebay_item_condition_id | Integer | Ebay Item Condition ID for your product. Refer to eBay's documentation for the various values. |
| retail_price | Float | Product's selling price. Example: 9.99 |
| min_price | Float | Product's minimum price. Example: 7.99 |
| max_price | Float | Product's maximum price. Example: 20.99 |
| msrp_price | Float | Product's MSRP |
| map_price | Float | Minimum Advertised Price (MAP) for the product |
| cost_price | Float | Product's cost price |
| shipping_cost | Float | Product's shipping cost |
| handling_cost | Float | Product's handling cost |
| misc_cost | Float | Any miscellaneous cost associated with fulfilling the product |
| handling_time | Integer | Product's handling time (in days) |
| charity_percentage | Float | Product's Charity Percentage |
| charity_id | String | Product's Charity Id |
| item_remarks | String | Product's item remarks |
| quantity_available | Integer | Product quantity available for purchase |
| fulfillment_provider_account_id | String | ID of Fulfillment Provider account Example: '5fdc7195e2d895171f9b87ae'. |
| fulfillment_provider_sku | String | SKU of Fulfillment Provider. Example: S123. |
| use_ebay_business_policies | Boolean | Switch to/from using ebay business policies? |
| ebay_payment_policy_id | String | The eBay Payment Policy ID |
| ebay_payment_policy_name | String | The eBay Payment Policy Name (if updating you can specify ID or name) |
| ebay_shipping_policy_id | String | The eBay Shipping Policy ID |
| ebay_shipping_policy_name | String | The eBay Shipping Policy Name (if updating you can specify ID or name) |
| ebay_return_policy_id | String | The eBay Return Policy ID |
| ebay_return_policy_name | String | The eBay Return Policy Name (if updating you can specify ID or name) |
| store_category_external_id | String | The eBay Store Category ID |
| store_category_2_external_id | String | The eBay Store Category ID |
| tags_array | Array | Product tags to apply (will replace existing tags) |
| custom_catalogue_sku | String | Optional. Specify if you wish to override the default Catalogue SKU |
| alias | String | Optional. Used to identify product with another value |
| brand | String | Brand of the product |
| item_condition | Integer | Provide a number. 11(new), 1(like_new), 2(very_good), 3(good), 4(acceptable), 5(collectible_like_new), 6(collectible_very_good), 7(collectible_good), 8(collectible_acceptable), 10(refurbished), 15(unknown), 16(needs_work), 17(salvage), 18(not_applicable) |
| item_category | String | Category or type of the product |
| item_category_id | String | ID of category of the product |
| item_category_hierarchy | String | Hierarchy of category (ex. Automotive > Parts & Accessories > Motorcycle & Scooter Parts & Accessories > Other Motorcycle & Scooter Parts & Accessories) |
| subtitle | String | Subtitle ($1.50) |
| features_html | String | Features of product with html tags |
| mpn | String | Manufacturer part number |
| starting_price | Float | Starting price of the item. Default is 0 |
| lot_size | Integer | Size of the lot |
| max_quantities_to_list | Integer | Max quantity available for purchase at any given time |
| min_quantity_to_list | Integer | Min quantity available for purchase at any given time |
| reserve_quantity | Integer | Additional quantity in warehouse not available for purchase |
| reserve_quantity_location | String | Specify where these units are stored in warehouse |
| avg_cost_price | Float | Setting this value will reset cost price across all manifests |
| seller_vat_margin | Float | Seller VAT % |
| buyer_vat_margin | Float | Buyer VAT % |
| retail_price_profit_margin | Float | Sell Price Profit % |
| retail_price_add_on_amount | Float | Sell Price Add-on Amount |
| min_price_profit_margin | Float | Min Price Profit % |
| min_price_add_on_amount | Float | Min Price Add-on Amount |
| max_price_profit_margin | Float | Max Price Profit % |
| max_price_add_on_amount | Float | Max Price Add-on Amount |
| apply_marketplace_fee | Boolean | Set true if you want to apply the marketplace fee |
| units_system | String | Optional. Provide any of these values. imperial or metric |
| weight_in_pounds | Float | Item weight in pounds |
| package_weight_in_pounds | Float | Package weight in pounds |
| hs_tariff_number | String | Harmonization Code |
| target_quantity | Integer | Target quantity |
| reorder_level | Integer | Reorder level |
| supplier_ids | Array | SC IDs of suppliers |
| item_dimensions | Hash | Ex. {"length": 1, "width": 2, "height": 3, "unit": "inches"} |
| package_dimensions | Hash | Ex. {"length": 1, "width": 2, "height": 3, "unit": "inches"} |
| item_specifics | Array | Ex. [{"name": "size", "value": "xl", "namespace": "global", "type": "string"}, {"name": "color", "value": "red", "namespace": "global", "type": "string"}] |
Product Images
GET product_images
Returns back product_images for a product
Url format:
/api/products/PRODUCT_ID/product_images
curl -X GET \
https://app.sellerchamp.com/api/products/5e73df57584085c9820002fe/product_images \
-H 'content-type: application/json' \
-H 'token: YOUR-TOKEN' \
Make sure to replace `YOUR-TOKEN` with your API key token.
The above command returns JSON structured like this:
{
"product_images": [
{
"id": "5e73df8a584085c98200030a",
"product_id": "5e73df57584085c9820002fe",
"product_name": "New Title",
"position": 1,
"original_image_url": "https://images-na.ssl-images-amazon.com/images/I/41GAMTpSarL.jpg",
"small_image_url": null,
"medium_image_url": null,
"large_image_url": "https://images-na.ssl-images-amazon.com/images/I/41GAMTpSarL.jpg"
},
{
"id": "5e73df8a584085c98200030b",
"product_id": "5e73df57584085c9820002fe",
"product_name": "New Title",
"position": 1,
"original_image_url": "https://images-na.ssl-images-amazon.com/images/I/31LKUpz0yTL.jpg",
"small_image_url": null,
"medium_image_url": null,
"large_image_url": "https://images-na.ssl-images-amazon.com/images/I/31LKUpz0yTL.jpg"
}
]
}
CREATE product_images
Adds an image to an existing product
Url format:
/api/products/PRODUCT_ID/product_images
curl -X POST \
https://app.sellerchamp.com/api/products/5e29634b07b6201e4d0000d2/product_images \
-H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
-H 'token: YOUR-TOKEN' \
-F 'product_image[group_name]=primary' \
-F 'product_image[attachment]=@s-l1600 (1).jpg'
Make sure to replace `YOUR-TOKEN` with your API key token.
FORM DATA Parameters
| Name | Data Type | Description |
|---|---|---|
| product_image[group_name] | String | Image group (primary or variant) |
| product_image[attachment] | File | The image attachment |
DELETE product_image
Removes an image from an existing product
Url format:
/api/products/PRODUCT_ID/product_images/PRODUCT_IMAGE_ID
curl -X DELETE \
'http://sellerchamp.com/api/products/5e73df57584085c9820002fe/product_images/5e29634b07b6201e4d0000d2.json?' \
-H 'content-type: application/json' \
-H 'token: YOUR-TOKEN'
Make sure to replace `YOUR-TOKEN` with your API key token.
Variants
Overview
Variants allow you to manage different versions of a product with varying attributes like color, size, style, etc. Each variant can have its own SKU, price, inventory, and other unique properties while being associated with a parent product.
Variant Structure
A variant consists of the following components:
- Options: Up to 5 option types (e.g., Color, Size, Style) with corresponding values
- Identifiers: SKU, Alt SKU, UPC, ASIN
- Inventory: Quantity available, handling time
- Pricing: Retail price, Min price, Max Price, MAP price, MSRP, Cost price
- Images: Variant-specific images
GET variants
Return all variants.
Url format:
/api/variants
Returns all variants for a specific product.
Url format:
/api/products/PRODUCT_ID/variants
curl -X GET \
https://app.sellerchamp.com/api/products/{product_id}/variants \
-H 'token: YOUR-TOKEN' \
Make sure to replace `YOUR-TOKEN` with your API key token.
The above command returns JSON structured like this:
{
"variants": [
{
"id": "61c056275e8edd0b21ffb1f4",
"product_id": "61c056275e8edd0b21ffb133",
"option1_name": "Color",
"option1_value": "Black",
"option2_name": "Size",
"option2_value": "Large",
"option3_name": null,
"option3_value": null,
"option4_name": null,
"option4_value": null,
"option5_name": null,
"option5_value": null,
"sku": "BLACK-LG",
"alt_sku": "",
"position": 1,
"title": null,
"upc": "789862014669",
"asin": "B07GJJK5TF",
"item_location": "A1",
"quantity_available": 15,
"retail_price": 30.0,
"msrp": 20.00,
"min_price": 2.00,
"max_price": 20.00,
"map_price": 15.00,
"weight_in_pounds": 0.0,
"cost_price": 5.00,
"handling_time": 1,
"inventory_locations": [
{
"id": "61d2ac985e8edd1946e8fa1f",
"location": "A1",
"quantity_available": 15,
"awaiting_pick": 0,
"priority": 1,
"delete_if_empty": true
}
]
"images": [
{
"id": "68151e63e951fc2eaabf095b",
"position": 0,
"option_name": "Actual Color",
"option_value": "Orange",
"product_image": {
"id": "6814f880e951fc3033ad5efe",
"product_id": "6814f880e951fc3033ad5efc",
"product_name": "Innova Champion Caiman Disc Golf Midrange Disc, Pick Color/Weight [Stamp & Exact Color May Vary] Orange 167-169 grams",
"position": 1,
"original_image_url": "https://i5.walmartimages.com/asr/b6eddc05-9a21-4171-9ffc-865659b2cae2.73f622a92b1b5db523eead96c66b43ef.jpeg",
"small_image_url": null,
"medium_image_url": "https://i5.walmartimages.com/asr/b6eddc05-9a21-4171-9ffc-865659b2cae2.73f622a92b1b5db523eead96c66b43ef.jpeg",
"large_image_url": "https://i5.walmartimages.com/asr/b6eddc05-9a21-4171-9ffc-865659b2cae2.73f622a92b1b5db523eead96c66b43ef.jpeg"
}
}
]
}
]
}
GET variant
Returns a specific variant by ID.
Url format:
/api/variants/VARIANT_ID
curl -X GET \
https://app.sellerchamp.com/api/variants/{variant_id} \
-H 'token: YOUR-TOKEN' \
Make sure to replace `YOUR-TOKEN` with your API key token.
PUT variant
Updates a specific variant's properties.
Url format:
/api/variants/VARIANT_ID
curl -X PUT \
https://app.sellerchamp.com/api/variants/{variant_id} \
-H 'token: YOUR-TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"variant": {
"option1_value": "Red",
"option2_value": "Medium",
"retail_price": 25.99,
"sku": "RED-MED",
"quantity_available": 20,
"msrp": 20.00,
"min_price": 2.00,
"max_price": 20.00,
"map_price": 15.00,
"item_location": "B2",
"cost_price": 2.00
}
}'
Make sure to replace `YOUR-TOKEN` with your API key token.
BODY Parameters
| Name | Data Type | Description |
|---|---|---|
| option1_value | String | First variant option value (e.g., "Red") |
| option2_value | String | Second variant option value (e.g., "Medium") |
| option3_value | String | Third variant option value |
| option4_value | String | Fourth variant option value |
| option5_value | String | Fifth variant option value |
| retail_price | Float | Retail price of the variant |
| sale_price | Float | Sale price of the variant |
| min_price | Float | Minimum price of the variant |
| max_price | Float | Maximum price of the variant |
| map_price | Float | Minimum Advertised Price of the variant |
| msrp | Float | Variant's MSRP |
| cost_price | Float | Cost price of the variant |
| sku | String | Variant SKU |
| alt_sku | String | Alternative SKU for the variant |
| upc | String | UPC/EAN barcode |
| asin | String | Amazon ASIN |
| lot_size | Integer | Lot size |
| quantity_available | Integer | Available quantity |
| item_location | String | Warehouse location |
| weight_in_pounds | Float | Weight in pounds |
| handling_time | Integer | Variant's handling time (in days) |
POST variant
Creates a new variant for a product.
Url format:
/api/products/PRODUCT_ID/variants
curl -X POST \
https://app.sellerchamp.com/api/products/{product_id}/variants \
-H 'token: YOUR-TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"variant": {
"option1_name": "Color",
"option1_value": "Blue",
"option2_name": "Size",
"option2_value": "Small",
"option3_name": "Style",
"option3_value": "Solid",
"option4_name": "Style",
"option4_value": "Checkered",
"option5_name": "Style",
"option5_value": "Striped",
"sku": "BLUE-SM-SOLID-CHECKERED-STRIPED",
"retail_price": 22.99,
"quantity_available": 10,
"item_location": "C3"
}
}'
Make sure to replace `YOUR-TOKEN` with your API key token.
BODY Parameters
| Name | Data Type | Description |
|---|---|---|
| option1_name | String | First option name (e.g., "Color") |
| option1_value | String | First option value (e.g., "Blue") |
| option2_name | String | Second option name (e.g., "Size") |
| option2_value | String | Second option value (e.g., "Small") |
| option3_name | String | Third option name |
| option3_value | String | Third option value |
| option4_name | String | Fourth option name |
| option4_value | String | Fourth option value |
| option5_name | String | Fifth option name |
| option5_value | String | Fifth option value |
| sku | String | Variant SKU |
| retail_price | Float | Retail price |
| sale_price | Float | Sale price |
| min_price | Float | Min price |
| max_price | Float | Maximum price |
| map_price | Float | Minimum Advertised Price |
| msrp | Float | Variant's MSRP |
| cost_price | Float | Cost price |
| quantity_available | Integer | Available quantity |
| item_location | String | Warehouse location |
| weight_in_pounds | Float | Weight in pounds |
| handling_time | Integer | Number of days required to process and ship the variant |
DELETE variant
Removes a variant from a product.
Url format:
/api/variants/VARIANT_ID
curl -X DELETE \
https://app.sellerchamp.com/api/products/{product_id}/variants/{variant_id} \
-H 'token: YOUR-TOKEN' \
Make sure to replace `YOUR-TOKEN` with your API key token.
Bulk Update Variants
PUT bulk_update
Update multiple variants.
Url format:
/api/variants/bulk_update
curl -X PUT \
https://app.sellerchamp.com/api/variants/bulk_update \
-H 'content-type: application/json' \
-H 'token: YOUR-TOKEN' \
-d '{
"variants":[
{
"id": "62557f505e8edd17829f20ff",
"option1_name": "Color",
"option1_value": "Blue",
"option2_name": "Size",
"option2_value": "Small",
"option3_name": "Style",
"option3_value": "Solid",
"option4_name": "Style",
"option4_value": "Checkered",
"option5_name": "Style",
"option5_value": "Striped",
"sku": "BLUE-SM-SOLID-CHECKERED-STRIPED",
"retail_price": 22.99,
"quantity_available": 10,
"msrp": 20.00,
"min_price": 2.00,
"max_price": 20.00,
"map_price": 15.00,
"cost_price": 2.00
"item_location": "C3",
"handling_time": 1
},
{
"id": "62557f505e8ccdd17829f20ff",
"option1_name": "Color",
"option1_value": "Red",
"option2_name": "Size",
"option2_value": "Large",
"option3_name": "Style",
"option3_value": "Solid",
"option4_name": "Style",
"option4_value": "Checkered",
"option5_name": "Style",
"option5_value": "Striped",
"sku": "RED-LG-SOLID-CHECKERED-STRIPED",
"retail_price": 22.99,
"quantity_available": 10,
"item_location": "C3",
"handling_time": 1
},
]
}'
Make sure to replace `YOUR-TOKEN` with your API key token.
BODY Parameters
| Name | Data Type | Description |
|---|---|---|
| option1_value | String | First variant option value (e.g., "Red") |
| option2_value | String | Second variant option value (e.g., "Medium") |
| option3_value | String | Third variant option value |
| option4_value | String | Fourth variant option value |
| option5_value | String | Fifth variant option value |
| retail_price | Float | Retail price of the variant |
| sale_price | Float | Sale price of the variant |
| min_price | Float | Minimum price of the variant |
| max_price | Float | Maximum price of the variant |
| map_price | Float | Minimum Advertised Price of the variant |
| msrp | Float | Variant's MSRP |
| cost_price | Float | Cost price of the variant |
| sku | String | Variant SKU |
| alt_sku | String | Alternative SKU for the variant |
| upc | String | UPC/EAN barcode |
| asin | String | Amazon ASIN |
| lot_size | Integer | Lot size |
| quantity_available | Integer | Available quantity |
| item_location | String | Warehouse location |
| weight_in_pounds | Float | Weight in pounds |
| handling_time | Integer | Variant's handling time (in days) |
Inventory Locations
GET inventory_locations
Returns back current inventory locations for a product
Url format:
/api/products/PRODUCT_ID/inventory_locations
curl -X GET \
https://app.sellerchamp.com/api/products/5e73df57584085c9820002fe/inventory_locations \
-H 'content-type: application/json' \
-H 'token: YOUR-TOKEN' \
Make sure to replace `YOUR-TOKEN` with your API key token.
The above command returns JSON structured like this:
{
"inventory_locations": [
{
"id": "623ac488827d2931da38a7aa",
"location": "DVD RACK 01-F-2.4.22-10",
"quantity_available": 7,
"awaiting_pick": 0,
"priority": 1,
"delete_if_empty": true
},
{
"id": "623b4abf827d294a0c8aff00",
"location": "A1",
"quantity_available": 1,
"awaiting_pick": 0,
"priority": 2,
"delete_if_empty": true
},
{
"id": "623b4acc827d294a0c8aff06",
"location": "A2",
"quantity_available": 1,
"awaiting_pick": 0,
"priority": 3,
"delete_if_empty": true
}
]
}
POST inventory_location
Creates a new inventory location for an existing product
Url format:
/api/products/PRODUCT_ID/inventory_locations
curl --request POST \
--url https://app.sellerchamp.com/api/products/5e73df57584085c9820002fe/inventory_locations \
--header 'Content-Type: application/json' \
--header 'cache-control: no-cache,no-cache,no-cache' \
--header 'token: YOUR-TOKEN' \
-- data '{ "inventory_location": { "location": "A1", quantity_available: 3, delete_if_empty: true, "priority": 1 } }'
Make sure to replace `YOUR-TOKEN` with your API key token.
FORM DATA Parameters
| Name | Data Type | Description |
|---|---|---|
| location | String | Inventory Location name |
| quantity_available | Number | Quantity available for inventory location |
| delete_if_empty | Boolean | Remove location if and when quantity reaches zero |
| priority | Number | Determines order in which quantity is reduced from locations when item sells. Lower priority locations are used first. |
PUT inventory_location
Updates an existing inventory location for an existing product
Url format:
/api/products/PRODUCT_ID/inventory_locations/INVENTORY_LOCATION_ID
curl --request PUT \
--url https://app.sellerchamp.com/api/products/5e73df57584085c9820002fe/inventory_locations/623b4acc827d294a0c8aff06 \
--header 'Content-Type: application/json' \
--header 'cache-control: no-cache,no-cache,no-cache' \
--header 'token: YOUR-TOKEN' \
-- data '{ "inventory_location": { "location": "A2", quantity_available: 3, delete_if_empty: true, "priority": 1 } }'
Make sure to replace `YOUR-TOKEN` with your API key token.
FORM DATA Parameters
| Name | Data Type | Description |
|---|---|---|
| location | String | Inventory Location name |
| quantity_available | Number | Quantity available for inventory location |
| delete_if_empty | Boolean | Remove location if and when quantity reaches zero |
| priority | Number | Determines order in which quantity is reduced from locations when item sells. Lower priority locations are used first. |
Bulk Update Inventory Locations
PUT bulk_update
Update multiple inventory locations. Maximum 1,000 items can be sent per api call.
Url format:
/api/inventory_locations/bulk_update
curl -X PUT \
https://app.sellerchamp.com/api/inventory_locations/bulk_update \
-H 'content-type: application/json' \
-H 'token: YOUR-TOKEN' \
-d '{
"inventory_locations":[
{
"product_id": '62557f505e8edd17829f20f2',
"location": "A1",
"quantity_available": 2,
"external_id": "ABC",
"external_name: "ABC",
"priority": 1,
"delete_if_empty": false
},
{
"product_id": '62557f505e8edd17829f20f3',
"location": "A1",
"quantity_available": 2,
"external_id": "ABC",
"external_name: "ABC",
"priority": 1,
"delete_if_empty": false
}
]
}'
Make sure to replace `YOUR-TOKEN` with your API key token.
BODY PARAMETERS
| Name | Data Type | Description |
|---|---|---|
| product_id | String | Product's id. Required |
| id | String | The ID of an existing location. Optional. If you specify ID for one element of the "inventory_locations" array, you must specify it for all elements. |
| location | String | Location where inventory is stored. Required. |
| quantity_available | Integer | The quantity of the location. Required. |
| external_id | String | The External ID of the warehouse |
| external_name | String | The External Name of the warehouse |
| priority | Integer | The priority of the location |
| delete_if_empty | Boolean | Should the location be deleted if quantity reaches 0. |
If no ID is specified or if it is specified as "null" and no location exists for the value that is passed in, a new location will be created.
Orders
GET orders w/o parameters
Url format:
/api/orders
# With shell, you can just pass the correct header with each request
curl -X GET \
https://app.sellerchamp.com/api/orders \
-H 'token: YOUR-TOKEN' \
Make sure to replace `YOUR-TOKEN` with your API key token.
Returns back all the orders. Default page size is 50.
The above command returns JSON structured like this:
{
"orders": [
{
"order_number": "132886362059-1538935630003",
"purchase_number": "1234",
"created_at": null,
"updated_at": "2019-01-07T23:02:55.533Z",
"purchased_at": "2018-12-14T00:10:56.000+00:00",
"ship_by_date": "2018-12-14T00:10:56.000+00:00",
"delivery_start_date": "2018-12-16T00:10:56.000+00:00",
"delivery_end_date": "2018-12-18T00:10:56.000+00:00",
"ship_start_date": "2018-12-14T00:10:56.000+00:00",
"ship_end_date": "2018-12-14T00:10:56.000+00:00",
"order_status": "shipped",
"buyer_name": "Ellis Driver",
"buyer_username": "edriver",
"buyer_email": null,
"buyer_notes": "",
"quantity_sold": 2,
"total_amount": 10.00,
"subtotal": 8.00,
"shipped_subtotal": 8.00,
"paid": true,
"amount_paid": 10.00,
"adjustment_amount": 0.00,
"total_tax": 2.00,
"total_shipping": 0.00,
"order_notes": null,
"fulfilled_by": "seller",
"tracking_number": "1Z234324334332",
"carrier_code": "UPS",
"acknowledged": true,
"is_prime": false,
"on_hold": false,
"currency_code": "USD",
"shipping_service_level": "Expedited",
"shipping_method": "NextDay",
"address_type": "Residential",
"store_id": "5c1902f207b620090a000026",
"marketplace_account_id": "5c1902f207b620090a000026",
"marketplace_account_name": "My eBay Store",
"marketplace": "ebay"
"ship_to": {
"name": "ellis driver",
"street1": "1623 NC Highway 86 N",
"street2": null,
"city": "hillsborough",
"state": "NC",
"postal_code": "27278-7516",
"country": "US",
"phone": "1-214-777-8888",
"reference_id": "REF123"
},
"items": [
{
"order_item_id": "5c33da5a07b6203f81000887",
"order_item_number": "112-242-223432",
"sku": "S11LPJMI1BZZT",
"variant_sku": "V123",
"created_at": null,
"ship_by_date": "2018-12-14T00:10:56.000+00:00",
"delivery_start_date": "2018-12-16T00:10:56.000+00:00",
"delivery_end_date": "2018-12-18T00:10:56.000+00:00",
"title": "Premium Rainbow Color Embroidery Floss - Cross Stitch Threads - Friendship Bra..",
"weight": {
"value": 0,
"units": "ounces"
},
"updated_at": null,
"quantity": 1,
"currency_code": "USD",
"tax_amount": 0,
"unit_price": 12.54,
"shipping_amount": 0,
"warehouse_location": null,
"product_id": "",
"fulfillment_sku": "S11LPJMI1BZZT",
"marketplace_fees": 7.35
}
]
}
]
}
GET orders with parameters
Returns back a list of orders that match the specified criteria. All of the available filters are optional. They do not need to be included in the URL. If you do include them, here's what the URL may look like:
Url format with filters:
/api/orders?buyer_name=smith &updated_at_start=2015-01-01T00:00:00&updated_at_end=2015-01-08T00:00:00 &order_status=unshipped &marketplace_accont_id=5e73df8a584085c98200030b &sort=order_status&page=1&page_size=20
curl --request GET \
--url 'https://app.sellerchamp.com/api/orders?order_status=unshipped&marketplace_account_id=5e73df8a584085c98200030b&updated_at_start=2015-01-01T00:00:00&updated_at_end=2015-01-08T00:00:00&page=1&page_size=20' \
-H 'token: YOUR-TOKEN' \
Make sure to replace `YOUR-TOKEN` with your API key token.
URL Parameters
| Name | Data Type | Description |
|---|---|---|
| buyer_name | String | Returns orders that match the specified name. Example: smith. |
| created_at_start | String | Returns orders that were created after the specified date Example: 2015-01-01 00:00:00. |
| created_at_end | String | Returns orders that were created before the specified date Example: 2015-01-08 00:00:00. |
| updated_at_start | String | Returns orders that were modified after the specified date Example: 2015-01-01 00:00:00. |
| updated_at_end | String | Returns orders that were modified before the specified date Example: 2015-01-08 00:00:00. |
| order_number | String | Filter by order number, performs a "starts with" search. Example: 12345. |
| order_status | String | Filter by order status. If left empty, orders of all statuses are returned. Example: shipped, pending, pending_availability, unshipped, partially_shipped, cancelled, canceled, completed |
| purchased_at_start | String | Returns orders that were paid after the specified date Example: 2015-01-01 |
| purchased_at_end | String | Returns orders that were paid before the specified date Example: 2015-01-08 |
| marketplace_account_id | Number | Filters orders to a single marketplace account. Call /marketplace_accounts to obtain list of marketplace account ids. |
| sort | String | Sort the responses by a set value. The response will be sorted based off the ascending dates (oldest to most current.) If left empty, the response will be sorted by ascending order_id. Example: Order_date |
| direction | String | Sets the direction of the sort order. Example: ASC. |
| page | String | Page number Default: 1. |
| page_size | number | Requested page size. Default: 250. |
PUT order
Updates an order. If tracking number and carrier code are provided, they are submitted to the respective marketplace.
URL format:
/api/orders/ORDER_ID
curl --request PUT \
--url https://app.sellerchamp.com/api/orders/{order_id} \
--header 'Content-Type: application/json' \
--header 'cache-control: no-cache,no-cache,no-cache' \
--header 'token: YOUR-TOKEN' \
-- data '{ "order": { "id": "{id}", tracking_number: "{tracking_number}", carrier_code: "{carrier_code}" } }'
URL Parameters
| Name | Data Type | Description |
|---|---|---|
| id | String | The ID of the order to update |
| tracking_number | String | The order's tracking number |
| carrier_code | String | The carrier service used to ship the order (UPS, USPS, FedEx, etc.) |
POST Cancel Order
Cancel an order or specific order items.
URL format:
/api/orders/{order_id}/cancel
curl --request POST \
--url https://app.sellerchamp.com/api/orders/{order_id}/cancel \
--header 'Content-Type: application/json' \
--header 'token: YOUR-TOKEN' \
-- data '{
"cancel_reason": "Customer Requested Cancellation",
"order_item_ids": ["{order_item_id1}", "{order_item_id2}"]
}'
URL Parameters
| Name | Data Type | Description |
|---|---|---|
| order_id | String | The ID of the order to cancel |
Request Body Parameters
| Name | Data Type | Description |
|---|---|---|
| cancel_reason | String | Reason for cancellation (required) |
| order_item_ids | Array | Array of order item IDs to cancel (required) |
POST Refund Order
Refund an order or specific order items.
URL format:
/api/orders/{order_id}/refund
Full Refund
curl --request POST \
--url https://app.sellerchamp.com/api/orders/{order_id}/refund \
--header 'Content-Type: application/json' \
--header 'token: YOUR-TOKEN' \
-- data '{
"refund_reason": "Item returned to seller",
"refund_action": "full_refund",
"amount": 100.50,
"order_item_id_qty_pairs": {
"11n50d2c7305811ea5f3e410": 1
}
}'
Partial Refund
curl --request POST \
--url https://app.sellerchamp.com/api/orders/{order_id}/refund \
--header 'Content-Type: application/json' \
--header 'token: YOUR-TOKEN' \
-- data '{
"refund_reason": "Item returned to seller",
"refund_action": "partial_refund",
"amount": 30.00,
"order_item_id_qty_pairs": {
"11n50d2c7305811ea5f3e410": 1
}
}'
URL Parameters
| Name | Data Type | Description |
|---|---|---|
| order_id | String | The ID of the order to refund |
Request Body Parameters
| Name | Data Type | Description |
|---|---|---|
| refund_reason | String | Reason for refund (required) |
| refund_action | String | Type of refund: "full_refund" or "partial_refund" (required) |
| amount | Float | Refund amount (required) |
| order_item_id_qty_pairs | Hash | Hash of order_item_id => quantity for refunds (required for partial refund) |
Acknowledge order
Order Acknowledgment. You can acknowledge Google Merchant and Walmart orders, if the order is in Awaiting Shipment status.
URL format:
/api/orders/ORDER_ID/acknowledge
curl --request POST \
--url https://app.sellerchamp.com/api/orders/{order_id}/acknowledge \
--header 'Content-Type: application/json' \
--header 'cache-control: no-cache,no-cache,no-cache' \
--header 'token: YOUR-TOKEN' \
URL Parameters
| Name | Data Type | Description |
|---|---|---|
| ORDER_ID | String | The ID of the order to acknowledge |
Users
GET User
Get user information for the specified ID.
Url format:
/api/users/USER_ID
curl -X GET \
https://app.sellerchamp.com/api/users/11n50d2c7305811ea5f3e450.json \
-H 'content-type: application/json' \
-H 'token: YOUR-TOKEN'
}'
Make sure to replace `YOUR-TOKEN` with your API key token.
The above command returns JSON structured like this:
{
"user": {
"id": "11n50d2c7305811ea5f3e450",
"name": "Nizar Noorani",
"client_name": "SC-Client",
"user_type": "client",
"push_notifications": {
"order_created": [
"30d12c3473c5cf72gdebe2b1",
"55d2sc337105cf72gde34522"
]
},
"role": "super_user"
}
}
PUT user
Updates the user for the specified ID.
Url format:
/api/users/USER_ID
curl -X PATCH \
https://app.sellerchamp.com/api/users/3273df57584085c12300065.json \
-H 'content-type: application/json' \
-H 'token: YOUR-TOKEN' \
-d '{
"user": {
"push_notifications": {"order_created": ["MARKETPLACE_ACCOUNT_ID", "ANOTHER_MARKETPLACE_ACCOUNT_ID"]}
}
}'
Make sure to replace `YOUR-TOKEN` with your API key token.
BODY PARAMETERS
| Name | Data Type | Description |
|---|---|---|
| name | String | The full name of the user |
| push_notifications | Hash | Hash of values for notification settings containing allowed marketplace ids. Pass-in empty string to clear out marketplace ids for a given notification. Ex: { "order_created": [""] } |
Errors
The SellerChamp API uses the following error codes:
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- Your request is invalid. |
| 401 | Unauthorized -- Your API key is wrong. |
| 403 | Forbidden -- The kitten requested is hidden for administrators only. |
| 404 | Not Found -- The specified kitten could not be found. |
| 405 | Method Not Allowed -- You tried to access a kitten with an invalid method. |
| 406 | Not Acceptable -- You requested a format that isn't json. |
| 409 | Conflict -- Previous request still in progress. Please wait a bit and try again later. |
| 410 | Gone -- The kitten requested has been removed from our servers. |
| 418 | I'm a teapot. |
| 429 | Too Many Requests -- You're requesting too many kittens! Slow down! |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
| 503 | Service Unavailable -- We're temporarily offline for maintenance. Please try again later. |