Skip to content

Create Product

Request

Creates a product: a SKU that Quiqup can hold for you. sku, name, selling_price and currency are required. A SKU that already exists on your account is rejected with already_exists.

Everything else is optional. Omitted physical details get defaults (0.5 kg, and 10 by 10 by 10 cm), which the warehouse and carriers then use, so send the real values. A product is created active unless you send another status.

Security
BearerAuth or OAuth2
Bodyapplication/json
availability_statusinteger, (int64)

Not used: any value you send is ignored.

barcodestring

Product barcode (EAN, UPC, ISBN and so on), at most 50 characters. Defaults to the sku.

batch_managementboolean

Whether stock of this product is tracked by batch. On an update, omit it to keep the stored value; a new product defaults to false.

clear_platform_priceboolean

Send true to remove a stored platform_price. Only needed on an update, because omitting platform_price keeps the stored value. When platform_price is also sent, the value you send is kept and this flag has no effect.

cost_pricenumber

What one unit costs you, 0 or more. On an update, omit it or send 0 to keep the stored cost.

country_code_of_originstring

ISO 3166-1 alpha-2 code of the country of manufacture, for example CN. Needed in practice for exports.

currencystring(Currency)required

Three-letter ISO 4217 currency code.

Enum:"AED""SAR"
descriptionstring

Product description, at most 1,000 characters. When empty, responses return the name in its place.

dimensionsobject(RequestDimensions)

Length, width and height of one unit.

expiry_managementboolean

Whether stock of this product is managed by expiry date. On an update, omit it to keep the stored value; a new product defaults to false.

harmonized_system_codestring

HS code for customs, at most 20 characters. Needed in practice for exports.

imagestring

URL of the product image.

inbound_expiry_threshold_daysinteger, (int64)

Minimum days of shelf life the warehouse accepts when receiving stock, 0 or more. On an update, omit it to keep the stored value.

inventory_trackedboolean

Not used: any value you send is ignored.

manufacturer_idstring

Manufacturer ID (MID) for customs, at most 100 characters. Carriers ask for it on exports. On an update, omit it to keep the stored value; send an empty string to remove it.

manufacturer_namestring

Name of the manufacturer, at most 255 characters. Carriers ask for it on exports. On an update, omit it to keep the stored value; send an empty string to remove it.

namestringrequired

Product name, 2 to 255 characters. Required.

outbound_expiry_threshold_daysinteger, (int64)

Minimum days of shelf life the warehouse picks with, 0 or more. On an update, omit it to keep the stored value.

partner_product_idstring

Your own identifier for the product, at most 100 characters. Defaults to the sku.

platform_pricenumber

Price used for international orders in place of the sales-channel price, when that is enabled for your account. Greater than 0. On an update, omitting it keeps the stored value: use clear_platform_price to remove it.

requires_shippingboolean

Not used: any value you send is ignored.

retail_pricenumber

Not used: any value you send is ignored. Responses return the selling price here.

selling_pricenumberrequired

What the customer pays for one unit. Required, greater than 0.

skustringrequired

Your stock keeping unit, 3 to 100 characters, unique on your account. Required. On an update, send the same sku as in the path.

statusstring(ProductStatus)

Status of a product. Archive a SKU to retire it; there is no delete.

Enum:"active""archived""draft"
total_salesnumber

Not used: any value you send is ignored.

track_expiryboolean

Whether expiry dates are tracked for this product. On an update, omit it to keep the stored value; a new product defaults to false.

typestring

physical or digital.

Enum:"physical""digital"
vendorstring

Vendor or brand name, at most 255 characters.

weightnumber

Weight of one unit, greater than 0. Defaults to 0.5 when omitted.

weight_unitstring

kg or g. Defaults to kg.

curl -i -X POST \
  https://platform-api.quiqup.com/api/fulfilment/products \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "barcode": "6290000000017",
    "batch_management": false,
    "cost_price": 22.5,
    "country_code_of_origin": "AE",
    "currency": "AED",
    "dimensions": {
      "height": 3,
      "length": 30,
      "unit": "cm",
      "width": 25
    },
    "expiry_management": false,
    "harmonized_system_code": "6109.10",
    "name": "Cotton T-shirt, black, M",
    "selling_price": 79,
    "sku": "TSHIRT-BLK-M",
    "status": "active",
    "vendor": "Example Brand",
    "weight": 0.25,
    "weight_unit": "kg"
  }'

Responses

Success response

Bodyapplication/json
availability_statusinteger, (int64)

Not populated. Read stock from the inventory endpoints instead.

barcodestring

Product barcode (EAN, UPC, ISBN, etc.).

batch_managementboolean

Whether stock of this product is tracked by batch.

cost_pricenumber

The stored cost price, or the selling price when no cost is stored.

country_code_of_originstring

ISO 3166-1 alpha-2 code of the country of manufacture.

created_atstring, (date-time)

Not populated.

currencystring(Currency)

Three-letter ISO 4217 currency code.

Enum:"AED""SAR"
descriptionstring

Product description, or the name when no description is stored.

dimensionsobject(ProductDimensions)

Length, width and height of one unit.

expiry_managementboolean

Whether stock of this product is managed by expiry date.

harmonized_system_codestring

HS code for customs.

idstring

Quiqup's numeric id for the product, as a string.

imagestring

URL of the product image.

inbound_expiry_threshold_daysinteger, (int64)

Minimum days of shelf life the warehouse accepts when receiving stock.

inventory_trackedboolean

Whether stock levels are tracked for this product.

manufacturer_idstring

Manufacturer ID (MID) for customs. Null when not set.

manufacturer_namestring

Name of the manufacturer, for customs. Null when not set.

namestring

Name of the product.

outbound_expiry_threshold_daysinteger, (int64)

Minimum days of shelf life the warehouse picks with.

partner_product_idstring

Your own identifier for the product.

platform_pricenumber

Price used for international orders, when one is set.

requires_shippingboolean

Not populated.

retail_pricenumber

The same value as selling_price.

selling_pricenumber

What the customer pays for one unit.

skustring

Your stock keeping unit.

statusstring(ProductStatus)

Status of a product. Archive a SKU to retire it; there is no delete.

Enum:"active""archived""draft"
total_salesnumber

Not populated.

track_expiryboolean

Whether expiry dates are tracked for this product.

typestring

physical or digital.

updated_atstring, (date-time)

Not populated.

vendorstring

Vendor or brand name.

weightnumber

Weight of one unit.

weight_unitstring

kg or g.

Response
{ "barcode": "6290000000017", "batch_management": false, "cost_price": 22.5, "country_code_of_origin": "AE", "currency": "AED", "description": "Cotton T-shirt, black, M", "dimensions": { "dimension_unit": "cm", "height": "3", "length": "30", "width": "25" }, "expiry_management": false, "harmonized_system_code": "6109.10", "id": "10432", "name": "Cotton T-shirt, black, M", "partner_product_id": "TSHIRT-BLK-M", "retail_price": 79, "selling_price": 79, "sku": "TSHIRT-BLK-M", "status": "active", "track_expiry": false, "vendor": "Example Brand", "weight": 0.25, "weight_unit": "kg" }