Product API
You can access and manipulate product information in a Uphance account for a single product. You can retrieve details including product variations, pricing and SKUs.
Retrieve a single product
Retrieve details for an existing product, including product variations, pricing and SKUs.
$ curl https://api.uphance.com/products/PRODUCT_ID \
-H "Authorization: ACCESS_TOKEN"
Example response:
{
"product": {
"id": 3344,
"product_identifier": "",
"name": "New nameoo2",
"description": "desc243 asdf222",
"sizing_system": "S, M, L",
"image_url": "https:// ...",
"not_for_sale": false,
"season_id": 2035,
"variations": [
{
"id": 4224,
"color": "Red",
"textile_content": "100% Cotton",
"prices": [
{
"wsp_money": "45.00",
"msrp_money": "6.00",
"name": "Wholesale",
"currency": "USD"
},
{
"wsp_money": "7.00",
"msrp_money": "8.00",
"name": "Wholesale",
"currency": "GBP"
}
],
"skus": [
{
"id": 8119,
"color": "Red",
"size": "S",
"ean": "",
"in_stock": 0,
"available_to_sell": 0,
"available_to_sell_from_stock": 0
},
{
"id": 8120,
"color": "Red",
"size": "M",
"ean": "",
"in_stock": 0,
"available_to_sell": 0,
"available_to_sell_from_stock": 0
},
{
"id": 8121,
"color": "Red",
"size": "L",
"ean": "",
"in_stock": 0,
"available_to_sell": 0,
"available_to_sell_from_stock": 0
}
]
},
{
"id": 4225,
"color": "Blue",
"textile_content": "100% Cotton",
"prices": [ ... ],
"skus": [ ... ]
},
{
"id": 4226,
"color": "Green",
"textile_content": "100% Cotton",
"prices": [ ... ],
"skus": [ ... ]
}
]
}
}
Retrieve a product by Product Identifier
Retrieve details for a product by passing in the product identifier.
$ curl https://api.uphance.com/products/?filter[product_identifier]= PRODUCT_IDENTIFIER \
-H "Authorization: ACCESS_TOKEN"
List all products
Retrieve details for all products, optionally filtered in some way. This endpoint will return 100 products at most (see the Pagination section to learn how to access all pages).
$ curl https://api.uphance.com/products \
-H "Authorization: ACCESS_TOKEN"
You can pass filter parameters to scope the products returned. All filter parameters have the format filter[name]
where name is some attribute to filter on. For example, the following request filters the requested products by season ID number.
$ curl https://api.uphance.com/products?filter[season_id]=SEASON_ID \
-H "Authorization: ACCESS_TOKEN"
Create Product
Creates a new product with specified attributes, including variations and custom fields. At least one product variation must be included.
POST https://api.uphance.com/products
The caller should provide the following headers along with the request:
Content-Type : application/json
Authorization: Bearer ACCESS_TOKEN
Example Request Body
{
"product": {
"name": "test product",
"product_identifier": " test product 125",
"season_ids": [12592, 12564],
"product_category_id": 15709,
"product_sub_category_id": 1341,
"product_status_id": 5739,
"sizing_system": "XS, S, M, L, XL",
"variations_attributes": [
{
"color": "black",
"code": "B123",
"season_ids": [12592],
"hex_color": "#ffff",
"selected_tags": ["abc", "xyz"],
"textile_content": "Cotton",
"weight": 1.0,
"weight_unit": "lb",
"tariff_code": "TR123",
"country_of_origin": "AF",
"intrastat_code": "INT123",
"dimensions": "10x5x3",
"dimension_unit": "in"
}
],
"custom_field_values_attributes": [
{
"custom_field_id": 81,
"value": "val1"
},
{
"custom_field_id": 82,
"value": ["abc", "xyz"]
}
]
}
}
Field Reference
Main Product Object -
name (string, required): Name of the product.
product_identifier (string, required): Unique identifier .
season_ids (integer[], required): Array of IDs for one or more seasons.
product_category_id (integer, required): ID for the product category.
product_sub_category_id (integer, optional): Subcategory ID.
product_status_id (integer, optional): Product status ID.
sizing_system(string, required): Sizing system for SKU(e.g., "XS, S, M, L, XL").
variations_attributes (array, required): At least one variation with color and season_ids (see below).
custom_field_values_attributes (array, optional): List of custom field values (see below).
Variation Object (within variations_attributes) -
color (string, required): Color name
season_ids(integer[], required): Seasons specific to this variation
code (string, optional): Color/variation code
hex_color (string, optional ): Hex code for color
selected_tags (string[], optional): Tags for this variation
textile_content (string, optional ): Material description
weight (number, optional): Weight of the variation
weight_unit (string, optional): Weight unit e.g., lb
tariff_code (string, optional): Tariff code
country_of_origin (string, optional): Country ISO code (e.g., "US", "IN")
intrastat_code (string, optional): Intrastat code
dimensions (string, optional): Format LxWxH, e.g., "10x5x3"
dimension_unit (string, optional): Dimension unit, e.g., "in"
Custom Field Values (custom_field_values_attributes) -
custom_field_id (integer, required): Custom field ID
value (string or string[], required): Use array for multiple select custom fields.
Reference supporting endpoints for fetching items set up for your organisation in Uphance
Seasons: GET https://api.uphance.com/seasons
Categories: GET https://api.uphance.com/categories
Product Statuses: GET https://api.uphance.com/product_statuses
Sizing Systems: GET https://api.uphance.com/products/sizing_systems
Custom Fields: GET https://api.uphance.com/products/custom_fields
SKUs
Retrieve a single SKU
Retrieve details for an existing SKU.
$ curl https://api.uphance.com/skus/SKU_ID \
-H "Authorization: ACCESS_TOKEN"
Example response:
{
"sku" : {
"id": 1967,
"color": "White Stripe",
"size": "XXL",
"ean": "8365987370003",
"in_stock": 8,
"available_to_sell": 2,
"available_to_sell_from_stock": 2
}
}
Retrieve a SKU by EAN or UPC
Retrieve details for an existing SKU by passing in EAN or UPC.
$ curl https://api.uphance.com/skus?filter[ean]=EAN/UPC\
-H "Authorization: ACCESS_TOKEN"
List all SKUs
Retrieve details for all SKUs, optionally filtered in some way. This endpoint will return 500 SKUs at most (see the Pagination section to learn how to access all pages).
$ curl https://api.uphance.com/skus \
-H "Authorization: ACCESS_TOKEN"
Filter by product:
$ curl https://api.uphance.com/skus?filter[product_id]=PRODUCT_ID \
-H "Authorization: ACCESS_TOKEN"
Filter by season:
$ curl https://api.uphance.com/skus?filter[season_id]=SEASON_ID \
-H "Authorization: ACCESS_TOKEN"
Seasons
GET all Seasons
$ curl https://api.uphance.com/seasons \
-H "Authorization: ACCESS_TOKEN"
Next steps
Product API <You are Here>