Approve a dual-control restore as a DISTINCT administrator account (403 when the requester self-approves)
const url = 'https://example.com/v1/console/dr/restore/example/approve';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"passphrase":"example","request_id":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/v1/console/dr/restore/example/approve \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "passphrase": "example", "request_id": "example" }'Approves a pending dual-control restore with the approver’s passphrase. A second credential of the requester cannot self-approve: the comparison is between stable administrator accounts.
Authorizations
Section titled “ Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “ Path Parameters ”The id returned by the upload.
Request Body required
Section titled “ Request Body required ”object
Example generated
{ "passphrase": "example", "request_id": "example"}Responses
Section titled “ Responses ”Accepted
The apply outcome: a job id (single-actor path) OR an awaiting-approval request id (dual-control path).
object
True when the dual-control gate armed and the restore records an intent instead of running.
The pending request a distinct administrator approves.
Example generated
{ "awaiting_approval": true, "initiator": "example", "job_id": "example", "request_id": "example"}Bad request
object
object
With code module_not_enabled: the namespace of the module this node does not run.
Example generated
{ "error": { "code": "example", "message": "example", "module": "example" }}Unauthenticated
object
object
With code module_not_enabled: the namespace of the module this node does not run.
Example generated
{ "error": { "code": "example", "message": "example", "module": "example" }}Forbidden
object
object
With code module_not_enabled: the namespace of the module this node does not run.
Example generated
{ "error": { "code": "example", "message": "example", "module": "example" }}Not found
object
object
With code module_not_enabled: the namespace of the module this node does not run.
Example generated
{ "error": { "code": "example", "message": "example", "module": "example" }}Conflict / setup required
object
object
With code module_not_enabled: the namespace of the module this node does not run.
Example generated
{ "error": { "code": "example", "message": "example", "module": "example" }}Rate limited
object
object
With code module_not_enabled: the namespace of the module this node does not run.
Example generated
{ "error": { "code": "example", "message": "example", "module": "example" }}