Restore service from backup
request_restoreRestore a VPSnet service from a chosen backup point, overwriting the whole disk and charging the account balance after you confirm the exact price.
Instructions
PAID: restore a service from a backup point. Charges the restore price (+VAT) from the ACCOUNT BALANCE immediately and overwrites the WHOLE service disk with the backup content — everything written since that point is lost. DESTRUCTIVE and billed. This is a confirmation call, not a request for a price: read get_restore_status first, show the user the exact backup point and that status's exact total_charged, tell them the disk is replaced, and obtain explicit approval for BOTH the charge and the replacement. Only then set acknowledge_data_replacement and acknowledge_restore_charge, and pass the very figure you disclosed as expected_total_charged. The tool runs the backend's quote → confirm flow itself under one Idempotency-Key (generated per call unless idempotencyKey is given), so a single call is a single paid attempt. If the price has moved since you disclosed it, nothing is charged: the restore is refused as restoreQuoteChanged, and you must show the user the new total and get their approval again. Requires services:read, a full-access API key with paid operations enabled, the services:restore paid scope, and configured spend caps.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| orderNo | Yes | Tenant-owned service order number: 1-64 ASCII letters, digits or hyphens, e.g. VP12345 or VP12345-1 | |
| idempotencyKey | No | Optional stable key to retry or replay ONE exact earlier restore attempt without paying twice. Omit it for a new restore — a fresh key is generated for the call. | |
| backup_point_id | Yes | Restore point ID from list_restore_points | |
| expected_total_charged | Yes | The exact VAT-inclusive total_charged you read from get_restore_status and disclosed to the user, passed back unchanged. Never re-read it just before this call: it is the customer's agreed price, and sending a freshly fetched number would defeat the fence that refuses a moved price instead of quietly charging it. | |
| acknowledge_restore_charge | Yes | True only after the user explicitly approves the exact total_charged returned by get_restore_status being taken from the account balance | |
| acknowledge_data_replacement | Yes | True only after the user explicitly confirms that the whole service disk is overwritten with this backup point and that everything written since it is lost |