Commit 859112486b2 for woocommerce
commit 859112486b2f335d693801e403f155e61218d159
Author: Karol Manijak <20098064+kmanijak@users.noreply.github.com>
Date: Tue May 26 19:46:10 2026 +0200
Document gallery_image_ids field on product_variations REST API (#65290)
* Document gallery_image_ids field on product_variations REST API
PR #64524 added the field to wc/v3/product_variations but the REST API
docs weren't updated. Adds it to the property table, JSON response
examples, and the schema reference for all three variation routes.
* Drop "Mirrors how galleries work on parent products" from gallery_image_ids description
* Fix gallery_image_ids docs: add minimum bound and correct endpoint path
diff --git a/docs/apis/rest-api/v3/api-reference.mdx b/docs/apis/rest-api/v3/api-reference.mdx
index b8293f6f316..c5ca47474e6 100644
--- a/docs/apis/rest-api/v3/api-reference.mdx
+++ b/docs/apis/rest-api/v3/api-reference.mdx
@@ -7110,6 +7110,15 @@ woocommerce.get("").parsed_response
"description": "Variation image data.",
"type": "object"
},
+ "gallery_image_ids": {
+ "required": false,
+ "description": "Variation gallery image IDs, excluding the featured image (which is set via \"image\").",
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "minimum": 1
+ }
+ },
"attributes": {
"required": false,
"description": "List of attributes.",
@@ -7352,6 +7361,15 @@ woocommerce.get("").parsed_response
"description": "Variation image data.",
"type": "object"
},
+ "gallery_image_ids": {
+ "required": false,
+ "description": "Variation gallery image IDs, excluding the featured image (which is set via \"image\").",
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "minimum": 1
+ }
+ },
"attributes": {
"required": false,
"description": "List of attributes.",
@@ -7588,6 +7606,15 @@ woocommerce.get("").parsed_response
"description": "Variation image data.",
"type": "object"
},
+ "gallery_image_ids": {
+ "required": false,
+ "description": "Variation gallery image IDs, excluding the featured image (which is set via \"image\").",
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "minimum": 1
+ }
+ },
"attributes": {
"required": false,
"description": "List of attributes.",
diff --git a/docs/apis/rest-api/v3/product-variations.mdx b/docs/apis/rest-api/v3/product-variations.mdx
index 62a998b1a93..bbb0a6f15e0 100644
--- a/docs/apis/rest-api/v3/product-variations.mdx
+++ b/docs/apis/rest-api/v3/product-variations.mdx
@@ -51,6 +51,7 @@ The product variations API allows you to create, view, update, and delete indivi
| `shipping_class` | string | Shipping class slug. |
| `shipping_class_id` | string | Shipping class ID. `READ-ONLY` |
| `image` | object | Variation image data. See [Product variation - Image properties](#product-variation---image-properties) |
+| `gallery_image_ids` | array | Variation gallery image IDs, excluding the featured image (which is set via `image`). |
| `attributes` | array | List of attributes. See [Product variation - Attributes properties](#product-variation---attributes-properties) |
| `menu_order` | integer | Menu order, used to custom sort products. |
| `meta_data` | array | Meta data. See [Product variation - Meta data properties](#product-variation---meta-data-properties) |
@@ -271,6 +272,7 @@ woocommerce.post("products/22/variations", data).parsed_response
"name": "",
"alt": ""
},
+ "gallery_image_ids": [],
"attributes": [
{
"id": 6,
@@ -407,6 +409,7 @@ woocommerce.get("products/22/variations/732").parsed_response
"name": "",
"alt": ""
},
+ "gallery_image_ids": [],
"attributes": [
{
"id": 6,
@@ -544,6 +547,7 @@ woocommerce.get("products/22/variations").parsed_response
"name": "",
"alt": ""
},
+ "gallery_image_ids": [],
"attributes": [
{
"id": 6,
@@ -621,6 +625,7 @@ woocommerce.get("products/22/variations").parsed_response
"name": "",
"alt": ""
},
+ "gallery_image_ids": [],
"attributes": [
{
"id": 6,
@@ -811,6 +816,7 @@ woocommerce.put("products/22/variations/733", data).parsed_response
"name": "",
"alt": ""
},
+ "gallery_image_ids": [],
"attributes": [
{
"id": 6,
@@ -949,6 +955,7 @@ woocommerce.delete("products/22/variations/733", force: true).parsed_response
"name": "",
"alt": ""
},
+ "gallery_image_ids": [],
"attributes": [
{
"id": 6,
@@ -1258,6 +1265,7 @@ woocommerce.post("products/22/variations/batch", data).parsed_response
"name": "Placeholder",
"alt": "Placeholder"
},
+ "gallery_image_ids": [],
"attributes": [
{
"id": 6,
@@ -1335,6 +1343,7 @@ woocommerce.post("products/22/variations/batch", data).parsed_response
"name": "Placeholder",
"alt": "Placeholder"
},
+ "gallery_image_ids": [],
"attributes": [
{
"id": 6,
@@ -1414,6 +1423,7 @@ woocommerce.post("products/22/variations/batch", data).parsed_response
"name": "",
"alt": ""
},
+ "gallery_image_ids": [],
"attributes": [
{
"id": 6,
@@ -1493,6 +1503,7 @@ woocommerce.post("products/22/variations/batch", data).parsed_response
"name": "",
"alt": ""
},
+ "gallery_image_ids": [],
"attributes": [
{
"id": 6,
diff --git a/plugins/woocommerce/changelog/update-rest-api-docs b/plugins/woocommerce/changelog/update-rest-api-docs
new file mode 100644
index 00000000000..e1100d0437e
--- /dev/null
+++ b/plugins/woocommerce/changelog/update-rest-api-docs
@@ -0,0 +1,5 @@
+Significance: patch
+Type: dev
+Comment: Docs-only change. No plugin code impact.
+
+Document new gallery_image_ids field on /wc/v3/products/<product_id>/variations endpoint (added in #64524).