Skip to main content

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โ€‹

ParameterTypeDescription
idintegerBundle 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โ€‹

StatusCodeDescription
401authentication_requiredNo API key provided
403insufficient_scopeAPI key lacks bundles:write scope
403forbiddenBundle belongs to a different supplier
404resource_not_foundBundle does not exist
422duplicate_failedThe clone could not be saved