- About Veeam Recovery Orchestrator REST API
- Overview
- Changelog
- Token
- Mfa
- Clients
- Plans
- getGet Collection of Plans
- getGet Plan Data
- getGet VMs Added to Inventory Group in Plan
- getGet All Groups in Plan
- getGet Parameters Configured for Step in Plan
- getGet Steps Added for VM in Plan
- getGet Steps Added to Virtual Group in Plan
- postEnable Plan
- postDisable Plan
- postHalt Plan
- postRun Permanent Failover
- postFail Back to Source VMs
- postPrepare for Failback
- postSwitchover to Production
- postCommit Failback
- postUndo Plan
- postReset Plan State
- postClear Change Log History for Plan
- postRun Failover
- postRun Restore Plan
- postContinue Plan Execution
- postRun Readiness Check
- delDelete Plan Schedule
- putSchedule Plan to Run at Specific Time
- putSchedule Plan to Run After Another Plan
- postClone Plan
- RecoveryLocations
- RuntimeDetails
- Scopes
- LicenseUsage
The /Plans
resource collection represents all created Orchestrator plans. The collection includes resources which represent the following Orchestrator entities: plans, groups, VMs, steps included in a plan, and step parameters. Each Orchestrator entity has a specific system ID.
Get Collection of Plans
The HTTP GET request to the /Plans
endpoint retrieves a list of all created Orchestrator plans.
query Parameters
start | integer <int32> Excludes the first N items of a resource collection from the response. |
limit | integer <int32> Specifies the maximum number of items of a resource collection to return in a response. |
Array of objects (Expression) Returns only specific items of a resource collection in the response. To learn how to use the | |
Array of objects (SortQuery) Specifies the order of items of a resource collection in the response. To learn how to use the | |
onlyEnabled | boolean Default: false Defines whether to return a list of ENABLED plans. |
OK
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- curl
- Python
- JavaScript
- C#
- Go
- 200
{- "total": 1,
- "data": [
- {
- "scheduleInfo": {
- "virusScan": true,
- "yaraScan": true,
- "yaraRuleId": "333b2623-b1e1-4c30-9ab4-71d741bee1e6",
- "id": "b16cb30f-082d-479c-960f-30c15091f747",
- "enabled": true,
- "timeSchedule": {
- "scheduleMode": "OneTime",
- "startTime": "2020-02-01T05:00:00Z",
- "time": null,
- "exactTime": "2020-02-01T05:00:00Z",
- "daysOfWeek": null,
- "monthDayType": null,
- "dayOfMonth": null
}, - "runAfterItemId": null,
- "runAfterItemName": "",
- "scanInfectedFlag": true,
- "scanSuspiciousFlag": true,
- "restorePointsCountForRansomwareScan": 10,
- "ransomwareAction": "CancelRestore"
}, - "scheduledTestsInfo": [
- {
- "scheduleInfo": {
- "virusScan": false,
- "yaraScan": false,
- "yaraRuleId": null,
- "id": "cb6e88da-0aef-4d76-9cb1-0aef5de37668",
- "enabled": true,
- "timeSchedule": {
- "scheduleMode": "Weekly",
- "startTime": "2020-01-10T22:00:00Z",
- "time": {
- "hours": 22,
- "minutes": 0
}, - "exactTime": null,
- "daysOfWeek": "All",
- "monthDayType": null,
- "dayOfMonth": null
}, - "runAfterItemId": null,
- "runAfterItemName": "",
- "scanInfectedFlag": true,
- "scanSuspiciousFlag": true,
- "restorePointsCountForRansomwareScan": 1,
- "ransomwareAction": "CancelRestore"
}, - "virtualLabId": "01514858-2196-4393-b086-ec214ec51be1",
- "virtualLabName": "lab1",
- "backupServerName": "vbr1",
- "virtualLabWaitTimeMinutes": 0,
- "keepPlanRunning": true,
- "keepLabRunning": true,
- "recoveryTimeObjective": 60,
- "stopWhenRTOExceeded": true,
- "useInstantRecovery": false,
- "scheduleName": "test",
- "scheduleDescription": null,
- "id": "0cdc6ef5-9bff-45d6-9619-92ce0d5512e2",
- "planId": "9d65db55-f3b1-4b46-a564-109d48d16ecd",
- "planName": "Round CDP",
- "type": "ScheduleTest"
}
], - "isOriginalRecoveryLocation": null,
- "id": "d8cf22e7-a982-485a-a3e1-a2515011f7a9",
- "planType": "CdpReplica",
- "recoveryLocationId": null,
- "recoveryLocationName": null,
- "recoveryLocationDescription": null,
- "recoveryLocationType": "Unknown",
- "siteScopeId": "83e8c2a8-e72d-4564-b5fc-b31a7671a44f",
- "siteScopeName": "Admin Scope",
- "name": "Round CDP",
- "state": "FailoverComplete",
- "stateName": "Failover",
- "stateOrder": "300. Failover",
- "planMode": "Enabled",
- "planVerificationState": "NeedsVerified",
- "resultName": "Complete, 5 errors, 13 warnings",
- "lastStableState": "FailbackComplete",
- "lastStableStateName": "Failover",
- "previousExecutionState": "DryRun",
- "reportTemplateId": "c689c4f1-3587-4eea-b247-0d877b90e5ea",
- "description": "",
- "reportDocumentFormat": "Pdf",
- "serverName": "lab1.test.local",
- "siteName": "lab1.test.local",
- "nearestFailoverScheduleTime": "2020-01-27T02:53:00Z",
- "nearestTestScheduleTime": "2020-01-24T01:55:00Z",
- "haltedReason": "Undefined",
- "isEditingByCurrentUser": false,
- "currentEditingUser": "",
- "progress": 100,
- "lastTestResult": "MalwareIssue",
- "lastTestTime": "2020-01-08T07:28:00Z",
- "lastCheckResult": "Success",
- "lastCheckTime": "2020-01-05T12:30:00Z",
- "lastTestResultName": "Halted",
- "lastTestResultOrderNumber": 5,
- "lastCheckResultName": "Warning",
- "lastCheckResultOrderNumber": 3,
- "virtualLabId": null,
- "contactName": "Wendy May",
- "contactEmail": "wendy.may@company.com",
- "contactTel": "3232556666",
- "isRunningState": false,
- "isStableState": true,
- "currentRunResult": "Error",
- "currentTestResult": "Undefined",
- "currentCheckResult": "Undefined",
- "definitionReportEnabled": true,
- "definitionReportStartTime": "2020-01-01T00:00:00Z",
- "readinessCheckEnabled": true,
- "readinessCheckStartTime": "2020-01-01T07:00:00Z",
- "targetRecoveryTimeObjective": 3600,
- "currentRecoveryTimeObjective": 0,
- "targetRecoveryPointObjective": 15,
- "currentRecoveryPointObjective": 0,
- "roles": [
- "DRSiteAdmin",
- "DRPlanAuthor",
- "DRPlanOperator"
], - "vendor": "Unknown",
- "isUndoPossible": false,
- "isReversePossible": false,
- "containsAgentGroups": false,
- "storageRecoveryLocations": null,
- "groupsType": "VmGroup"
}
]
}
Get Plan Data
The HTTP GET request to the /Plans/{planId}
endpoint retrieves a representation of a plan with the specified ID.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
OK
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- curl
- Python
- JavaScript
- C#
- Go
- 200
{- "scheduleInfo": {
- "virusScan": true,
- "yaraScan": true,
- "yaraRuleId": "333b2623-b1e1-4c30-9ab4-71d741bee1e6",
- "id": "b16cb30f-082d-479c-960f-30c15091f747",
- "enabled": true,
- "timeSchedule": {
- "scheduleMode": "OneTime",
- "startTime": "2020-02-01T05:00:00Z",
- "time": null,
- "exactTime": "2020-02-01T05:00:00Z",
- "daysOfWeek": null,
- "monthDayType": null,
- "dayOfMonth": null
}, - "runAfterItemId": null,
- "runAfterItemName": "",
- "scanInfectedFlag": true,
- "scanSuspiciousFlag": true,
- "restorePointsCountForRansomwareScan": 10,
- "ransomwareAction": "CancelRestore"
}, - "scheduledTestsInfo": [
- {
- "scheduleInfo": {
- "virusScan": false,
- "yaraScan": false,
- "yaraRuleId": null,
- "id": "cb6e88da-0aef-4d76-9cb1-0aef5de37668",
- "enabled": true,
- "timeSchedule": {
- "scheduleMode": "Weekly",
- "startTime": "2020-01-10T22:00:00Z",
- "time": {
- "hours": 22,
- "minutes": 0
}, - "exactTime": null,
- "daysOfWeek": "All",
- "monthDayType": null,
- "dayOfMonth": null
}, - "runAfterItemId": null,
- "runAfterItemName": "",
- "scanInfectedFlag": true,
- "scanSuspiciousFlag": true,
- "restorePointsCountForRansomwareScan": 1,
- "ransomwareAction": "CancelRestore"
}, - "virtualLabId": "01514858-2196-4393-b086-ec214ec51be1",
- "virtualLabName": "lab1",
- "backupServerName": "vbr1",
- "virtualLabWaitTimeMinutes": 0,
- "keepPlanRunning": true,
- "keepLabRunning": true,
- "recoveryTimeObjective": 60,
- "stopWhenRTOExceeded": true,
- "useInstantRecovery": false,
- "scheduleName": "test",
- "scheduleDescription": null,
- "id": "0cdc6ef5-9bff-45d6-9619-92ce0d5512e2",
- "planId": "9d65db55-f3b1-4b46-a564-109d48d16ecd",
- "planName": "Round CDP",
- "type": "ScheduleTest"
}
], - "isOriginalRecoveryLocation": null,
- "id": "d8cf22e7-a982-485a-a3e1-a2515011f7a9",
- "planType": "CdpReplica",
- "recoveryLocationId": null,
- "recoveryLocationName": null,
- "recoveryLocationDescription": null,
- "recoveryLocationType": "Unknown",
- "siteScopeId": "83e8c2a8-e72d-4564-b5fc-b31a7671a44f",
- "siteScopeName": "Admin Scope",
- "name": "Round CDP",
- "state": "FailoverComplete",
- "stateName": "Failover",
- "stateOrder": "300. Failover",
- "planMode": "Enabled",
- "planVerificationState": "NeedsVerified",
- "resultName": "Complete, 5 errors, 13 warnings",
- "lastStableState": "FailbackComplete",
- "lastStableStateName": "Failover",
- "previousExecutionState": "DryRun",
- "reportTemplateId": "c689c4f1-3587-4eea-b247-0d877b90e5ea",
- "description": "",
- "reportDocumentFormat": "Pdf",
- "serverName": "lab1.test.local",
- "siteName": "lab1.test.local",
- "nearestFailoverScheduleTime": "2020-01-27T02:53:00Z",
- "nearestTestScheduleTime": "2020-01-24T01:55:00Z",
- "haltedReason": "Undefined",
- "isEditingByCurrentUser": false,
- "currentEditingUser": "",
- "progress": 100,
- "lastTestResult": "MalwareIssue",
- "lastTestTime": "2020-01-08T07:28:00Z",
- "lastCheckResult": "Success",
- "lastCheckTime": "2020-01-05T12:30:00Z",
- "lastTestResultName": "Halted",
- "lastTestResultOrderNumber": 5,
- "lastCheckResultName": "Warning",
- "lastCheckResultOrderNumber": 3,
- "virtualLabId": null,
- "contactName": "Wendy May",
- "contactEmail": "wendy.may@company.com",
- "contactTel": "3232556666",
- "isRunningState": false,
- "isStableState": true,
- "currentRunResult": "Error",
- "currentTestResult": "Undefined",
- "currentCheckResult": "Undefined",
- "definitionReportEnabled": true,
- "definitionReportStartTime": "2020-01-01T00:00:00Z",
- "readinessCheckEnabled": true,
- "readinessCheckStartTime": "2020-01-01T07:00:00Z",
- "targetRecoveryTimeObjective": 3600,
- "currentRecoveryTimeObjective": 0,
- "targetRecoveryPointObjective": 15,
- "currentRecoveryPointObjective": 0,
- "roles": [
- "DRSiteAdmin",
- "DRPlanAuthor",
- "DRPlanOperator"
], - "vendor": "Unknown",
- "isUndoPossible": false,
- "isReversePossible": false,
- "containsAgentGroups": false,
- "storageRecoveryLocations": null,
- "groupsType": "VmGroup"
}
Get VMs Added to Inventory Group in Plan
The HTTP GET request to the /Plans/{planId}/Groups/{groupId}/Vms
endpoint retrieves a list of all VMs added to an inventory group with the specified ID included in a specific plan.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
groupId required | string <uuid> System ID assigned to an inventory group. |
query Parameters
start | integer <int32> Excludes the first N items of a resource collection from the response. |
limit | integer <int32> Specifies the maximum number of items of a resource collection to return in a response. |
Array of objects (Expression) Returns only specific items of a resource collection in the response. To learn how to use the | |
Array of objects (SortQuery) Specifies the order of items of a resource collection in the response. To learn how to use the | |
includeEditingChanges | boolean Default: false Defines whether to include changes of the current editing session. |
OK
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- curl
- Python
- JavaScript
- C#
- Go
- 200
{- "total": 1,
- "data": [
- {
- "planId": "3185511c-52a1-4042-99a8-b14e765fee5c",
- "id": "a8440faa-95df-407f-9f1c-5c661b169f17",
- "name": "vm1",
- "number": 1,
- "isCritical": false,
- "voId": 1,
- "sourceMissing": false
}
]
}
Get All Groups in Plan
The HTTP GET request to the /Plans/{planId}/Groups
endpoint retrieves a list of all groups included in a plan with the specified ID.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
query Parameters
start | integer <int32> Excludes the first N items of a resource collection from the response. |
limit | integer <int32> Specifies the maximum number of items of a resource collection to return in a response. |
Array of objects (Expression) Returns only specific items of a resource collection in the response. To learn how to use the | |
Array of objects (SortQuery) Specifies the order of items of a resource collection in the response. To learn how to use the | |
includeEditingChanges | boolean Default: false Defines whether to include changes of the current editing session. |
OK
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- curl
- Python
- JavaScript
- C#
- Go
- 200
{- "total": 1,
- "data": [
- {
- "id": "05f8391d-d2af-42f0-a326-4f1d2aa1300b",
- "name": "group1",
- "order": 1,
- "vmGroupId": "6154bfd3-86ee-472e-8a88-7461462c9e68",
- "isDefault": false,
- "isParallel": false,
- "type": "VmGroup",
- "virtualType": "Normal",
- "groupCategory": "Custom",
- "isProtected": false,
- "protectVBRJobId": "84c118fd-2258-434f-8b13-b7b2d508b246",
- "protectVBRJobName": "job1",
- "protectVBRJobServerId": "dc159727-788f-4ac5-bec2-3634cf33acb1",
- "parallelProcessingVmsCount": 1,
- "vmCount": 2,
- "stepCount": 2,
- "vmsCriticality": "AllNotCritical",
- "executionType": "Replica",
- "restoreVmTags": false,
- "sourceMissing": false,
- "defaultCredentialId": "91600107-5bc1-4f8e-ac0a-15bbf640ce7c",
- "vcenter": "vc1",
- "datacenter": "dc1"
}
]
}
Get Parameters Configured for Step in Plan
The HTTP GET request to the /Plans/{planId}/Steps/{stepId}/Parameters
endpoint retrieves a list of all parameters configured for a step with the specified ID included in a specific plan.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
stepId required | string <uuid> System ID assigned to a step. |
query Parameters
start | integer <int32> Excludes the first N items of a resource collection from the response. |
limit | integer <int32> Specifies the maximum number of items of a resource collection to return in a response. |
Array of objects (Expression) Returns only specific items of a resource collection in the response. To learn how to use the | |
Array of objects (SortQuery) Specifies the order of items of a resource collection in the response. To learn how to use the | |
includeEditingChanges | boolean Default: true Defines whether to include in the response changes of the current editing session. |
OK
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- curl
- Python
- JavaScript
- C#
- Go
- 200
{- "total": 1,
- "data": [
- {
- "id": "7f7fd9cd-4c1d-4ef6-885d-968eb4431edc",
- "order": 1,
- "isEditable": true,
- "isSystem": true,
- "isArgument": false,
- "isCommon": true,
- "displayName": "Timeout",
- "name": "Timeout",
- "value": "600",
- "stepId": "f870e586-7730-422f-9deb-7d03324882f0",
- "type": "Timeout",
- "planId": "7ae3605e-2b8f-4c9d-be73-a6d6c37d022b",
- "isMandatory": true,
- "description": "Timeout (in seconds) for the step"
}
]
}
Get Steps Added for VM in Plan
The HTTP GET request to the /Plans/{planId}/Vms/{vmId}/Steps
endpoint retrieves a list of all steps added for a VM with the specified ID included in a specific plan.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
vmId required | string <uuid> System ID assigned to a VM. |
query Parameters
includeEditingChanges | boolean Defines whether to include changes of the current editing session. |
start | integer <int32> Excludes the first N items of a resource collection from the response. |
limit | integer <int32> Specifies the maximum number of items of a resource collection to return in a response. |
Array of objects (Expression) Returns only specific items of a resource collection in the response. To learn how to use the | |
Array of objects (SortQuery) Specifies the order of items of a resource collection in the response. To learn how to use the |
OK
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- curl
- Python
- JavaScript
- C#
- Go
- 200
{- "total": 1,
- "data": [
- {
- "name": "Check Recovery Location 'Original VM Location'",
- "type": "Action",
- "state": "Finished",
- "id": "e26f0e20-14ae-441d-b440-c93af42fe689",
- "order": 1,
- "description": "",
- "requiredForSuccess": false,
- "stepDefinitionUid": "47fc7cb1-5ab9-439d-bcc4-57ccec528cfd",
- "enabledForCurrentUser": false,
- "prohibitedOperations": "All"
}
]
}
Get Steps Added to Virtual Group in Plan
The HTTP GET request to the /Plans/{planId}/Groups/{groupId}/Steps
endpoint retrieves a list of all steps added to a virtual group with the specified ID included in a specific plan.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
groupId required | string <uuid> System ID assigned to an inventory group. |
query Parameters
includeEditingChanges | boolean Defines whether to include changes of the current editing session. |
start | integer <int32> Excludes the first N items of a resource collection from the response. |
limit | integer <int32> Specifies the maximum number of items of a resource collection to return in a response. |
Array of objects (Expression) Returns only specific items of a resource collection in the response. To learn how to use the | |
Array of objects (SortQuery) Specifies the order of items of a resource collection in the response. To learn how to use the |
OK
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- curl
- Python
- JavaScript
- C#
- Go
- 200
{- "total": 1,
- "data": [
- {
- "name": "Check Recovery Location 'Original VM Location'",
- "type": "Action",
- "state": "Finished",
- "id": "e26f0e20-14ae-441d-b440-c93af42fe689",
- "order": 1,
- "description": "",
- "requiredForSuccess": false,
- "stepDefinitionUid": "47fc7cb1-5ab9-439d-bcc4-57ccec528cfd",
- "enabledForCurrentUser": false,
- "prohibitedOperations": "All"
}
]
}
Enable Plan
The HTTP POST request to the /Plans/{planId}/Enable
endpoint enables a plan with the specified ID.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
No Content
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- curl
- Python
- JavaScript
- C#
- Go
Disable Plan
The HTTP POST request to the /Plans/{planId}/Disable
endpoint disables a plan with the specified ID.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
No Content
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- curl
- Python
- JavaScript
- C#
- Go
Halt Plan
The HTTP POST request to the /Plans/{planId}/Halt
endpoint interrupts execution of a plan with the specified ID.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
Request Body schema:
fullStop | boolean Defines whether Orchestrator will run other plans scheduled in chain after the halted plan. |
No Content
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "fullStop": true
}
Run Permanent Failover
[Applies only to replica and CDP replica plans] The HTTP POST request to the /Plans/{planId}/PermanentFailover
endpoint starts the permanent failover process for a plan with the specified ID. VM replicas on the target host will cease to exist as replicas and take on the role of the original VMs.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
No Content
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- curl
- Python
- JavaScript
- C#
- Go
Fail Back to Source VMs
[Applies only to replica and CDP replica plans] the HTTP POST request to the /Plans/{planId}/FailbackToProduction
endpoint performes the replica failback process for a plan with the specified ID. Use the request if you want to switch from VM replicas back to original VMs automatically right after the state of the production VMs is synchronized with the state of their replicas.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
Request Body schema:
restoreLocationId required | string <uuid> System ID assigned to a recovery location used to perform the failback operation. |
failbackRestoreVMTags | boolean Defines whether tags of the original VMs will be assigned to the restored VMs. |
useQuickRollback | boolean Defines whether to use quick rollback when performing the failback operation. You can use quick rollback if you fail back from a VM replica to the original VM in the original location. |
No Content
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "restoreLocationId": "d299adcc-2cb5-4318-951a-1f2c616649e7",
- "failbackRestoreVMTags": false,
- "useQuickRollback": true
}
Prepare for Failback
[Applies only to replica and CDP replica plans] the HTTP POST request to the /Plans/{planId}/PrepareToFailback
endpoint prepares VM replicas for the replica failback process for a plan with the specified ID. Use the request if you want to switch from VM replicas back to original VMs manually.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
Request Body schema:
restoreLocationId required | string <uuid> System ID assigned to a recovery location used to perform the failback operation. |
failbackRestoreVMTags | boolean Defines whether tags of the original VMs will be assigned to the restored VMs. |
useQuickRollback | boolean Defines whether to use quick rollback when performing the failback operation. You can use quick rollback if you fail back from a VM replica to the original VM in the original location. |
No Content
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "restoreLocationId": "d299adcc-2cb5-4318-951a-1f2c616649e7",
- "failbackRestoreVMTags": false,
- "useQuickRollback": true
}
Switchover to Production
Applies only to replica and CDP replica plans] The HTTP POST request to the the /Plans/{planId}/SwitchoverToProduction
endpoint switches VM replicas to original VMs for a plan with the specified ID.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
No Content
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- curl
- Python
- JavaScript
- C#
- Go
Commit Failback
[Applies only to replica and CDP replica plans] The HTTP POST request to the /Plans/{planId}/CommitFailback
endpoint finalizes failback from VM replicas to original VMs for a plan with the specified ID.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
No Content
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- curl
- Python
- JavaScript
- C#
- Go
Undo Plan
[Applies only to replica, CDP replica and storage plans] The HTTP POST request to the /Plans/{planId}/Undo
endpoint performs an undo operation for a plan with the specified ID. You can perform an undo operation for replica and CDP replica plans in the FAILOVER, FAILBACK and HALTED states, and for storage plans in the HALTED state (but only for NetApp storage systems). For more information on states that a plan can acquire, see the Veeam Recovery Orchestrator User Guide, sections Running and Scheduling Replica Plans, Running and Scheduling CDP Replica Plans, Running and Scheduling Storage Plans.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
No Content
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- curl
- Python
- JavaScript
- C#
- Go
Reset Plan State
The HTTP POST request to the /Plans/{planId}/ResetState
endpoint resets the current state of a plan with the specified ID to DISABLED.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
Request Body schema:
executeReadinessCheck | boolean Defines whether to run a readiness check after resetting a plan. |
No Content
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "executeReadinessCheck": true
}
Clear Change Log History for Plan
The HTTP POST request to the /Plans/{planId}/ResetChangeLog
endpoint clears the change log history in the Plan Definition Report for a plan with the specified ID. For more information on the Plan Definition Report, see the Veeam Recovery Orchestrator User Guide, section Generating Plan Definition Report.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
Request Body schema:
generateDrReport | boolean Defines whether to generate the Plan Definition Report after the change log history is cleared. |
No Content
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "generateDrReport": true
}
Run Failover
[Applies only to replica, CDP replica and storage plans] The HTTP POST request to the /Plans/{planId}/Failover
endpoint runs failover for a plan with the specified ID.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
Request Body schema:
executeChainedPlans | boolean Defines whether Orchestrator will run other plans scheduled in chain after the currently processed plan. |
restorepointDate | string or null <date-time> Defines a restore point to be used to perform the operation. Null value used to specify the latest restore point. |
protectStorageVolumes | boolean Defines whether Orchestrator will protect target storage volumes after plan processing is complete. |
useLongTermRestorePoint | boolean Defines whether Orchestrator will recover VMs from long-term or short-term restore points. |
No Content
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "protectStorageVolumes": false,
- "useLongTermRestorePoint": true,
- "executeChainedPlans": true,
- "restorepointDate": null
}
Run Restore Plan
[Applies only to restore plans] The HTTP POST request to the /Plans/{planId}/Restore
endpoint runs a restore plan with the specified ID.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
Request Body schema:
restoreLocationId required | string <uuid> Defines a recovery location to be used to perform the operation. |
executeChainedPlans | boolean Defines whether Orchestrator will run other plans scheduled in chain after the currently processed plan. |
restorepointDate | string or null <date-time> Defines a restore point to be used to perform the operation. Null value used to specify the latest restore point. |
virusScan | boolean Defines whether to scan backup files for possible viruses. |
yaraScan | boolean Defines whether to scan backup files with YARA. |
yaraRuleId | string or null <uuid> System ID assigned to an original YARA rule file. |
restorePointsCountForRansomwareScan | integer <int32> [ 1 .. 30 ] Specifies the maximum number of restore points to be scanned for possible malware. |
ransomwareAction | string Specifies the action to take if malware is found. |
scanInfectedFlag | boolean Defines whether to check restore points for Infected malware flags. |
scanSuspiciousFlag | boolean Defines whether to check restore points for Suspicious malware flags. |
No Content
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "restoreLocationId": "7812f782-5f92-4c20-a115-cabce485bf16",
- "virusScan": true,
- "yaraScan": true,
- "yaraRuleId": "a60a9249-d44c-4b4d-8d60-65b91850c3d4",
- "restorePointsCountForRansomwareScan": 10,
- "ransomwareAction": "CancelRestore",
- "scanInfectedFlag": true,
- "scanSuspiciousFlag": true,
- "executeChainedPlans": true,
- "restorepointDate": "2020-01-14T22:22:00Z"
}
Continue Plan Execution
The HTTP POST request to the /Plans/{planId}/Continue
endpoint resumes the plan execution process for a HALTED plan with the specified ID.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
Request Body schema:
executionContinueOptions required | string Defines whether plan execution will proceed from the next plan step (ProceedToNextStep) or will retry the failed step (RetryFailedStep). |
No Content
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "executionContinueOptions": "ProceedToNextStep"
}
Run Readiness Check
The HTTP POST request to the /Plans/{planId}/ReadinessCheck
endpoint runs a readiness check for a plan with the specified ID.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
Request Body schema:
generateReport | boolean Defines whether to generate the Readiness Check Report after a readiness check run. |
No Content
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "generateReport": false
}
Delete Plan Schedule
The HTTP DELETE request to the /Plans/{planId}/Schedule
endpoint deletes the schedule for a plan with the specified ID and returns plan scheduling settings to the default values.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
No Content
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- curl
- Python
- JavaScript
- C#
- Go
Schedule Plan to Run at Specific Time
The HTTP PUT request to the /Plans/{planId}/Schedule/SaveTime
endpoint schedules execution of a plan with the specified ID to run at a specific time.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
Request Body schema:
startTime required | string <date-time> Date and time when a plan will run. |
enabled | boolean Defines whether a schedule is created for the plan. |
virusScan | boolean or null Defines whether to scan backup files for possible viruses. |
yaraScan | boolean or null Defines whether to scan backup files with YARA. |
yaraRuleId | string or null <uuid> System ID assigned to an original YARA rule file. |
restorePointsCountForRansomwareScan | integer or null <int32> Specifies the maximum number of restore points to be scanned for possible malware. |
ransomwareAction | string or null Specifies the action to take if malware is found. |
scanInfectedFlag | boolean Defines whether to check restore points for Infected malware flags. |
scanSuspiciousFlag | boolean Defines whether to check restore points for Suspicious malware flags. |
No Content
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "startTime": "2020-01-23T01:11:00Z",
- "enabled": false,
- "virusScan": true,
- "yaraScan": true,
- "yaraRuleId": "2144fb2d-b5c1-49fe-b5df-100a7354688b",
- "restorePointsCountForRansomwareScan": 10,
- "ransomwareAction": "CancelRestore",
- "scanInfectedFlag": false,
- "scanSuspiciousFlag": false
}
Schedule Plan to Run After Another Plan
The HTTP PUT request to the /Plans/{planId}/Schedule/SaveRunAfter
endpoint schedules execution of a plan with the specified ID to run after a specific plan.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
Request Body schema:
previousPlanId required | string <uuid> System ID assigned to a preceding plan. |
enabled | boolean Defines whether a schedule is created for the plan. |
virusScan | boolean or null Defines whether to scan backup files for possible viruses. |
yaraScan | boolean or null Defines whether to scan backup files with YARA. |
yaraRuleId | string or null <uuid> System ID assigned to an original YARA rule file. |
restorePointsCountForRansomwareScan | integer or null <int32> Specifies the maximum number of restore points to be scanned for possible malware. |
ransomwareAction | string or null Specifies the action to take if malware is found. |
scanInfectedFlag | boolean Defines whether to check restore points for Infected malware flags. |
scanSuspiciousFlag | boolean Defines whether to check restore points for Suspicious malware flags. |
No Content
Bad request. The request body is malformed, incomplete or otherwise invalid.
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "previousPlanId": "2e3c971f-31bc-4856-9413-af2f8b4e7288",
- "enabled": false,
- "virusScan": true,
- "yaraScan": true,
- "yaraRuleId": "a7d84a89-3171-4a3c-9da5-645656407042",
- "restorePointsCountForRansomwareScan": 10,
- "ransomwareAction": "CancelRestore",
- "scanInfectedFlag": false,
- "scanSuspiciousFlag": false
}
Clone Plan
The HTTP POST request to the /Plans/{planId}/Clone
endpoint clones a plan with the specified ID.
path Parameters
planId required | string <uuid> System ID assigned to a plan. |
Request Body schema:
name required | string non-empty Name of a cloned plan. |
description | string or null Description of the cloned plan. |
contactName | string or null Contact name of a person that will be responsible for the plan. |
contactEmail | string or null Email of a person that will be responsible for the plan. |
contactTel | string or null Telephone number of a person that will be responsible for the plan. |
No Content
Unauthorized request. The authorization header has been expected but not found (or found but expired).
Internal server error.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "name": "Cloned CDP",
- "description": "plan cloned from Round CDP",
- "contactName": "Wendy May",
- "contactEmail": "wendy.may@company.com",
- "contactTel": "3232556666"
}