Duplicate Bundle
Clone a bundle with its full composition โ every item, quantity, choice group, discount, and duration rule โ into a new bundle. The clone is named "<original name> (Copy)" and starts disabled so it can be renamed and adjusted before going on sale.
Endpointโ
POST /v1/bundles/{id}/duplicate
Authenticationโ
Requires a live or test API key with bundles:write scope.
Path Parametersโ
| Parameter | Type | Description |
|---|---|---|
id | integer | Bundle ID to duplicate |
Request Bodyโ
No request body.
Example Requestโ
curl -X POST "https://app.equipdash.com/api/v1/bundles/1/duplicate" \
-H "Authorization: Bearer YOUR_API_KEY"
Responseโ
Success (201 Created)โ
Returns the newly created bundle in the same shape as Get Bundle, with is_bookable: false (disabled).
{
"data": {
"id": 42,
"name": "Beach Day Package (Copy)",
"description": "Everything you need for a perfect day at the beach including umbrella, chairs, and cooler.",
"pricing": { "type": "calculated", "flat_price": null, "interval_unit": null },
"has_experience_items": false,
"items": [ /* full copy of the original bundle's items */ ],
"total_items": 4,
"is_bookable": false,
"created_at": "2026-07-21T12:00:00Z",
"updated_at": "2026-07-21T12:00:00Z"
},
"meta": {
"request_id": "req_abc123"
}
}
Errorsโ
| Status | Code | Description |
|---|---|---|
| 401 | authentication_required | No API key provided |
| 403 | insufficient_scope | API key lacks bundles:write scope |
| 403 | forbidden | Bundle belongs to a different supplier |
| 404 | resource_not_found | Bundle does not exist |
| 422 | duplicate_failed | The clone could not be saved |