PATCH /v1/items/{id}/variants/{variantId}
Scope
write_items
Request parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | required | ID of the target resource. |
variantId | path | string | required | ID of the target resource. |
Idempotency-Key | header | string | required | Idempotency key (required). A UUID v4 is recommended. Resending the same key replays the original result, and the response carries Idempotent-Replay: true. Sending a different body with the same key returns 422, so always retry with the identical request. |
sku | body | string | optional | SKU for this variant. |
price | body | object | optional | Price for this variant. null falls back to the item's price. |
discount_rate | body | integer | optional | Discount rate for this variant, in percent. |
status | body | enum(active | inactive) | optional |
inventory | body | object | optional | ⚠️ Not editable here. Update stock through PATCH /v1/items/{id}/stock with variant_id. |
axis_values | body | object | optional | ⚠️ Not editable. The combination of axis values is fixed at creation. Sending it returns 409. |
Response example
{
"data": {
"id": "string",
"item_id": "string",
"sku": "string",
"name": "string",
"price": {
"amount": 0,
"currency": "JPY"
},
"discount_rate": 0,
"inventory": 0,
"status": "active",
"axis_values": [
{
"axis": "string",
"value": "string"
}
]
}
}
Description
Edit a variant (price / discount_rate / status / sku). (write_items)
Error response example
{
"error": {
"code": "insufficient_scope",
"message": "requires scope 'write_items'",
"request_id": "req_01H..."
}
}
Possible errors: 400 / 401 / 403 / 404 / 409 / 503