API ReferenceInventory

Update one variant (stock, price, msrp, weight, images)

PATCH /rest/v1/products/{id}/variants/{variant_id}

PATCH
/products/{id}/variants/{variant_id}

Updates a single variant and re-syncs it to the channels where the product is listed. images assigns variant-specific photos by referencing images already on the product (image_id from the product's images[]) — upload new photos on the product first, then assign them here.

AuthorizationBearer <token>

Authorization: Bearer nbl_live_... (or nbl_test_... for test mode). Test-mode writes are validated and simulated but never persisted and never touch channels; simulated results are marked simulated.

In: header

Path Parameters

id*string
variant_id*string

Header Parameters

Idempotency-Key?string

Unique client-generated key (max 255 chars), stored 24h.

Lengthlength <= 255

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Properties1 <= properties

Response Body

application/json

application/json

application/json

curl -X PATCH "https://example.com/products/string/variants/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "prod_66a1f09b2",  "object": "product",  "title": "Vintage denim jacket",  "description": "string",  "brand": "string",  "category": "string",  "short_description": "string",  "vat_rate": 0,  "mpn": "string",  "weight": {    "value": "string",    "unit": "oz"  },  "dimensions": {    "length": "string",    "width": "string",    "height": "string",    "unit": "in"  },  "tags": [    "string"  ],  "currency": "string",  "status": "ready",  "sync_status": "ok",  "images": [    {      "id": "img_ph1x8",      "object": "image",      "url": "http://example.com",      "alt": "string",      "position": 0    }  ],  "variants": [    {      "id": "var_66a1f1",      "object": "variant",      "sku": "VDJ-M-001",      "title": "string",      "price": "19.90",      "msrp": "19.90",      "quantity": 0,      "barcode": "string",      "grams": 0,      "asin": "string",      "images": [        {          "image_id": "img_66a1f2",          "url": "http://example.com",          "position": 0        }      ],      "options": {        "property1": "string",        "property2": "string"      }    }  ],  "listings": [    {      "id": "list_9ac2e",      "channel_account_id": "string",      "channel": "string",      "status": "listed",      "url_on_channel": "http://example.com"    }  ],  "created_at": "2019-08-24T14:15:22Z",  "updated_at": "2019-08-24T14:15:22Z",  "sync": {    "operation_id": "op_8fd2c1",    "channels": [      {        "channel_account_id": "string",        "status": "pending"      }    ]  }}

Last updated on July 30, 2026

Need help?

Email us and a human replies, usually within one business day.