Products

List variants

Lists a product's sellable combinations.

GET
/v1/products/{productId}/variants

Use this list to find the correct local unit before recording inventory or creating a binding. It includes the standard Variant created with the Product, even when the product has no color, size, or other option.

Each item represents a distinct sellable combination. One Product can have black/16 GB and black/32 GB because their options maps differ; each receives its own variantId, balance, and movement history.

The response is paginated. Store Variant IDs in your ERP or PIM if it will initiate movements and bindings programmatically.

Authorization

api_key
headerAuthorizationBearer <token>

API key (mk_...)

Path Parameters

productId*string
Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid

Query Parameters

page?integer

Page number, starting at 1. Defaults to 1. A page beyond pagination.totalPages is not an error: it returns empty data.

Range1 <= value <= 9007199254740991
Default1
pageSize?integer

Items per page, from 1 to 100. Defaults to 20.

Range1 <= value <= 100
Default20

Response Body

A page of this product variants, oldest first.

application/json
  1. response

One page of variants of one product.

data*array<>

Variants in this page, oldest first.

pagination*

Where this page sits in the whole listing: the totals and whether there are pages before and after it.

curl -X GET "https://example.com/v1/products/497f6eca-6276-4993-bfeb-53cbbbba6f08/variants"
{  "data": [    {      "id": "47c9f819-fcf6-4478-b21a-678ecc594a11",      "productId": "a0f0ce59-5d17-49bf-8b45-d1dc057daab4",      "sellerId": "3d1c8a52-7f0e-4b0a-8a65-9c1b2f6d7e01",      "status": "active",      "sku": "IP16-BLK-128",      "gtin": null,      "externalIdentifiers": {},      "options": {        "color": "black",        "storage": "128GB"      },      "content": null,      "attributes": [],      "physical": null,      "costInCents": null,      "costCurrency": null,      "inventoryAuthority": "marketapi",      "allowBackorder": false,      "media": [],      "metadata": {},      "createdAt": "2026-10-10T12:00:00.000Z",      "updatedAt": "2026-10-10T12:00:00.000Z"    }  ],  "pagination": {    "page": 1,    "pageSize": 20,    "totalItems": 57,    "totalPages": 3,    "hasNext": true,    "hasPrev": false  }}