Skip to content
Pre-release. HostCraft is in testing and not yet for sale. These docs describe the current build and may change. Join the waitlist to hear when it launches.

Restore API

Source: daemon/proto/hostcraft/v1/restore.proto

RestoreService migrates cPanel full backups (cpmove archives) into HostCraft accounts: upload, probe, run, follow. REST: /api/v1/restore.

Method REST route Permission Streaming
UploadSource native RestoreUpload client
GetSource GET /api/v1/restore/sources/{id} RestoreRead unary
ProbeSource POST /api/v1/restore/sources/{id}/probe RestoreProbe unary
RunRestore POST /api/v1/restore/sources/{id}/run RestoreRun unary
ListRestoreJobs GET /api/v1/restore/jobs RestoreRead unary
GetRestoreJob GET /api/v1/restore/jobs/{id} RestoreRead unary
CancelRestoreJob POST /api/v1/restore/jobs/{id}/cancel RestoreCancel unary

UploadSource streams a cpmove archive (up to 8 GiB). The first message carries the file name and optional expected SHA-256; every message may carry a chunk. Equivalent to the multipart POST /api/v1/restore/upload.

/hostcraft.v1.RestoreService/UploadSource

/hostcraft.v1.RestoreService/GetSource

/hostcraft.v1.RestoreService/ProbeSource

/hostcraft.v1.RestoreService/RunRestore

/hostcraft.v1.RestoreService/ListRestoreJobs

/hostcraft.v1.RestoreService/GetRestoreJob

/hostcraft.v1.RestoreService/CancelRestoreJob

Field Type Number Description
id string 1 -
Field Type Number Description
workflow_id string 1 -
Field Type Number Description
id string 1 -
Field Type Number Description
id string 1 -
Field Type Number Description
status string 1 -
account_id string 2 -
limit int64 3 -
offset int64 4 -
Field Type Number Description
jobs repeated RestoreJob 1 -
Field Type Number Description
id string 1 -
Field Type Number Description
kind string 1 -
source_path string 2 -
message string 3 -
severity string 4 -
recorded_at google.protobuf.Timestamp 5 -
Field Type Number Description
id string 1 -
source RestoreSource 2 -
status string 3 uploaded | probing | ready | running | validating | completed | failed | compensated
workflow_id string 4 -
started_at google.protobuf.Timestamp 5 -
finished_at google.protobuf.Timestamp 6 -
summary string 7 -
error string 8 -
account_id string 9 -
items repeated RestoreItem 10 -
Field Type Number Description
disk_quota_bytes int64 1 -
bandwidth_quota_bytes int64 2 -
max_sites int64 3 -
max_mailboxes int64 4 -
max_databases int64 5 -
max_subdomains int64 6 -
max_addon_domains int64 7 -
max_subusers int64 8 -
max_cron_jobs int64 9 -
max_ftp_users int64 10 -
Field Type Number Description
source RestoreSource 1 -
account_username string 2 -
domain_count int64 3 -
mailbox_count int64 4 -
db_count int64 5 -
total_size_bytes int64 6 -
php_versions repeated string 7 -
supported_until_phase string 8 -
blockers repeated string 9 -
source_plan string 10 -
source_limits RestoreLimits 11 -
matched_plan_id string 12 -
source_owner string 13 the cPanel reseller that owned the account
matched_reseller_id string 14 -
Field Type Number Description
id string 1 -
kind int64 2 1 = cPanel
file_path string 3 -
file_size_bytes int64 4 -
sha256 string 5 -
uploaded_at google.protobuf.Timestamp 6 -
original_username string 7 -
Field Type Number Description
id string 1 source id
target_plan_id string 2 -
target_reseller_id string 3 -
limit_overrides RestoreLimits 4 -
include_mail bool 5 -
include_dbs bool 6 -
include_dns bool 7 -
include_ssl bool 8 -
include_cron bool 9 -
include_ftp bool 10 -
php_version_overrides map<string, string> 11 -
domain_remap map<string, string> 12 -
ssl_via_letsencrypt bool 13 -
force_data_loss bool 14 -
Field Type Number Description
job_id string 1 -
workflow_id string 2 -
Field Type Number Description
filename string 1 first message only
expected_sha256 string 2 first message only, optional
chunk bytes 3 -