Skip to main content

Product API

Access and manipulate product information in a Uphance account

Christopher Ike avatar
Written by Christopher Ike
Updated this week

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

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

Did this answer your question?