Bulk soft delete products
Soft deletes multiple products by setting their status to 'deleted'. Accepts up to 50 product IDs and returns lists of successful and failed soft deletions with detailed error reasons.
/api/v1/{team_slug}/{app_slug}/products/bulk/soft-delete- API
- Management
- OpenAPI
- management-api
- Updated
- Apr 26, 2026
management-api:PATCH:/api/v1/{team_slug}/{app_slug}/products/bulk/soft-delete
Soft deletes multiple products by setting their status to 'deleted'. Accepts up to 50 product IDs and returns lists of successful and failed soft deletions with detailed error reasons.
API ownership
- API family: Management API
- Best for: Trusted back-office workflows that create, update, organize, or delete merchant-owned data.
- Do not use from: Browser-only storefront code or public clients.
- Guide route: /apis/management/latest
The OpenAPI contract defines the method, path, parameters, request body, and responses for this operation.
Operation
- Method:
PATCH - Path:
/api/v1/\{team_slug\}/\{app_slug\}/products/bulk/soft-delete - Summary: Bulk soft delete products
- Description: Soft deletes multiple products by setting their status to 'deleted'. Accepts up to 50 product IDs and returns lists of successful and failed soft deletions with detailed error reasons.
- OpenAPI contract: management-api
- Operation ID: Not documented in the OpenAPI contract.
Operation key uses API family, method, and path because this OpenAPI contract does not publish an operation ID.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| app_slug | path | Yes | string | App slug |
| team_slug | path | Yes | string | Team slug |
Request body
- Required: Yes
- Description: Product IDs to soft delete
- Content: application/json (object)
Bulk Delete Products Payload
| Property | Type | Required | Details |
|---|---|---|---|
product_ids | string[] | Yes | minItems: 1, maxItems: 50 |
Generated example (synthetic):
{
"product_ids": [
"string"
]
}Responses
| Status | Description | Content |
|---|---|---|
| 200 | Products soft deleted successfully | application/json (object) |
| 400 | Invalid request (e.g. bad UUID, validation error) | application/json (object) |
| 401 | Unauthorized access | application/json (object) |
| 500 | Internal server error | application/json (object) |
200 - object
Bulk Delete Products Response
| Property | Type | Required | Details |
|---|---|---|---|
data | object | No | - |
details | string[] | No | Additional contextual information about the response. Used to provide supplementary details beyond the main data payload, such as validation warnings or processing notes |
success | boolean | No | - |
Bulk Delete Products
| Property | Type | Required | Details |
|---|---|---|---|
failed | object[] | No | - |
successful | string[] | No | - |
Bulk Delete Failed
| Property | Type | Required | Details |
|---|---|---|---|
id | string | No | - |
reason | string | No | - |
Generated example (synthetic):
{
"data": {
"failed": [
{
"id": "string",
"reason": "string"
}
],
"successful": [
"string"
]
},
"details": [
"string"
],
"success": false
}400 - object
Error Message
| Property | Type | Required | Details |
|---|---|---|---|
details | string[] | No | - |
message | string | No | - |
success | boolean | No | - |
Generated example (synthetic):
{
"details": [
"string"
],
"message": "string",
"success": false
}401 - object
Error Message
| Property | Type | Required | Details |
|---|---|---|---|
details | string[] | No | - |
message | string | No | - |
success | boolean | No | - |
Generated example (synthetic):
{
"details": [
"string"
],
"message": "string",
"success": false
}500 - object
Error Message
| Property | Type | Required | Details |
|---|---|---|---|
details | string[] | No | - |
message | string | No | - |
success | boolean | No | - |
Generated example (synthetic):
{
"details": [
"string"
],
"message": "string",
"success": false
}Contract identity
Use these fields to confirm you are implementing the intended endpoint contract.
- API family: Management API
- Method:
PATCH - Path:
/api/v1/\{team_slug\}/\{app_slug\}/products/bulk/soft-delete - Operation ID: Not documented in the OpenAPI contract.
- OpenAPI tag: Products, Bulk
- OpenAPI summary: Bulk soft delete products