Documentation Index

Fetch the complete documentation index at: https://docs.mapp.com/llms.txt

Use this file to discover all available pages before exploring further.

Bulk delete variants

Prev Next
Delete
/api/product-catalog/v1/catalogs/{catalogId}/variants/bulk

Deletes multiple variants in a single request. Each variant in the array is deleted if it exists and skipped otherwise, removing both source and enriched data. Up to 1000 variants are allowed per request.

Security
HTTP
Type bearer
Path parameters
catalogId
integer (int64) Required

Catalog identifier containing the variants to delete.

Body parameters

List of variant identifiers to delete.

[
  {
    "variant_id": "V-1001"
  },
  {
    "variant_id": "V-1002"
  }
]
Array of object
object

Flat request payload for bulk deleting a SOURCE variant.

variant_id
string Required

Client-defined unique identifier of the purchasable variant. Maximum length is 255 characters.

ExampleV-1001
Responses
202

Variant delete accepted for processing

{
  "operation_id": "350e8400-e29b-41d4-a716-546655440000",
  "operation": "delete",
  "status": "accepted",
  "catalog_id": 123,
  "total_variants_success": 2,
  "total_variants_failed": 0,
  "message": "Variant delete accepted for processing",
  "accepted_at": 1783502993000,
  "variant_events_success": [
    {
      "event_id": "550e8400-e29b-41d4-a716-446655440000",
      "variant_id": "V-1001",
      "status": "accepted"
    },
    {
      "event_id": "660e8400-e29b-41d4-a716-446655440000",
      "variant_id": "V-1002",
      "status": "accepted"
    }
  ],
  "variant_events_failed": []
}
Expand All
object
operation_id
string
Example350e8400-dgwe-41d4-a716-546655440000
status
string
Valid values[ "accepted", "failed" ]
Exampleaccepted
catalog_id
integer (int64)
Example123
operation
string
Valid values[ "add", "upsert", "partial_update", "delete", "delete_attributes", "add_existing_only", "overwrite", "overwrite_existing_only", "update", "update_existing_only", "update_localized_attribute", "update_localized_attribute_existing_only", "clean" ]
Exampleadd
total_variants_success
integer (int32)
Example1
total_variants_failed
integer (int32)
Example1
message
string
ExampleVariant add accepted for processing"
accepted_at
string (date-time)
variant_events_success
Array of object (VariantEventResult)
object
event_id
string

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.

Example550e8400-e29b-41d4-a716-446655440000
variant_id
string
ExampleV-1001
status
string
Valid values[ "accepted", "failed" ]
Exampleaccepted
accepted_attributes
object
Example{ "color": { "en-GB": "Navy Blue", "de-DE": "Marineblau", "fr-FR": "Bleu marine" }, "size": { "US": "S", "EU": "36" } }
property*
object additionalProperties
Example{ "color": { "en-GB": "Navy Blue", "de-DE": "Marineblau", "fr-FR": "Bleu marine" }, "size": { "US": "S", "EU": "36" } }
skipped_attributes
object (SkippedAttributesDTO)
non_existing_attributes
Array of string
Example[ "custom_attribute_abc" ]
string
Example["custom_attribute_abc"]
inactive_attributes
Array of string
Example[ "custom_attribute_def" ]
string
Example["custom_attribute_def"]
invalid_data_type_attributes
object
Example{ "price": "price map value must be a number", "gtin": "gtin field must be 8-14 digits", "min_age": "min_age value must be a number" }
property*
string additionalProperties
Example{"price":"price map value must be a number","gtin":"gtin field must be 8-14 digits","min_age":"min_age value must be a number"}
failure_reason
string

Filled in only when variant could not be processed.

Exampleprice mandatory field cannot be deleted
variant_events_failed
Array of object (VariantEventResult)
object
event_id
string

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.

Example550e8400-e29b-41d4-a716-446655440000
variant_id
string
ExampleV-1001
status
string
Valid values[ "accepted", "failed" ]
Exampleaccepted
accepted_attributes
object
Example{ "color": { "en-GB": "Navy Blue", "de-DE": "Marineblau", "fr-FR": "Bleu marine" }, "size": { "US": "S", "EU": "36" } }
property*
object additionalProperties
Example{ "color": { "en-GB": "Navy Blue", "de-DE": "Marineblau", "fr-FR": "Bleu marine" }, "size": { "US": "S", "EU": "36" } }
skipped_attributes
object (SkippedAttributesDTO)
non_existing_attributes
Array of string
Example[ "custom_attribute_abc" ]
string
Example["custom_attribute_abc"]
inactive_attributes
Array of string
Example[ "custom_attribute_def" ]
string
Example["custom_attribute_def"]
invalid_data_type_attributes
object
Example{ "price": "price map value must be a number", "gtin": "gtin field must be 8-14 digits", "min_age": "min_age value must be a number" }
property*
string additionalProperties
Example{"price":"price map value must be a number","gtin":"gtin field must be 8-14 digits","min_age":"min_age value must be a number"}
failure_reason
string

Filled in only when variant could not be processed.

Exampleprice mandatory field cannot be deleted
400

Bulk delete 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": []
}
Expand All
object
operation_id
string
Example350e8400-dgwe-41d4-a716-546655440000
status
string
Valid values[ "accepted", "failed" ]
Exampleaccepted
catalog_id
integer (int64)
Example123
operation
string
Valid values[ "add", "upsert", "partial_update", "delete", "delete_attributes", "add_existing_only", "overwrite", "overwrite_existing_only", "update", "update_existing_only", "update_localized_attribute", "update_localized_attribute_existing_only", "clean" ]
Exampleadd
total_variants_success
integer (int32)
Example1
total_variants_failed
integer (int32)
Example1
message
string
ExampleVariant add accepted for processing"
accepted_at
string (date-time)
variant_events_success
Array of object (VariantEventResult)
object
event_id
string

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.

Example550e8400-e29b-41d4-a716-446655440000
variant_id
string
ExampleV-1001
status
string
Valid values[ "accepted", "failed" ]
Exampleaccepted
accepted_attributes
object
Example{ "color": { "en-GB": "Navy Blue", "de-DE": "Marineblau", "fr-FR": "Bleu marine" }, "size": { "US": "S", "EU": "36" } }
property*
object additionalProperties
Example{ "color": { "en-GB": "Navy Blue", "de-DE": "Marineblau", "fr-FR": "Bleu marine" }, "size": { "US": "S", "EU": "36" } }
skipped_attributes
object (SkippedAttributesDTO)
non_existing_attributes
Array of string
Example[ "custom_attribute_abc" ]
string
Example["custom_attribute_abc"]
inactive_attributes
Array of string
Example[ "custom_attribute_def" ]
string
Example["custom_attribute_def"]
invalid_data_type_attributes
object
Example{ "price": "price map value must be a number", "gtin": "gtin field must be 8-14 digits", "min_age": "min_age value must be a number" }
property*
string additionalProperties
Example{"price":"price map value must be a number","gtin":"gtin field must be 8-14 digits","min_age":"min_age value must be a number"}
failure_reason
string

Filled in only when variant could not be processed.

Exampleprice mandatory field cannot be deleted
variant_events_failed
Array of object (VariantEventResult)
object
event_id
string

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.

Example550e8400-e29b-41d4-a716-446655440000
variant_id
string
ExampleV-1001
status
string
Valid values[ "accepted", "failed" ]
Exampleaccepted
accepted_attributes
object
Example{ "color": { "en-GB": "Navy Blue", "de-DE": "Marineblau", "fr-FR": "Bleu marine" }, "size": { "US": "S", "EU": "36" } }
property*
object additionalProperties
Example{ "color": { "en-GB": "Navy Blue", "de-DE": "Marineblau", "fr-FR": "Bleu marine" }, "size": { "US": "S", "EU": "36" } }
skipped_attributes
object (SkippedAttributesDTO)
non_existing_attributes
Array of string
Example[ "custom_attribute_abc" ]
string
Example["custom_attribute_abc"]
inactive_attributes
Array of string
Example[ "custom_attribute_def" ]
string
Example["custom_attribute_def"]
invalid_data_type_attributes
object
Example{ "price": "price map value must be a number", "gtin": "gtin field must be 8-14 digits", "min_age": "min_age value must be a number" }
property*
string additionalProperties
Example{"price":"price map value must be a number","gtin":"gtin field must be 8-14 digits","min_age":"min_age value must be a number"}
failure_reason
string

Filled in only when variant could not be processed.

Exampleprice mandatory field cannot be deleted
422

Bulk delete 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": []
}
Expand All
object
operation_id
string
Example350e8400-dgwe-41d4-a716-546655440000
status
string
Valid values[ "accepted", "failed" ]
Exampleaccepted
catalog_id
integer (int64)
Example123
operation
string
Valid values[ "add", "upsert", "partial_update", "delete", "delete_attributes", "add_existing_only", "overwrite", "overwrite_existing_only", "update", "update_existing_only", "update_localized_attribute", "update_localized_attribute_existing_only", "clean" ]
Exampleadd
total_variants_success
integer (int32)
Example1
total_variants_failed
integer (int32)
Example1
message
string
ExampleVariant add accepted for processing"
accepted_at
string (date-time)
variant_events_success
Array of object (VariantEventResult)
object
event_id
string

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.

Example550e8400-e29b-41d4-a716-446655440000
variant_id
string
ExampleV-1001
status
string
Valid values[ "accepted", "failed" ]
Exampleaccepted
accepted_attributes
object
Example{ "color": { "en-GB": "Navy Blue", "de-DE": "Marineblau", "fr-FR": "Bleu marine" }, "size": { "US": "S", "EU": "36" } }
property*
object additionalProperties
Example{ "color": { "en-GB": "Navy Blue", "de-DE": "Marineblau", "fr-FR": "Bleu marine" }, "size": { "US": "S", "EU": "36" } }
skipped_attributes
object (SkippedAttributesDTO)
non_existing_attributes
Array of string
Example[ "custom_attribute_abc" ]
string
Example["custom_attribute_abc"]
inactive_attributes
Array of string
Example[ "custom_attribute_def" ]
string
Example["custom_attribute_def"]
invalid_data_type_attributes
object
Example{ "price": "price map value must be a number", "gtin": "gtin field must be 8-14 digits", "min_age": "min_age value must be a number" }
property*
string additionalProperties
Example{"price":"price map value must be a number","gtin":"gtin field must be 8-14 digits","min_age":"min_age value must be a number"}
failure_reason
string

Filled in only when variant could not be processed.

Exampleprice mandatory field cannot be deleted
variant_events_failed
Array of object (VariantEventResult)
object
event_id
string

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.

Example550e8400-e29b-41d4-a716-446655440000
variant_id
string
ExampleV-1001
status
string
Valid values[ "accepted", "failed" ]
Exampleaccepted
accepted_attributes
object
Example{ "color": { "en-GB": "Navy Blue", "de-DE": "Marineblau", "fr-FR": "Bleu marine" }, "size": { "US": "S", "EU": "36" } }
property*
object additionalProperties
Example{ "color": { "en-GB": "Navy Blue", "de-DE": "Marineblau", "fr-FR": "Bleu marine" }, "size": { "US": "S", "EU": "36" } }
skipped_attributes
object (SkippedAttributesDTO)
non_existing_attributes
Array of string
Example[ "custom_attribute_abc" ]
string
Example["custom_attribute_abc"]
inactive_attributes
Array of string
Example[ "custom_attribute_def" ]
string
Example["custom_attribute_def"]
invalid_data_type_attributes
object
Example{ "price": "price map value must be a number", "gtin": "gtin field must be 8-14 digits", "min_age": "min_age value must be a number" }
property*
string additionalProperties
Example{"price":"price map value must be a number","gtin":"gtin field must be 8-14 digits","min_age":"min_age value must be a number"}
failure_reason
string

Filled in only when variant could not be processed.

Exampleprice mandatory field cannot be deleted
500

Unexpected error while processing bulk delete.

{
  "message": "Unexpected error while processing request",
  "httpStatus": 500,
  "errorCode": "500 Internal Server Error",
  "timestamp": "2026-07-08T12:00:00Z"
}
object
message
string
httpStatus
integer (int32)
errorCode
string
timestamp
string (date-time)