Skip to content
Hoody.com

Use these endpoints to duplicate an existing container into a different project or server, and to pull subsequent updates from the source container into an existing copy. The copy operation creates a brand-new container that starts automatically when ready, while sync performs an incremental update on a container that was previously created via copy.

Creates a copy of an existing container. The copy operation runs asynchronously and the new container starts automatically upon successful completion. The copy target is always a fresh container on the destination server — KVM passthrough is never inherited from the source. You can independently decide whether to copy the source’s firewall and network rules.

NameInTypeRequiredDescription
idpathstringYesUnique identifier of the source container to copy
FieldTypeRequiredDefaultDescription
target_project_idstringYesID of the project where the copy will be created
target_server_idstringNoID of the server where the copy will be created (defaults to source server)
namestringNoName for the copied container (auto-generated if not provided)
ssh_public_keystringNoSSH public key for the copied container (must be unique, not inherited from source)
source_snapshotstringNoSpecific snapshot to copy from (copies latest state if not provided)
copy_firewall_rulesbooleanNofalseWhether to copy firewall rules (ACL) from source container to target container
copy_network_rulesbooleanNofalseWhether to copy network rules/settings from source container to target container
kvmbooleanNoGrant the copy /dev/kvm passthrough (run full VMs). Available on rented or dedicated (bare-metal) targets only; rejected (403) otherwise
dev_kvmbooleanNoAccepted alias of kvm on input; kvm wins if both are sent and they must agree
Terminal window
curl -X POST "https://api.hoody.com/api/v1/containers/507f1f77bcf86cd799439011/copy" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"target_project_id": "507f1f77bcf86cd799439022",
"name": "staging-clone",
"copy_firewall_rules": false,
"copy_network_rules": false
}'

Performs an incremental sync from the source container to this container. Only works for containers that were created via the copy operation. The sync runs asynchronously.

NameInTypeRequiredDescription
idpathstringYesUnique identifier of the container to sync (must have been created via copy)

This endpoint takes no request body.

Terminal window
curl -X POST "https://api.hoody.com/api/v1/containers/507f1f77bcf86cd799439099/sync" \
-H "Authorization: Bearer <token>"