Catalog identifier containing the variants to update.
List of partial variant payloads. Only provided fields are changed for each variant.
Flat request payload for bulk partially updating a SOURCE variant, where:
- predefined SOURCE attributes are documented as fields here.
- custom SOURCE attributes are added dynamically on top-level as fields.
- ENRICHED attributes are not accepted by this endpoint; this endpoint writes SOURCE data only.
Only the provided fields will be updated. If the variant doesn't exist, no action is taken.
Product brand name.
Current selling price keyed by ISO 3166-1 alpha-2 country code or '*' fallback.
Current selling price keyed by ISO 3166-1 alpha-2 country code or '*' fallback.
Currency keyed by the same country codes as price. Values are ISO 4217 currency codes.
Currency keyed by the same country codes as price. Values are ISO 4217 currency codes.
Size keyed by ISO 3166-1 alpha-2 country code or '*' fallback.
Size keyed by ISO 3166-1 alpha-2 country code or '*' fallback.
Localized colour keyed by BCP 47 locale or '*' fallback.
Localized colour keyed by BCP 47 locale or '*' fallback.
Manufacturer Part Number. Maximum length is 70 characters.
Global Trade Item Number. Expected length is 8-14 digits.
Variant status value: 0 = pre_order, 1 = active, 2 = discontinued.
Variant availability value.
Material of the product.
Gender value for fashion catalogs.
Category hierarchy.
Category hierarchy.
Supported locales for this variant.
Supported locales for this variant.
Standardised article number.
Multipack quantity.
Retailer-specific collaboration values.
Retailer-specific collaboration values.
Identifier used for grouping all variants belonging to the same product.
Groups variants that share colour or style but differ by option attributes such as size.
Human-readable title of the variant.
Human-readable title of the style.
Localized product title keyed by BCP 47 locale or '*' fallback.
Localized product title keyed by BCP 47 locale or '*' fallback.
Localized product description keyed by BCP 47 locale or '*' fallback.
Localized product description keyed by BCP 47 locale or '*' fallback.
List of product image URLs.
List of product image URLs.
Localized product detail page URL keyed by BCP 47 locale or '*' fallback.
Localized product detail page URL keyed by BCP 47 locale or '*' fallback.
Indicates whether the product belongs to a seasonal assortment.
Former selling price keyed by ISO 3166-1 alpha-2 country code or '*' fallback.
Former selling price keyed by ISO 3166-1 alpha-2 country code or '*' fallback.
Identifier for products sold as a set.
Additional localized or country-specific product identifier.
Additional localized or country-specific product identifier.
Additional product identifier.
Minimal age in months for children's wear.
Maximum age in months for children's wear.
Best model image URL.
Best product-only image URL.
Client-defined unique identifier of the purchasable variant. Maximum length is 255 characters.
Variant partial update accepted for processing
{
"operation_id": "350e8400-e29b-41d4-a716-546655440000",
"operation": "partial_update",
"status": "accepted",
"catalog_id": 123,
"total_variants_success": 2,
"total_variants_failed": 0,
"message": "Variant partial update accepted for processing",
"accepted_at": 1783502993000,
"variant_events_success": [
{
"event_id": "550e8400-e29b-41d4-a716-446655440000",
"variant_id": "V-1001",
"status": "accepted",
"accepted_attributes": {
"status": "discontinued",
"price": {
"US": 39.99,
"GB": 34.99
}
}
},
{
"event_id": "660e8400-e29b-41d4-a716-446655440000",
"variant_id": "V-1002",
"status": "accepted",
"accepted_attributes": {
"availability": "not_available"
}
}
],
"variant_events_failed": []
}Unique generated UUID assigned to the event and preserved throughout its whole lifecycle. The event_id is used in logs and is also sent back to the client with webhook events when webhooks are configured, so clients are advised to log/save it on their side.
Filled in only when variant could not be processed.
Unique generated UUID assigned to the event and preserved throughout its whole lifecycle. The event_id is used in logs and is also sent back to the client with webhook events when webhooks are configured, so clients are advised to log/save it on their side.
Filled in only when variant could not be processed.
Bulk partial update payload list is missing or null.
{
"operation_id": "350e8400-e29b-41d4-a716-546655440000",
"operation": "add",
"status": "failed",
"catalog_id": 123,
"total_variants_success": 0,
"total_variants_failed": 0,
"message": "Payload list is null",
"accepted_at": 1783502993000,
"variant_events_success": [],
"variant_events_failed": []
}Unique generated UUID assigned to the event and preserved throughout its whole lifecycle. The event_id is used in logs and is also sent back to the client with webhook events when webhooks are configured, so clients are advised to log/save it on their side.
Filled in only when variant could not be processed.
Unique generated UUID assigned to the event and preserved throughout its whole lifecycle. The event_id is used in logs and is also sent back to the client with webhook events when webhooks are configured, so clients are advised to log/save it on their side.
Filled in only when variant could not be processed.
Bulk partial update payload exceeds the maximum allowed size of 1000 variants.
{
"operation_id": "350e8400-e29b-41d4-a716-546655440000",
"operation": "add",
"status": "failed",
"catalog_id": 123,
"total_variants_success": 0,
"total_variants_failed": 0,
"message": "Payload list exceeds maximum allowed size of 1000",
"accepted_at": 1783502993000,
"variant_events_success": [],
"variant_events_failed": []
}Unique generated UUID assigned to the event and preserved throughout its whole lifecycle. The event_id is used in logs and is also sent back to the client with webhook events when webhooks are configured, so clients are advised to log/save it on their side.
Filled in only when variant could not be processed.
Unique generated UUID assigned to the event and preserved throughout its whole lifecycle. The event_id is used in logs and is also sent back to the client with webhook events when webhooks are configured, so clients are advised to log/save it on their side.
Filled in only when variant could not be processed.
Unexpected error while processing bulk partial update.
{
"message": "Unexpected error while processing request",
"httpStatus": 500,
"errorCode": "500 Internal Server Error",
"timestamp": "2026-07-08T12:00:00Z"
}