Download OpenAPI specification:Download
The Restorepoint RESTful API allows you to trigger all of Restorepoint's operations programatically. Restorepoint's web interface uses the same API for all its operations. Everything you can do through the UI can be done through this API.
We are using swagger-codegen-cli (3.0.0 branch) to generate a Go client library for running end to end tests internally:
java -jar swagger-codegen-cli.jar generate --lang=go --input-spec=swagger.json --output=swagger
The Restorepoint API supports cookie based authentication for its web interface and token based authentication for programmatic integrations.
The Restorepoint web interface uses session cookies to authenticate API requests coming from a user's browser. Please use authentication tokens when integrating with the Restorepoint API programmatically.
Example header:
Cookie: session=abcde12345; Path=/; HttpOnly
Security Scheme Type | API Key |
---|---|
Cookie parameter name: | session |
To integrate with the Restorepoint API, please use the web interface to create API tokens. API requests via
token should pass an Authorization
header using the Custom
prefix.
Example header:
Authorization: Custom qVUXmMhPsle3NVU...
Security Scheme Type | API Key |
---|---|
Header parameter name: | Authorization |
Lists required Permissions for each individual endpoint.
Please note: Whilst this authentication method is listed as an OpenID Connect authentication type, it is only used for the purposes of displaying the required permissions on each endpoint and is not a valid authentication method by itself.
ModifyDevice
BackupDevice
RestoreDevice
CommandDevice
ViewDeviceauth
ViewDevices
ListBackups
ViewBackup
ExportBackup
ModifyBackup
ViewLogs
ViewSyslogs
ViewSysadmin
UpdateSysadmin
ModifyUser
ViewUsers
ViewUserauth
ViewRoles
EditRoles
ModifyDiscovery
ListTemplates
ViewTemplate
ModifyTemplate
PushTemplate
ViewFirmware
ModifyFirmware
PushFirmware
ViewCredentials
ModifyCredentials
ModifyAssets
ViewAssets
ViewDomain
ModifyDomain
ViewRules
ModifyRules
ApplyRules
ViewPassrules
ModifyPassrules
ViewRadius
ModifyRadius
ViewReports
ModifyReports
ArchivePlatform
ViewSchedule
ModifySchedule
ViewReportAssets
ViewReportCompliance
ViewReportAdmin
ViewReportConfig
ViewReportBackups
ViewReportDashboard
ViewReportMonitor
AddDevice
DeleteDevice
ExportDevices
ExportUsers
ModifyLabels
ModifyTokens
OpenTerminal
Security Scheme Type | OpenID Connect |
---|---|
Connect URL | https://ignore.example.com |
The API uses standard HTTP status codes to indicate the success or failure of an API call. The body of the response will be JSON in the following format:
{
"message": "Input validation failed",
"errors": {
"Foo": [
"Foo must not be left blank",
"Foo needs to be at least four characters"
],
"Bar.Foo": [
"Member fields can get individual errors"
],
"Baz[0]": [
"Array can have entries get individual errors"
],
"Baz[1]": [
"Array can have entries get individual errors"
],
"Bar.Foo.Baz[123].Quoo": [
"Example of a nested array error"
]
}
}
The errors
field can give additional details for parts of a request that led to the current error.
Most endpoints that return a list of entities such as devices, credentials, users, etc. support pagination. Please
use limit
and offset
query parameters to specify the range of records you would like to retrieve. Paginated
endpoints will return the requested offset, limit and total in the response JSON.
{
offset: 123,
limit: 100,
total: 500,
data: []
}
In order to express periodic events, Restorepoint uses a cron-like syntax.
A schedule expression consists of seven parts:
┌───────────── minute (0 - 59)
│ ┌───────────── hour (0 - 23)
│ │ ┌───────────── day of the month (1 - 31)
│ │ │ ┌───────────── month (1 - 12)
│ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday) or
│ │ │ │ │ day of the week / every X weeks
│ │ │ │ │
│ │ │ │ │
0 * * * * * *
As an extension to the normal crontab
syntax Restorepoint will interpret a step (indicated by a /
character) in
the day of the week section as the number of weeks between scheduled events. For example the day of week section
4/5
will cause the event to trigger every 5 weeks on the 4th day of the week (Thursday).
Please note: Even though the first and last part are ignored, they have to be provided regardless!
When starting up Retorepoint, the data partition will be encrypted. Programmatic access to the API via token will not be possible until Restorepoint has decrypted its encrypted partition.
All endpoints will return 503 Service Unavailable
with a JSON payload as shown below until the correct encryption
password has been sent via POST /login
and decryption has finished.
{
"EncryptionStatus": "Encrypted"
}
EncryptionStatus
will be set to Decrypting
during decryption and could end up being set to Failure
in case
it was impossible to decrypt the encrypted data partition.
Agents allow a Restorepoint appliance to manage devices located on a remote or otherwise disjointed network, not directly routable by Restorepoint, without the need of complex firewall changes, Network Address Translation, or VPNs. For instance, a Service Provider can set up a central Restorepoint appliance and deploy agents on customer networks, enabling backups of devices on remote sites.
An Agent can be deployed as a Virtual or Hardware appliance on the remote network; the Agent provides faster operations by locally performing all the tasks that would typically require extensive network interaction. Configurations, logs, etc. are processed locally by the agent, and uploaded to the master Restorepoint appliance.
Please note: Agents are only available with an Enterprise licence.
Retrieve all agents
fields | string Example: fields=key,name Comma separated list of fields to return in the list operation. Those will then be the only fields returned. |
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
filter_op | string Enum: "and" "or" Filter operation to use, either "and" or "or" |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
fulltext | string Only return records matching the search term. Must have at least 3 characters |
domain_id[] | Array of integers List of domain IDs to include in the results |
connected | boolean Connected status to include in the results |
fields | Array of strings The filtered fields |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
object The search parameters used to filter items | |
filter_op | string Enum: "and" "or" Filter operation to use |
Array of objects The sorting parameters used to sort items | |
Array of objects (Agent) The returned items |
{- "fields": [
- "string"
], - "offset": 0,
- "limit": 50,
- "total": 0,
- "search": {
- "fulltext": "some text",
- "domain_id": [
- 0
], - "connected": true
}, - "filter_op": [
- "or"
], - "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "DomainID": 123,
- "DomainName": "Global",
- "SecondaryToAgentID": 124,
- "Name": "Agent Fox",
- "Location": "DC 1 Rack 4",
- "StoragePolicy": "Master",
- "Email": "afox@restorepoint.com",
- "DisconnectAlert": false,
- "ReconnectAlert": false,
- "DisableTFTP": false,
- "DisableFTP": false,
- "Connected": true,
- "Address": "127.0.0.1",
- "Port": 8443,
- "Version": "20230216143235",
- "Secondary": "127.0.0.1",
- "LastSeen": "2021-01-18T23:59:59.999Z",
- "ResetKey": false
}
]
}
Create a new agent
ID | integer Agent ID |
DomainID | |
SecondaryToAgentID | integer ID of an agent this agent is secondary to in a HA setup |
Name required | string Agent name |
Location | string Location of the agent |
StoragePolicy | string Default: "Master" Enum: "Master" "Agent" "Both" Where to store backups |
string Email of person responsible for the upkeep of the agent | |
DisconnectAlert | boolean Default: false Send an email alert if the agent goes offline. If the Email field is not filled in, the default notification address is used |
ReconnectAlert | boolean Default: false Send an email alert if the agent comes back online. If the Email field is not filled in, the default notification address is used |
DisableTFTP | boolean Default: false Expose TFTP service on Agent |
DisableFTP | boolean Default: false Expose FTP service on Agent |
ClientKey | string Connecting agent needs to set this secret in order to connect. Only returned after creating the agent or when reseting the agent password. |
Secondary | string IP address of the secondary node in a HA setup |
ResetKey | boolean Default: false Reset the client key. This will generate a new client key and return it in the response. The old client key will be invalidated. |
ID | integer Agent ID |
DomainID | |
DomainName | string Default: "Global" Name of the Domain an agent belongs to. Defaults to "Global" if no domain is set |
SecondaryToAgentID | integer ID of an agent this agent is secondary to in a HA setup |
Name required | string Agent name |
Location | string Location of the agent |
StoragePolicy | string Default: "Master" Enum: "Master" "Agent" "Both" Where to store backups |
string Email of person responsible for the upkeep of the agent | |
DisconnectAlert | boolean Default: false Send an email alert if the agent goes offline. If the Email field is not filled in, the default notification address is used |
ReconnectAlert | boolean Default: false Send an email alert if the agent comes back online. If the Email field is not filled in, the default notification address is used |
DisableTFTP | boolean Default: false Expose TFTP service on Agent |
DisableFTP | boolean Default: false Expose FTP service on Agent |
Connected | boolean Connection status of an agent |
Address | string IP address of an agent |
Port | integer Address' port of an agent |
Version | string Current build version of an agent |
Secondary | string IP address of the secondary node in a HA setup |
LastSeen | string Timestamp of last successful ping |
ResetKey | boolean Default: false Reset the client key. This will generate a new client key and return it in the response. The old client key will be invalidated. |
{- "ID": 123,
- "DomainID": 123,
- "SecondaryToAgentID": 124,
- "Name": "Agent Fox",
- "Location": "DC 1 Rack 4",
- "StoragePolicy": "Master",
- "Email": "afox@restorepoint.com",
- "DisconnectAlert": false,
- "ReconnectAlert": false,
- "DisableTFTP": false,
- "DisableFTP": false,
- "ClientKey": "Sunbreeze123",
- "Secondary": "127.0.0.1",
- "ResetKey": false
}
{- "ID": 123,
- "DomainID": 123,
- "DomainName": "Global",
- "SecondaryToAgentID": 124,
- "Name": "Agent Fox",
- "Location": "DC 1 Rack 4",
- "StoragePolicy": "Master",
- "Email": "afox@restorepoint.com",
- "DisconnectAlert": false,
- "ReconnectAlert": false,
- "DisableTFTP": false,
- "DisableFTP": false,
- "Connected": true,
- "Address": "127.0.0.1",
- "Port": 8443,
- "Version": "20230216143235",
- "Secondary": "127.0.0.1",
- "LastSeen": "2021-01-18T23:59:59.999Z",
- "ResetKey": false
}
Retrieve a single agent
id required | integer Agent ID |
ID | integer Agent ID |
DomainID | |
DomainName | string Default: "Global" Name of the Domain an agent belongs to. Defaults to "Global" if no domain is set |
SecondaryToAgentID | integer ID of an agent this agent is secondary to in a HA setup |
Name required | string Agent name |
Location | string Location of the agent |
StoragePolicy | string Default: "Master" Enum: "Master" "Agent" "Both" Where to store backups |
string Email of person responsible for the upkeep of the agent | |
DisconnectAlert | boolean Default: false Send an email alert if the agent goes offline. If the Email field is not filled in, the default notification address is used |
ReconnectAlert | boolean Default: false Send an email alert if the agent comes back online. If the Email field is not filled in, the default notification address is used |
DisableTFTP | boolean Default: false Expose TFTP service on Agent |
DisableFTP | boolean Default: false Expose FTP service on Agent |
Connected | boolean Connection status of an agent |
Address | string IP address of an agent |
Port | integer Address' port of an agent |
Version | string Current build version of an agent |
Secondary | string IP address of the secondary node in a HA setup |
LastSeen | string Timestamp of last successful ping |
ResetKey | boolean Default: false Reset the client key. This will generate a new client key and return it in the response. The old client key will be invalidated. |
{- "ID": 123,
- "DomainID": 123,
- "DomainName": "Global",
- "SecondaryToAgentID": 124,
- "Name": "Agent Fox",
- "Location": "DC 1 Rack 4",
- "StoragePolicy": "Master",
- "Email": "afox@restorepoint.com",
- "DisconnectAlert": false,
- "ReconnectAlert": false,
- "DisableTFTP": false,
- "DisableFTP": false,
- "Connected": true,
- "Address": "127.0.0.1",
- "Port": 8443,
- "Version": "20230216143235",
- "Secondary": "127.0.0.1",
- "LastSeen": "2021-01-18T23:59:59.999Z",
- "ResetKey": false
}
Update an agent
id required | integer Agent ID |
ID | integer Agent ID |
DomainID | |
SecondaryToAgentID | integer ID of an agent this agent is secondary to in a HA setup |
Name required | string Agent name |
Location | string Location of the agent |
StoragePolicy | string Default: "Master" Enum: "Master" "Agent" "Both" Where to store backups |
string Email of person responsible for the upkeep of the agent | |
DisconnectAlert | boolean Default: false Send an email alert if the agent goes offline. If the Email field is not filled in, the default notification address is used |
ReconnectAlert | boolean Default: false Send an email alert if the agent comes back online. If the Email field is not filled in, the default notification address is used |
DisableTFTP | boolean Default: false Expose TFTP service on Agent |
DisableFTP | boolean Default: false Expose FTP service on Agent |
ClientKey | string Connecting agent needs to set this secret in order to connect. Only returned after creating the agent or when reseting the agent password. |
Secondary | string IP address of the secondary node in a HA setup |
ResetKey | boolean Default: false Reset the client key. This will generate a new client key and return it in the response. The old client key will be invalidated. |
ID | integer Agent ID |
DomainID | |
DomainName | string Default: "Global" Name of the Domain an agent belongs to. Defaults to "Global" if no domain is set |
SecondaryToAgentID | integer ID of an agent this agent is secondary to in a HA setup |
Name required | string Agent name |
Location | string Location of the agent |
StoragePolicy | string Default: "Master" Enum: "Master" "Agent" "Both" Where to store backups |
string Email of person responsible for the upkeep of the agent | |
DisconnectAlert | boolean Default: false Send an email alert if the agent goes offline. If the Email field is not filled in, the default notification address is used |
ReconnectAlert | boolean Default: false Send an email alert if the agent comes back online. If the Email field is not filled in, the default notification address is used |
DisableTFTP | boolean Default: false Expose TFTP service on Agent |
DisableFTP | boolean Default: false Expose FTP service on Agent |
Connected | boolean Connection status of an agent |
Address | string IP address of an agent |
Port | integer Address' port of an agent |
Version | string Current build version of an agent |
Secondary | string IP address of the secondary node in a HA setup |
LastSeen | string Timestamp of last successful ping |
ResetKey | boolean Default: false Reset the client key. This will generate a new client key and return it in the response. The old client key will be invalidated. |
{- "ID": 123,
- "DomainID": 123,
- "SecondaryToAgentID": 124,
- "Name": "Agent Fox",
- "Location": "DC 1 Rack 4",
- "StoragePolicy": "Master",
- "Email": "afox@restorepoint.com",
- "DisconnectAlert": false,
- "ReconnectAlert": false,
- "DisableTFTP": false,
- "DisableFTP": false,
- "ClientKey": "Sunbreeze123",
- "Secondary": "127.0.0.1",
- "ResetKey": false
}
{- "ID": 123,
- "DomainID": 123,
- "DomainName": "Global",
- "SecondaryToAgentID": 124,
- "Name": "Agent Fox",
- "Location": "DC 1 Rack 4",
- "StoragePolicy": "Master",
- "Email": "afox@restorepoint.com",
- "DisconnectAlert": false,
- "ReconnectAlert": false,
- "DisableTFTP": false,
- "DisableFTP": false,
- "Connected": true,
- "Address": "127.0.0.1",
- "Port": 8443,
- "Version": "20230216143235",
- "Secondary": "127.0.0.1",
- "LastSeen": "2021-01-18T23:59:59.999Z",
- "ResetKey": false
}
Get agent system info
id required | integer Agent ID |
Release | string Current operating system release |
Build | string Timestamp of current agent build |
object Memory statistics in bytes | |
Load | Array of numbers <float> 1, 5, and 15 minute load averages as reported by uptime |
Uptime | integer Time since the appliance was last started in seconds |
object Disk usage (all values in bytes) |
{- "Release": "centos-release-8.2-2.2004.0.2.el8.x86_64",
- "Build": "2021-01-18T23:59:59.999Z",
- "Memory": {
- "Total": 1234567890,
- "Used": 123456789,
- "Available": 123345678,
- "Swap": 1234567
}, - "Load": [
- 0.005859375,
- 0.00390625,
- 0
], - "Uptime": 123456,
- "Storage": {
- "Total": 1234567890,
- "Used": 123456789
}
}
Restorepoint allows you to send a CLI command to a device or group of devices and capture the output of the command. This is a very convenient tool to perform a task concurrently on a group of devices, such as changing the administrator password.
Commands can be parameterised for different devices, using the format $parameter$
, where $
is the Variable
Delimiter you've set for your Command. For instance, to change the admin password for a number of ScreenOS
devices, select the devices and enter the command:
set admin password $password$
When running a parameterised command against devices, you have to pass a replacement value for each device.
Note: A parameter can only consist of letters, numbers, and the underscore character _
. If the replacement
string contains escape sequences (such as \n
), they must be double-escaped (\\n
).
Retrieve all commands
fields | string Example: fields=key,name Comma separated list of fields to return in the list operation. Those will then be the only fields returned. |
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
search | string TODO |
fields | Array of strings The filtered fields |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
search | string The search parameters used to filter items |
Array of objects The sorting parameters used to sort items | |
Array of objects (Command) The returned items |
{- "fields": [
- "string"
], - "offset": 0,
- "limit": 50,
- "total": 0,
- "search": "string",
- "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "Name": "Show version",
- "Description": "Retrieve a version from a Cisco device",
- "Type": "command",
- "Timeout": 30,
- "KeepInput": true,
- "PluginKey": "cisco_ios",
- "PluginName": "Cisco IOS",
- "Command": "hostname -b $hostname$",
- "VariableDelimiter": "$",
- "ConcatenateMultiple": true
}
]
}
Create a new command
Name required | string Command name |
Description | string Command description |
Type | string Default: "command" Enum: "command" "lua" The type of command to run |
Timeout | integer Default: 30 Timeout in seconds. A command will automatically be aborted once the timeout is reached |
KeepInput | boolean Default: false Keep commands sent to the device in the response |
PluginKey | string A Plugin identifier for the device type that this command is restricted to. If left blank, a command can be run against any device which can have unintended consequences. |
Command required | string The command or Lua function to run on one or more devices |
VariableDelimiter | string Default: "$" Enum: "$" "#" "_" "*" Delimiter to use for variables |
ConcatenateMultiple | boolean Default: false Concatenates multiple device outputs into a single output |
ID | integer Command ID |
Name required | string Command name |
Description | string Command description |
Type | string Default: "command" Enum: "command" "lua" The type of command to run |
Timeout | integer Default: 30 Timeout in seconds. A command will automatically be aborted once the timeout is reached |
KeepInput | boolean Default: false Keep commands sent to the device in the response |
PluginKey | string A Plugin identifier for the device type that this command is restricted to. If left blank, a command can be run against any device which can have unintended consequences. |
PluginName | string User friendly name of the plugin this command is restricted to |
Command required | string The command or Lua function to run on one or more devices |
VariableDelimiter | string Default: "$" Enum: "$" "#" "_" "*" Delimiter to use for variables |
ConcatenateMultiple | boolean Default: false Concatenates multiple device outputs into a single output |
{- "Name": "Show version",
- "Description": "Retrieve Cisco IOS version",
- "Type": "command",
- "PluginKey": "cisco_ios",
- "Command": "show version"
}
{- "ID": 123,
- "Name": "Show version",
- "Description": "Retrieve a version from a Cisco device",
- "Type": "command",
- "Timeout": 30,
- "KeepInput": true,
- "PluginKey": "cisco_ios",
- "PluginName": "Cisco IOS",
- "Command": "hostname -b $hostname$",
- "VariableDelimiter": "$",
- "ConcatenateMultiple": true
}
Perform a command ad-hoc, without saving the command into the database
Name required | string Command name |
Description | string Command description |
Type | string Default: "command" Enum: "command" "lua" The type of command to run |
Timeout | integer Default: 30 Timeout in seconds. A command will automatically be aborted once the timeout is reached |
KeepInput | boolean Default: false Keep commands sent to the device in the response |
PluginKey | string A Plugin identifier for the device type that this command is restricted to. If left blank, a command can be run against any device which can have unintended consequences. |
Command required | string The command or Lua function to run on one or more devices |
VariableDelimiter | string Default: "$" Enum: "$" "#" "_" "*" Delimiter to use for variables |
Array of objects List of devices to perform a command on |
Array of objects (Output) List of outputs for the requested command executed on selected devices | |
errors | Array of strings List of errors that occured when trying to execute the requested command on some of the selected devices |
null
{- "data": [
- {
- "ID": 123,
- "DeviceID": 123,
- "DeviceName": "My Device",
- "CommandID": 123,
- "CommandName": "Show version",
- "CommandScheduleID": 123,
- "CommandOutputGroupID": 123,
- "Created": "2222-02-22T22:22:22.000Z",
- "Output": "Cisco Internetwork Operating System Software\nIOS (tm) C2950 Software (C2950-I6Q4L2-M), Version 12.1(22)EA8, RELEASE SOFTWARE (fc1)\nCopyright (c) 1986-2006 by cisco Systems, Inc.\nCompiled Fri 12-May-06 17:19 by myl\nImage text-base: 0x80010000, data-base: 0x8056A000\n\nROM: Bootstrap program is C2950 boot loader\n\ncisco.example.com uptime is 3 days, 2 hours, 18 minutes\nSystem returned to ROM by power-on\nSystem restarted at 09:12:44 UTC Fri Feb 5 2021\nSystem image file is \"flash:c2950-i6q4l2-mz.121-22.EA8.bin\"\n\ncisco WS-C2950-24 (RC32300) processor (revision R0) with 21004K bytes of memory.\nProcessor board ID XXYYZZXXYYZZ\nLast reset from system-reset\nRunning Standard Image\n24 FastEthernet/IEEE 802.3 interface(s)\n\n32K bytes of flash-simulated non-volatile configuration memory.\nBase ethernet MAC Address: 00:1A:2F:94:6A:00\nMotherboard assembly number: 73-5781-14\nPower supply part number: 34-0965-01\nMotherboard serial number: XXYYZZXXYYZZ\nPower supply serial number: XXYYZZXXYYZZ\nModel revision number: R0\nMotherboard revision number: A0\nModel number: WS-C2950-24\nSystem serial number: XXYYZZXXYYZZ\nConfiguration register is 0xF\n"
}
], - "errors": [
- "string"
]
}
Retrieve a single command
id required | integer Command ID |
ID | integer Command ID |
Name required | string Command name |
Description | string Command description |
Type | string Default: "command" Enum: "command" "lua" The type of command to run |
Timeout | integer Default: 30 Timeout in seconds. A command will automatically be aborted once the timeout is reached |
KeepInput | boolean Default: false Keep commands sent to the device in the response |
PluginKey | string A Plugin identifier for the device type that this command is restricted to. If left blank, a command can be run against any device which can have unintended consequences. |
PluginName | string User friendly name of the plugin this command is restricted to |
Command required | string The command or Lua function to run on one or more devices |
VariableDelimiter | string Default: "$" Enum: "$" "#" "_" "*" Delimiter to use for variables |
ConcatenateMultiple | boolean Default: false Concatenates multiple device outputs into a single output |
{- "ID": 123,
- "Name": "Show version",
- "Description": "Retrieve a version from a Cisco device",
- "Type": "command",
- "Timeout": 30,
- "KeepInput": true,
- "PluginKey": "cisco_ios",
- "PluginName": "Cisco IOS",
- "Command": "hostname -b $hostname$",
- "VariableDelimiter": "$",
- "ConcatenateMultiple": true
}
Update a command
id required | integer Command ID |
Name required | string Command name |
Description | string Command description |
Type | string Default: "command" Enum: "command" "lua" The type of command to run |
Timeout | integer Default: 30 Timeout in seconds. A command will automatically be aborted once the timeout is reached |
KeepInput | boolean Default: false Keep commands sent to the device in the response |
PluginKey | string A Plugin identifier for the device type that this command is restricted to. If left blank, a command can be run against any device which can have unintended consequences. |
Command required | string The command or Lua function to run on one or more devices |
VariableDelimiter | string Default: "$" Enum: "$" "#" "_" "*" Delimiter to use for variables |
ConcatenateMultiple | boolean Default: false Concatenates multiple device outputs into a single output |
ID | integer Command ID |
Name required | string Command name |
Description | string Command description |
Type | string Default: "command" Enum: "command" "lua" The type of command to run |
Timeout | integer Default: 30 Timeout in seconds. A command will automatically be aborted once the timeout is reached |
KeepInput | boolean Default: false Keep commands sent to the device in the response |
PluginKey | string A Plugin identifier for the device type that this command is restricted to. If left blank, a command can be run against any device which can have unintended consequences. |
PluginName | string User friendly name of the plugin this command is restricted to |
Command required | string The command or Lua function to run on one or more devices |
VariableDelimiter | string Default: "$" Enum: "$" "#" "_" "*" Delimiter to use for variables |
ConcatenateMultiple | boolean Default: false Concatenates multiple device outputs into a single output |
{- "Name": "Show version",
- "Description": "Retrieve a version from a Cisco device",
- "Type": "command",
- "Timeout": 30,
- "KeepInput": true,
- "PluginKey": "cisco_ios",
- "Command": "hostname -b $hostname$",
- "VariableDelimiter": "$",
- "ConcatenateMultiple": true
}
{- "ID": 123,
- "Name": "Show version",
- "Description": "Retrieve a version from a Cisco device",
- "Type": "command",
- "Timeout": 30,
- "KeepInput": true,
- "PluginKey": "cisco_ios",
- "PluginName": "Cisco IOS",
- "Command": "hostname -b $hostname$",
- "VariableDelimiter": "$",
- "ConcatenateMultiple": true
}
Perform command
id required | integer Command ID |
required | Array of objects List of devices to perform a command on |
Array of objects (Output) List of outputs for the requested command executed on selected devices | |
errors | Array of strings List of errors that occured when trying to execute the requested command on some of the selected devices |
{- "Devices": [
- {
- "ID": 123,
- "Variables": {
- "hostname": "host.example.com"
}
}
]
}
{- "data": [
- {
- "ID": 123,
- "DeviceID": 123,
- "DeviceName": "My Device",
- "CommandID": 123,
- "CommandName": "Show version",
- "CommandScheduleID": 123,
- "CommandOutputGroupID": 123,
- "Created": "2222-02-22T22:22:22.000Z",
- "Output": "Cisco Internetwork Operating System Software\nIOS (tm) C2950 Software (C2950-I6Q4L2-M), Version 12.1(22)EA8, RELEASE SOFTWARE (fc1)\nCopyright (c) 1986-2006 by cisco Systems, Inc.\nCompiled Fri 12-May-06 17:19 by myl\nImage text-base: 0x80010000, data-base: 0x8056A000\n\nROM: Bootstrap program is C2950 boot loader\n\ncisco.example.com uptime is 3 days, 2 hours, 18 minutes\nSystem returned to ROM by power-on\nSystem restarted at 09:12:44 UTC Fri Feb 5 2021\nSystem image file is \"flash:c2950-i6q4l2-mz.121-22.EA8.bin\"\n\ncisco WS-C2950-24 (RC32300) processor (revision R0) with 21004K bytes of memory.\nProcessor board ID XXYYZZXXYYZZ\nLast reset from system-reset\nRunning Standard Image\n24 FastEthernet/IEEE 802.3 interface(s)\n\n32K bytes of flash-simulated non-volatile configuration memory.\nBase ethernet MAC Address: 00:1A:2F:94:6A:00\nMotherboard assembly number: 73-5781-14\nPower supply part number: 34-0965-01\nMotherboard serial number: XXYYZZXXYYZZ\nPower supply serial number: XXYYZZXXYYZZ\nModel revision number: R0\nMotherboard revision number: A0\nModel number: WS-C2950-24\nSystem serial number: XXYYZZXXYYZZ\nConfiguration register is 0xF\n"
}
], - "errors": [
- "string"
]
}
Logs from running scheduled commands with StoreLog
enabled can be retrieved here.
Retrieve all outputs
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
fulltext | string Only return records matching the search term. Must have at least 3 characters |
created_after | string Example: created_after=2020-01-02T15:04:05.999Z Timestamp (UTC) to include results after the updated date. |
created_before | string Example: created_before=2023-01-02T15:04:05.999Z Timestamp (UTC) to include results before the created date. |
deviceid[] | Array of integers Example: deviceid[]=123&deviceid[]=2875&deviceid[]=3 List of Device IDs to filter command outputs on. |
command_id[] | Array of integers Example: command_id[]=123&command_id[]=2875&command_id[]=3 List of Command IDs to filter command outputs on. |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total required | integer The total number of items |
object The search parameters used to filter items | |
object List of deviceIDs used to filter returned items | |
Array of objects The sorting parameters used to sort items | |
Array of objects (Output) The returned items |
{- "offset": 0,
- "limit": 50,
- "total": 0,
- "search": {
- "fulltext": "some text",
- "created_after": "2020-01-02T15:04:05.999Z",
- "created_before": "2023-01-02T15:04:05.999Z"
}, - "deviceid": {
- "include": [
- 123,
- 456
], - "exclude": [
- 123,
- 456
]
}, - "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "DeviceID": 123,
- "DeviceName": "My Device",
- "CommandID": 123,
- "CommandName": "Show version",
- "CommandScheduleID": 123,
- "CommandOutputGroupID": 123,
- "Created": "2222-02-22T22:22:22.000Z",
- "Output": "Cisco Internetwork Operating System Software\nIOS (tm) C2950 Software (C2950-I6Q4L2-M), Version 12.1(22)EA8, RELEASE SOFTWARE (fc1)\nCopyright (c) 1986-2006 by cisco Systems, Inc.\nCompiled Fri 12-May-06 17:19 by myl\nImage text-base: 0x80010000, data-base: 0x8056A000\n\nROM: Bootstrap program is C2950 boot loader\n\ncisco.example.com uptime is 3 days, 2 hours, 18 minutes\nSystem returned to ROM by power-on\nSystem restarted at 09:12:44 UTC Fri Feb 5 2021\nSystem image file is \"flash:c2950-i6q4l2-mz.121-22.EA8.bin\"\n\ncisco WS-C2950-24 (RC32300) processor (revision R0) with 21004K bytes of memory.\nProcessor board ID XXYYZZXXYYZZ\nLast reset from system-reset\nRunning Standard Image\n24 FastEthernet/IEEE 802.3 interface(s)\n\n32K bytes of flash-simulated non-volatile configuration memory.\nBase ethernet MAC Address: 00:1A:2F:94:6A:00\nMotherboard assembly number: 73-5781-14\nPower supply part number: 34-0965-01\nMotherboard serial number: XXYYZZXXYYZZ\nPower supply serial number: XXYYZZXXYYZZ\nModel revision number: R0\nMotherboard revision number: A0\nModel number: WS-C2950-24\nSystem serial number: XXYYZZXXYYZZ\nConfiguration register is 0xF\n"
}
]
}
Retrieve a single output
id required | integer Command output ID |
ID | integer Command output ID |
DeviceID | integer ID of the Device this output was recorded for |
DeviceName | string Name of the Device this output was recorded for |
CommandID | integer ID of the Command this output was recorded for |
CommandName | string Name of the Command this output was recorded for |
CommandScheduleID | integer ID of the Command Schedule that triggered the recording of this output |
CommandOutputGroupID | integer ID of the Command Output Group this output is a part of |
Created | string Timestamp in RFC3339 format when the output was recorded |
Output | string The recorded output in plain text |
{- "ID": 123,
- "DeviceID": 123,
- "DeviceName": "My Device",
- "CommandID": 123,
- "CommandName": "Show version",
- "CommandScheduleID": 123,
- "CommandOutputGroupID": 123,
- "Created": "2222-02-22T22:22:22.000Z",
- "Output": "Cisco Internetwork Operating System Software\nIOS (tm) C2950 Software (C2950-I6Q4L2-M), Version 12.1(22)EA8, RELEASE SOFTWARE (fc1)\nCopyright (c) 1986-2006 by cisco Systems, Inc.\nCompiled Fri 12-May-06 17:19 by myl\nImage text-base: 0x80010000, data-base: 0x8056A000\n\nROM: Bootstrap program is C2950 boot loader\n\ncisco.example.com uptime is 3 days, 2 hours, 18 minutes\nSystem returned to ROM by power-on\nSystem restarted at 09:12:44 UTC Fri Feb 5 2021\nSystem image file is \"flash:c2950-i6q4l2-mz.121-22.EA8.bin\"\n\ncisco WS-C2950-24 (RC32300) processor (revision R0) with 21004K bytes of memory.\nProcessor board ID XXYYZZXXYYZZ\nLast reset from system-reset\nRunning Standard Image\n24 FastEthernet/IEEE 802.3 interface(s)\n\n32K bytes of flash-simulated non-volatile configuration memory.\nBase ethernet MAC Address: 00:1A:2F:94:6A:00\nMotherboard assembly number: 73-5781-14\nPower supply part number: 34-0965-01\nMotherboard serial number: XXYYZZXXYYZZ\nPower supply serial number: XXYYZZXXYYZZ\nModel revision number: R0\nMotherboard revision number: A0\nModel number: WS-C2950-24\nSystem serial number: XXYYZZXXYYZZ\nConfiguration register is 0xF\n"
}
Download a command output as a text file
id required | integer Command output ID |
The command output as a plain text file
{- "message": "Command output does not exit",
- "errors": {
- "ID": [
- "Command output with ID 123 does not exist"
]
}
}
Compare two command outputs
CommandOutputID1 | integer ID of the first command output to compare |
CommandOutputID2 | integer ID of the second command output to compare |
CommandOutputGroupID1 | integer ID of the first grouped command output to compare |
CommandOutputGroupID2 | integer ID of the second grouped command output to compare |
Diff | string The diff as HTML |
{- "CommandOutputID1": 123,
- "CommandOutputID2": 124,
- "CommandOutputGroupID1": 123,
- "CommandOutputGroupID2": 124
}
{- "Diff": "32\n<div>Cisco Internetwork Operating System Software </div><div>IOS (tm) C2950 Software (C2950-I6Q4L2-M), Version 12.1(22)EA8, RELEASE SOFTWARE (fc1)</div><div>Copyright (c) 1986-2006 by cisco Systems, Inc.</div><div>Compiled Fri 12-May-06 17:19 by myl</div><div>Image text-base: 0x80010000, data-base: 0x8056A000</div><div> </div><div>ROM: Bootstrap program is C2950 boot loader</div><div> </div><div class=\"diffr\">cisco.example.com uptime is 3 days, 2 hours, 18 minutes</div><div>System returned to ROM by power-on</div><div>System restarted at 09:12:44 UTC Fri Feb 5 2021</div><div>System image file is "flash:c2950-i6q4l2-mz.121-22.EA8.bin"</div><div> </div><div>cisco WS-C2950-24 (RC32300) processor (revision R0) with 21004K bytes of memory.</div><div>Processor board ID XXYYZZXXYYZZ</div><div>Last reset from system-reset</div><div>Running Standard Image</div><div>24 FastEthernet/IEEE 802.3 interface(s)</div><div> </div><div>32K bytes of flash-simulated non-volatile configuration memory.</div><div>Base ethernet MAC Address: 00:1A:2F:94:6A:00</div><div>Motherboard assembly number: 73-5781-14</div><div>Power supply part number: 34-0965-01</div><div>Motherboard serial number: XXYYZZXXYYZZ</div><div>Power supply serial number: XXYYZZXXYYZZ</div><div>Model revision number: R0</div><div>Motherboard revision number: A0</div><div>Model number: WS-C2950-24</div><div>System serial number: XXYYZZXXYYZZ</div><div>Configuration register is 0xF</div><div> </div><div> </div>\n<div>Cisco Internetwork Operating System Software </div><div>IOS (tm) C2950 Software (C2950-I6Q4L2-M), Version 12.1(22)EA8, RELEASE SOFTWARE (fc1)</div><div>Copyright (c) 1986-2006 by cisco Systems, Inc.</div><div>Compiled Fri 12-May-06 17:19 by myl</div><div>Image text-base: 0x80010000, data-base: 0x8056A000</div><div> </div><div>ROM: Bootstrap program is C2950 boot loader</div><div> </div><div class=\"diffr\">cisco.example.com uptime is 3 days, 2 hours, 32 minutes</div><div>System returned to ROM by power-on</div><div>System restarted at 09:12:44 UTC Fri Feb 5 2021</div><div>System image file is "flash:c2950-i6q4l2-mz.121-22.EA8.bin"</div><div> </div><div>cisco WS-C2950-24 (RC32300) processor (revision R0) with 21004K bytes of memory.</div><div>Processor board ID XXYYZZXXYYZZ</div><div>Last reset from system-reset</div><div>Running Standard Image</div><div>24 FastEthernet/IEEE 802.3 interface(s)</div><div> </div><div>32K bytes of flash-simulated non-volatile configuration memory.</div><div>Base ethernet MAC Address: 00:1A:2F:94:6A:00</div><div>Motherboard assembly number: 73-5781-14</div><div>Power supply part number: 34-0965-01</div><div>Motherboard serial number: XXYYZZXXYYZZ</div><div>Power supply serial number: XXYYZZXXYYZZ</div><div>Model revision number: R0</div><div>Motherboard revision number: A0</div><div>Model number: WS-C2950-24</div><div>System serial number: XXYYZZXXYYZZ</div><div>Configuration register is 0xF</div><div> </div><div> </div>"
}
Retrieve all command schedules
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
fulltext | string Only return records matching the search term. Must have at least 3 characters |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
object The search parameters used to filter items | |
Array of objects The sorting parameters used to sort items | |
Array of objects (Schedule) The returned items |
{- "offset": 0,
- "limit": 50,
- "total": 0,
- "search": {
- "fulltext": "some text"
}, - "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "CommandName": "The Command",
- "CommandID": 123,
- "DeviceIDs": [
- 1,
- 2,
- 3
], - "DeviceNames": "Device A, Device B, Device C, ...",
- "Type": "Scheduled",
- "Schedule": "15 * * * *",
- "NextRun": "2222-02-22T22:22:22.000Z",
- "KeepLast": 3,
- "EmailAddress": "afox@restorepoint.com",
- "PolicyName": "The policy",
- "PolicyID": 123,
- "ConcatenateMultiple": true,
- "Variables": [
- {
- "Name": "var1",
- "Value": "ls -la",
- "DeviceID": 123
}
]
}
]
}
Retrieve all schedules by command id
id required | integer Command ID |
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
search | string TODO |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
search | string The search parameters used to filter items |
Array of objects The sorting parameters used to sort items | |
Array of objects (Schedule) The returned items |
{- "offset": 0,
- "limit": 50,
- "total": 0,
- "search": "string",
- "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "CommandName": "The Command",
- "CommandID": 123,
- "DeviceIDs": [
- 1,
- 2,
- 3
], - "DeviceNames": "Device A, Device B, Device C, ...",
- "Type": "Scheduled",
- "Schedule": "15 * * * *",
- "NextRun": "2222-02-22T22:22:22.000Z",
- "KeepLast": 3,
- "EmailAddress": "afox@restorepoint.com",
- "PolicyName": "The policy",
- "PolicyID": 123,
- "ConcatenateMultiple": true,
- "Variables": [
- {
- "Name": "var1",
- "Value": "ls -la",
- "DeviceID": 123
}
]
}
]
}
Create a new schedule
id required | integer Command ID |
CommandID required | integer ID of the Command that is scheduled |
DeviceIDs required | Array of integers Default: [] A list of Device IDs to assign to this scheduled command. Note: When retrieving a list of command schedules, this field will be left blank for performance reasons. |
Type required | string Default: "Scheduled" Enum: "Scheduled" "OnceAt" Type of schedule. Commands can be performed as |
Schedule | string A cron-like expression if the type of schedule is set to "Scheduled" |
KeepLast | |
EmailAddress | string Email address which will receive this scheduled Command Output |
PolicyID | integer Default: 0 ID of Policy to be applied after the scheduled command has run. 0 means no policy will be applied |
ConcatenateMultiple | boolean Default: false Concatenates multiple device outputs into a single output |
Array of objects (CommandScheduleVariable) Schedule variables when the command has any. |
ID | integer Command schedule ID |
CommandName | string Name of the Command that is scheduled |
CommandID required | integer ID of the Command that is scheduled |
DeviceIDs required | Array of integers Default: [] A list of Device IDs to assign to this scheduled command. Note: When retrieving a list of command schedules, this field will be left blank for performance reasons. |
DeviceNames | string A system generated list of device names assigned to this credential set. This is limited to the first 50 devices. |
Type required | string Default: "Scheduled" Enum: "Scheduled" "OnceAt" Type of schedule. Commands can be performed as |
Schedule | string A cron-like expression if the type of schedule is set to "Scheduled" |
NextRun | string <date-time> Timestamp in RFC3339 format when to run this command. Type of schedule has to be set to "OnceAt" |
KeepLast | |
EmailAddress | string Email address which will receive this scheduled Command Output |
PolicyName | string Name of Policy to be applied after the scheduled command has run |
PolicyID | integer Default: 0 ID of Policy to be applied after the scheduled command has run. 0 means no policy will be applied |
ConcatenateMultiple | boolean Default: false Concatenates multiple device outputs into a single output |
Array of objects (CommandScheduleVariable) Schedule variables when the command has any. |
{- "CommandID": 123,
- "DeviceIDs": [
- 123,
- 124,
- 125
], - "Type": "Scheduled",
- "Schedule": "15 * * * *",
- "KeepLast": 3
}
{- "ID": 123,
- "CommandName": "The Command",
- "CommandID": 123,
- "DeviceIDs": [
- 1,
- 2,
- 3
], - "DeviceNames": "Device A, Device B, Device C, ...",
- "Type": "Scheduled",
- "Schedule": "15 * * * *",
- "NextRun": "2222-02-22T22:22:22.000Z",
- "KeepLast": 3,
- "EmailAddress": "afox@restorepoint.com",
- "PolicyName": "The policy",
- "PolicyID": 123,
- "ConcatenateMultiple": true,
- "Variables": [
- {
- "Name": "var1",
- "Value": "ls -la",
- "DeviceID": 123
}
]
}
Retrieve a single schedule
schedule_id required | integer Schedule ID |
id required | integer Command ID |
ID | integer Command schedule ID |
CommandName | string Name of the Command that is scheduled |
CommandID required | integer ID of the Command that is scheduled |
DeviceIDs required | Array of integers Default: [] A list of Device IDs to assign to this scheduled command. Note: When retrieving a list of command schedules, this field will be left blank for performance reasons. |
DeviceNames | string A system generated list of device names assigned to this credential set. This is limited to the first 50 devices. |
Type required | string Default: "Scheduled" Enum: "Scheduled" "OnceAt" Type of schedule. Commands can be performed as |
Schedule | string A cron-like expression if the type of schedule is set to "Scheduled" |
NextRun | string <date-time> Timestamp in RFC3339 format when to run this command. Type of schedule has to be set to "OnceAt" |
KeepLast | |
EmailAddress | string Email address which will receive this scheduled Command Output |
PolicyName | string Name of Policy to be applied after the scheduled command has run |
PolicyID | integer Default: 0 ID of Policy to be applied after the scheduled command has run. 0 means no policy will be applied |
ConcatenateMultiple | boolean Default: false Concatenates multiple device outputs into a single output |
Array of objects (CommandScheduleVariable) Schedule variables when the command has any. |
{- "ID": 123,
- "CommandName": "The Command",
- "CommandID": 123,
- "DeviceIDs": [
- 1,
- 2,
- 3
], - "DeviceNames": "Device A, Device B, Device C, ...",
- "Type": "Scheduled",
- "Schedule": "15 * * * *",
- "NextRun": "2222-02-22T22:22:22.000Z",
- "KeepLast": 3,
- "EmailAddress": "afox@restorepoint.com",
- "PolicyName": "The policy",
- "PolicyID": 123,
- "ConcatenateMultiple": true,
- "Variables": [
- {
- "Name": "var1",
- "Value": "ls -la",
- "DeviceID": 123
}
]
}
Update a schedule
schedule_id required | integer Schedule ID |
id required | integer Command ID |
CommandID required | integer ID of the Command that is scheduled |
DeviceIDs required | Array of integers Default: [] A list of Device IDs to assign to this scheduled command. Note: When retrieving a list of command schedules, this field will be left blank for performance reasons. |
Type required | string Default: "Scheduled" Enum: "Scheduled" "OnceAt" Type of schedule. Commands can be performed as |
Schedule | string A cron-like expression if the type of schedule is set to "Scheduled" |
KeepLast | |
EmailAddress | string Email address which will receive this scheduled Command Output |
PolicyID | integer Default: 0 ID of Policy to be applied after the scheduled command has run. 0 means no policy will be applied |
ConcatenateMultiple | boolean Default: false Concatenates multiple device outputs into a single output |
Array of objects (CommandScheduleVariable) Schedule variables when the command has any. |
ID | integer Command schedule ID |
CommandName | string Name of the Command that is scheduled |
CommandID required | integer ID of the Command that is scheduled |
DeviceIDs required | Array of integers Default: [] A list of Device IDs to assign to this scheduled command. Note: When retrieving a list of command schedules, this field will be left blank for performance reasons. |
DeviceNames | string A system generated list of device names assigned to this credential set. This is limited to the first 50 devices. |
Type required | string Default: "Scheduled" Enum: "Scheduled" "OnceAt" Type of schedule. Commands can be performed as |
Schedule | string A cron-like expression if the type of schedule is set to "Scheduled" |
NextRun | string <date-time> Timestamp in RFC3339 format when to run this command. Type of schedule has to be set to "OnceAt" |
KeepLast | |
EmailAddress | string Email address which will receive this scheduled Command Output |
PolicyName | string Name of Policy to be applied after the scheduled command has run |
PolicyID | integer Default: 0 ID of Policy to be applied after the scheduled command has run. 0 means no policy will be applied |
ConcatenateMultiple | boolean Default: false Concatenates multiple device outputs into a single output |
Array of objects (CommandScheduleVariable) Schedule variables when the command has any. |
{- "CommandID": 123,
- "DeviceIDs": [
- 1,
- 2,
- 3
], - "Type": "Scheduled",
- "Schedule": "15 * * * *",
- "KeepLast": 3,
- "EmailAddress": "afox@restorepoint.com",
- "PolicyID": 123,
- "ConcatenateMultiple": true,
- "Variables": [
- {
- "Name": "var1",
- "Value": "ls -la",
- "DeviceID": 123
}
]
}
{- "ID": 123,
- "CommandName": "The Command",
- "CommandID": 123,
- "DeviceIDs": [
- 1,
- 2,
- 3
], - "DeviceNames": "Device A, Device B, Device C, ...",
- "Type": "Scheduled",
- "Schedule": "15 * * * *",
- "NextRun": "2222-02-22T22:22:22.000Z",
- "KeepLast": 3,
- "EmailAddress": "afox@restorepoint.com",
- "PolicyName": "The policy",
- "PolicyID": 123,
- "ConcatenateMultiple": true,
- "Variables": [
- {
- "Name": "var1",
- "Value": "ls -la",
- "DeviceID": 123
}
]
}
Delete a schedule
schedule_id required | integer Schedule ID |
id required | integer Command ID |
{- "message": "Command schedule does not exit",
- "errors": {
- "ID": [
- "Command schedule with ID 123 does not exist"
]
}
}
Commands can have one or multiple variables. The user can upload a csv file with a list of variables and they will be parsed and used when running the command.
Parses the variable name, value and device address from a csv file and returns a list of command variables
file | string CSV data |
Array of objects (CommandVariable) |
{- "data": [
- {
- "Name": "var1",
- "Value": "ls -la",
- "DeviceAddress": "rp23"
}
]
}
Retrieve all credentials
fields | string Example: fields=key,name Comma separated list of fields to return in the list operation. Those will then be the only fields returned. |
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
filter_op | string Enum: "and" "or" Filter operation to use, either "and" or "or" |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
domain_id[] | Array of integers List of domain IDs to include in the results |
fields | Array of strings The filtered fields |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
object The search parameters used to filter items | |
filter_op | string Enum: "and" "or" Filter operation to use |
Array of objects The sorting parameters used to sort items | |
Array of objects (Credential) The returned items |
{- "fields": [
- "string"
], - "offset": 0,
- "limit": 50,
- "total": 0,
- "search": {
- "domain_id": [
- 0
]
}, - "filter_op": [
- "or"
], - "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "Name": "Sample credentials",
- "Username": "root",
- "Password": "Sunbreeze123",
- "Password2": "Password123",
- "DomainID": 123,
- "DomainName": "Global",
- "DeviceIDs": [
- 1,
- 2,
- 3
], - "DeviceNames": "Device A, Device B, Device C, ...",
- "ProviderID": 123,
- "ProviderType": "CyberArk",
- "CustomFieldKeys": [
- "sql_password",
- "encryption_password",
- "root_password"
]
}
]
}
Create a new credential
Name required | string Name of the credential set |
Username | string Credential username |
Password | string Credential password |
Password2 | string Credential secondary password |
DomainID | |
DeviceIDs | Array of integers Default: [] A list of Device IDs to assign to this set of credentials. Note: When retrieving a list of credentials, this field will be left blank for performance reasons. |
CustomFieldKeys | Array of strings Default: [] List of custom credential names to be assigned secret values retrieved by a credential provider identified by |
ID | integer Credential set ID |
Name required | string Name of the credential set |
Username | string Credential username |
Password | string Credential password |
Password2 | string Credential secondary password |
DomainID | |
DomainName | string Default: "Global" Name of the Domain a set of credentials belong to. Defaults to "Global" if no domain is set |
DeviceIDs | Array of integers Default: [] A list of Device IDs to assign to this set of credentials. Note: When retrieving a list of credentials, this field will be left blank for performance reasons. |
DeviceNames | string A system generated list of device names assigned to this credential set. This is limited to the first 50 devices. |
ProviderID | integer Default: 0 ID of the external credential provider (e.g. CyberArk provider) to retrieve secret values from
vault and fill the |
ProviderType | string Default: "" Enum: "" "CyberArk" Type of the credential provider identified by |
CustomFieldKeys | Array of strings Default: [] List of custom credential names to be assigned secret values retrieved by a credential provider identified by |
{- "Name": "Sample credentials",
- "Username": "root",
- "Password": "Sunbreeze123",
- "Password2": "Password123",
- "DomainID": 123,
- "DeviceIDs": [
- 1,
- 2,
- 3
], - "CustomFieldKeys": [
- "sql_password",
- "encryption_password",
- "root_password"
]
}
{- "ID": 123,
- "Name": "Sample credentials",
- "Username": "root",
- "Password": "Sunbreeze123",
- "Password2": "Password123",
- "DomainID": 123,
- "DomainName": "Global",
- "DeviceIDs": [
- 1,
- 2,
- 3
], - "DeviceNames": "Device A, Device B, Device C, ...",
- "ProviderID": 123,
- "ProviderType": "CyberArk",
- "CustomFieldKeys": [
- "sql_password",
- "encryption_password",
- "root_password"
]
}
Retrieve a single credential set
id required | integer Credential ID |
ID | integer Credential set ID |
Name required | string Name of the credential set |
Username | string Credential username |
Password | string Credential password |
Password2 | string Credential secondary password |
DomainID | |
DomainName | string Default: "Global" Name of the Domain a set of credentials belong to. Defaults to "Global" if no domain is set |
DeviceIDs | Array of integers Default: [] A list of Device IDs to assign to this set of credentials. Note: When retrieving a list of credentials, this field will be left blank for performance reasons. |
DeviceNames | string A system generated list of device names assigned to this credential set. This is limited to the first 50 devices. |
ProviderID | integer Default: 0 ID of the external credential provider (e.g. CyberArk provider) to retrieve secret values from
vault and fill the |
ProviderType | string Default: "" Enum: "" "CyberArk" Type of the credential provider identified by |
CustomFieldKeys | Array of strings Default: [] List of custom credential names to be assigned secret values retrieved by a credential provider identified by |
{- "ID": 123,
- "Name": "Sample credentials",
- "Username": "root",
- "Password": "Sunbreeze123",
- "Password2": "Password123",
- "DomainID": 123,
- "DomainName": "Global",
- "DeviceIDs": [
- 1,
- 2,
- 3
], - "DeviceNames": "Device A, Device B, Device C, ...",
- "ProviderID": 123,
- "ProviderType": "CyberArk",
- "CustomFieldKeys": [
- "sql_password",
- "encryption_password",
- "root_password"
]
}
Update a credential set
id required | integer Credential ID |
Name required | string Name of the credential set |
Username | string Credential username |
Password | string Credential password |
Password2 | string Credential secondary password |
DomainID | |
DeviceIDs | Array of integers Default: [] A list of Device IDs to assign to this set of credentials. Note: When retrieving a list of credentials, this field will be left blank for performance reasons. |
CustomFieldKeys | Array of strings Default: [] List of custom credential names to be assigned secret values retrieved by a credential provider identified by |
ID | integer Credential set ID |
Name required | string Name of the credential set |
Username | string Credential username |
Password | string Credential password |
Password2 | string Credential secondary password |
DomainID | |
DomainName | string Default: "Global" Name of the Domain a set of credentials belong to. Defaults to "Global" if no domain is set |
DeviceIDs | Array of integers Default: [] A list of Device IDs to assign to this set of credentials. Note: When retrieving a list of credentials, this field will be left blank for performance reasons. |
DeviceNames | string A system generated list of device names assigned to this credential set. This is limited to the first 50 devices. |
ProviderID | integer Default: 0 ID of the external credential provider (e.g. CyberArk provider) to retrieve secret values from
vault and fill the |
ProviderType | string Default: "" Enum: "" "CyberArk" Type of the credential provider identified by |
CustomFieldKeys | Array of strings Default: [] List of custom credential names to be assigned secret values retrieved by a credential provider identified by |
{- "Name": "Sample credentials",
- "Username": "root",
- "Password": "Sunbreeze123",
- "Password2": "Password123",
- "DomainID": 123,
- "DeviceIDs": [
- 1,
- 2,
- 3
], - "CustomFieldKeys": [
- "sql_password",
- "encryption_password",
- "root_password"
]
}
{- "ID": 123,
- "Name": "Sample credentials",
- "Username": "root",
- "Password": "Sunbreeze123",
- "Password2": "Password123",
- "DomainID": 123,
- "DomainName": "Global",
- "DeviceIDs": [
- 1,
- 2,
- 3
], - "DeviceNames": "Device A, Device B, Device C, ...",
- "ProviderID": 123,
- "ProviderType": "CyberArk",
- "CustomFieldKeys": [
- "sql_password",
- "encryption_password",
- "root_password"
]
}
Allows creating or updating multiple credentials at once. It will create a scheduled task with the given credentials and create a log entry for the beginning and end of the credentials creation/modification.
Bulk creates given credentials asynchronously.
required | Array of objects (Credential) List of Credentials objects to create |
{- "Credentials": [
- {
- "Name": "Sample credentials",
- "Username": "root",
- "Password": "Sunbreeze123",
- "Password2": "Password123",
- "DomainID": 123,
- "DeviceIDs": [
- 1,
- 2,
- 3
], - "CustomFieldKeys": [
- "sql_password",
- "encryption_password",
- "root_password"
]
}
]
}
{- "JobUID": 0
}
Bulk update given credentials asynchronously. Must pass the credential ID to update.
required | Array of objects (Credential) List of Credentials objects to update |
{- "Credentials": [
- {
- "Name": "Sample credentials",
- "Username": "root",
- "Password": "Sunbreeze123",
- "Password2": "Password123",
- "DomainID": 123,
- "DeviceIDs": [
- 1,
- 2,
- 3
], - "CustomFieldKeys": [
- "sql_password",
- "encryption_password",
- "root_password"
]
}
]
}
{- "JobUID": 0
}
Retrieve all CyberArk credential providers
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
object The search parameters used to filter items | |
Array of objects The sorting parameters used to sort items | |
Array of objects (CyberArk credential provider request) The returned items |
{- "offset": 0,
- "limit": 50,
- "total": 0,
- "search": {
- "name": "string",
- "base_url": "string",
- "application_id": "string"
}, - "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "Name": "Sample credential provider",
- "ApplicationID": "Sample application ID",
- "ClientCertID": "example.com, S/N: 12345\n",
- "ClientKeyID": "RSA private key",
- "RootCACertID": "example.com, S/N: 12345\n",
- "RequestTimeout": 60,
- "QueryMap": [
- {
- "CredentialID": 123,
- "CredentialFieldKey": "encryption_password",
- "Query": "safe=Test&object=testobject"
}
]
}
]
}
Create a new CyberArk credential provider
Name required | string Name of the CyberArk credential provider |
BaseURL required | string URL of CyberArk vault (service). |
ApplicationID required | string Identifies an application to CyberArk vault. |
ClientCert | string Contains PEM-encoded x509 client certificate for establishing secure TLS connection with CyberArk vault. |
ClientKey | string Contains PEM-encoded client private key. |
RootCACert | string Contains PEM-encoded x509 root CA certificate for establishing secure TLS connection with CyberArk vault. |
RequestTimeout | integer Timeout in seconds for sending HTTP request to CyberArk vault. |
Array of objects (QueryMap) List of query map entries, each one mapping a pair of |
ID | integer CyberArk credential provider ID |
Name required | string Name of the CyberArk credential provider |
BaseURL required | string URL of CyberArk vault (service). |
ApplicationID required | string Identifies an application to CyberArk vault. |
ClientCertID | string Certificate issuer's common name concatenated with certificate's serial number. |
ClientKeyID | string RSA private key string |
RootCACertID | string Certificate issuer's common name concatenated with certificate's serial number. |
RequestTimeout | integer Timeout in seconds for sending HTTP request to CyberArk vault. |
Array of objects (QueryMap) List of query map entries, each one mapping a pair of |
{- "Name": "Sample credential provider",
- "ApplicationID": "Sample application ID",
- "ClientCert": "string",
- "ClientKey": "string",
- "RootCACert": "string",
- "RequestTimeout": 60,
- "QueryMap": [
- {
- "CredentialID": 123,
- "CredentialFieldKey": "encryption_password",
- "Query": "safe=Test&object=testobject"
}
]
}
{- "ID": 123,
- "Name": "Sample credential provider",
- "ApplicationID": "Sample application ID",
- "ClientCertID": "example.com, S/N: 12345\n",
- "ClientKeyID": "RSA private key",
- "RootCACertID": "example.com, S/N: 12345\n",
- "RequestTimeout": 60,
- "QueryMap": [
- {
- "CredentialID": 123,
- "CredentialFieldKey": "encryption_password",
- "Query": "safe=Test&object=testobject"
}
]
}
Retrieve a single CyberArk credential provider
id required | integer CyberArk provider ID |
ID | integer CyberArk credential provider ID |
Name required | string Name of the CyberArk credential provider |
BaseURL required | string URL of CyberArk vault (service). |
ApplicationID required | string Identifies an application to CyberArk vault. |
ClientCertID | string Certificate issuer's common name concatenated with certificate's serial number. |
ClientKeyID | string RSA private key string |
RootCACertID | string Certificate issuer's common name concatenated with certificate's serial number. |
RequestTimeout | integer Timeout in seconds for sending HTTP request to CyberArk vault. |
Array of objects (QueryMap) List of query map entries, each one mapping a pair of |
{- "ID": 123,
- "Name": "Sample credential provider",
- "ApplicationID": "Sample application ID",
- "ClientCertID": "example.com, S/N: 12345\n",
- "ClientKeyID": "RSA private key",
- "RootCACertID": "example.com, S/N: 12345\n",
- "RequestTimeout": 60,
- "QueryMap": [
- {
- "CredentialID": 123,
- "CredentialFieldKey": "encryption_password",
- "Query": "safe=Test&object=testobject"
}
]
}
Update a CyberArk credential provider
id required | integer CyberArk provider ID |
Name required | string Name of the CyberArk credential provider |
BaseURL required | string URL of CyberArk vault (service). |
ApplicationID required | string Identifies an application to CyberArk vault. |
ClientCert | string Contains PEM-encoded x509 client certificate for establishing secure TLS connection with CyberArk vault. |
ClientKey | string Contains PEM-encoded client private key. |
RootCACert | string Contains PEM-encoded x509 root CA certificate for establishing secure TLS connection with CyberArk vault. |
RequestTimeout | integer Timeout in seconds for sending HTTP request to CyberArk vault. |
Array of objects (QueryMap) List of query map entries, each one mapping a pair of |
ID | integer CyberArk credential provider ID |
Name required | string Name of the CyberArk credential provider |
BaseURL required | string URL of CyberArk vault (service). |
ApplicationID required | string Identifies an application to CyberArk vault. |
ClientCertID | string Certificate issuer's common name concatenated with certificate's serial number. |
ClientKeyID | string RSA private key string |
RootCACertID | string Certificate issuer's common name concatenated with certificate's serial number. |
RequestTimeout | integer Timeout in seconds for sending HTTP request to CyberArk vault. |
Array of objects (QueryMap) List of query map entries, each one mapping a pair of |
{- "Name": "Sample credential provider",
- "ApplicationID": "Sample application ID",
- "ClientCert": "string",
- "ClientKey": "string",
- "RootCACert": "string",
- "RequestTimeout": 60,
- "QueryMap": [
- {
- "CredentialID": 123,
- "CredentialFieldKey": "encryption_password",
- "Query": "safe=Test&object=testobject"
}
]
}
{- "ID": 123,
- "Name": "Sample credential provider",
- "ApplicationID": "Sample application ID",
- "ClientCertID": "example.com, S/N: 12345\n",
- "ClientKeyID": "RSA private key",
- "RootCACertID": "example.com, S/N: 12345\n",
- "RequestTimeout": 60,
- "QueryMap": [
- {
- "CredentialID": 123,
- "CredentialFieldKey": "encryption_password",
- "Query": "safe=Test&object=testobject"
}
]
}
Delete a CyberArk credential provider
id required | integer CyberArk provider ID |
{- "message": "CyberArk credential provider does not exit",
- "errors": {
- "ID": [
- "CyberArk provider with ID 123 does not exist"
]
}
}
A device backup can encapsulates one or more device configurations. Depending on the type of device, a device backup might be a simple text file or a multi-gigabyte TGZ.
List backups of a device
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
device_id[] | Array of integers Example: device_id[]=123&device_id[]=2875&device_id[]=3 List of Device IDs to limit the log output to. |
not[device_id][] | Array of integers Example: not[device_id][]=67 List of Device IDs to exclude from the returned log entries. |
created_after | string Example: created_after=2020-01-02T15:04:05.999Z Timestamp (UTC) to include results after the updated date. |
created_before | string Example: created_before=2023-01-02T15:04:05.999Z Timestamp (UTC) to include results before the created date. |
firmware[] | Array of strings Example: firmware[]=IOS 12.1(22)EA4&firmware[]=IOS 11.4(14)EA4 List of firmwares to include in the results |
not[firmware][] | Array of strings Example: not[firmware][]=IOS 10.1(34)EA2 List of firmwares to exclude from the results |
sort | string Example: sort=Created,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant.
Sortable fields are: |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
object The search parameters used to filter items | |
Array of objects The sorting parameters used to sort items | |
Array of objects (Backup) The returned items |
{- "offset": 0,
- "limit": 50,
- "total": 0,
- "search": {
- "device_id": {
- "include": [
- 0
], - "exclude": [
- 0
]
}, - "created_after": "2020-01-02T15:04:05.999Z",
- "created_before": "2023-01-02T15:04:05.999Z",
- "firmware": {
- "include": [
- "IOS 12.1(22)EA4",
- "IOS 11.4(14)EA4"
], - "exclude": [
- "IOS 12.1(22)EA4",
- "IOS 11.4(14)EA4"
]
}
}, - "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "DeviceID": 123,
- "Name": "1-20210128151648",
- "BackupFileID": 123,
- "Created": "2222-02-22T22:22:22.000Z",
- "Size": 1024,
- "Firmware": "IOS 12.1(22)EA8",
- "Initiator": "string",
- "Version": 12,
- "IsBaseline": true,
- "IsMilestone": false,
- "Comment": "string",
- "ConfigurationTypes": [
- "startup",
- "running",
- "vtp"
], - "ScheduleName": "Every 15th minute past every hour",
- "MD5s": [
- {
- "MD5": "a3efc2ad5436717b24b2899eec557d16",
- "ConfigurationType": "running"
}
], - "SHA256Sums": [
- {
- "ConfigType": "default",
- "SHA256Sum": "ec321de56af3b66fb49e89cfe346562388af387db689165d6f662a3950286a57"
}
]
}
]
}
Retrieve all devices
fields | string Example: fields=key,name Comma separated list of fields to return in the list operation. Those will then be the only fields returned. |
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
force_domains | boolean Default: false If true, given domain param values will be used for base filtering, instead of user's domains. |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
filter_op | string Enum: "and" "or" Filter operation to use, either "and" or "or" |
fulltext | string Only return records matching the search term. Must have at least 3 characters |
updated_after | string Example: updated_after=2020-01-02T15:04:05.999Z Timestamp (UTC) to include results after the updated date. |
updated_before | string Example: updated_before=2023-01-02T15:04:05.999Z Timestamp (UTC) to include results before the updated date. |
label_id[] | Array of strings List of labels IDs to include in the results |
not[label_id][] | Array of strings List of label IDs to exclude from the results |
manufacturer[] | Array of strings Example: manufacturer[]=Cisco&manufacturer[]=BigIP List of manufacturers to include in the results |
not[manufacturer][] | Array of strings Example: not[manufacturer][]=Solarwinds List of manufacturers to exclude from the results |
plugin_key[] | Array of strings Example: plugin_key[]=cisco_ios List of plugin keys to include in the results |
not[plugin_key][] | Array of strings Example: not[plugin_key][]=cisco_asa List of plugin keys to exclude from the results |
location[] | Array of strings Example: location[]=Comms Rack&location[]=ESX Server 1 List of locations to include in the results |
not[location][] | Array of strings Example: not[location][]=Home Office List of locations to exclude from the results |
domain_id[] | Array of integers List of domain IDs to include in the results |
not[domain_id][] | Array of integers List of domain IDs to exclude from the results |
backupstatusstring[] | Array of strings Example: backupstatusstring[]=OK List of backup status to include in the results |
not[backupstatusstring][] | Array of strings Example: not[backupstatusstring][]=Failed List of backup status to exclude from the results |
agent_id[] | Array of integers List of agent IDs to include in the results |
not[agent_id][] | Array of integers List of agent IDs to exclude from the results |
protocol[] | Array of strings Example: protocol[]=ssh&protocol[]=ftp List of protocols to include in the results |
not[protocol][] | Array of strings Example: not[protocol][]=telnet/tftp List of protocols to exclude from the results |
compliancestatus[] | Array of strings List of compliance status to include in the results |
not[compliancestatus][] | Array of strings List of compliance status to exclude from the results |
lastbackupattempt_before | string Timestamp to include results before the last backup attempt date. |
lastbackupattempt_after | string Timestamp to include results after the last backup attempt date. |
lastbackup_before | string Timestamp to include results before the last backup. |
lastbackup_after | string Timestamp to include results after the last backup date. |
disabled | boolean Disabled status to include in the results |
up | boolean Device monitored up status to include in the results |
serial[] | Array of strings Example: serial[]=FCZ1047W0F9&serial[]=FKD1227W0F9 List of serial numbers to include in the results |
not[serial][] | Array of strings Example: not[serial][]=FJJ13427W0D1 List of serial numbers to exclude from the results |
firmware[] | Array of strings Example: firmware[]=IOS 12.1(22)EA4&firmware[]=IOS 11.4(14)EA4 List of firmwares to include in the results |
not[firmware][] | Array of strings Example: not[firmware][]=IOS 10.1(34)EA2 List of firmwares to exclude from the results |
assetid[] | Array of strings Example: assetid[]=10101010ID&assetid[]=ThisAssetiD List of assetids to include in the results |
not[assetid][] | Array of strings Example: not[assetid][]=10101010Id List of assetids to exclude from the results |
baseline[] | Array of strings Example: baseline[]=1 Baseline status to include in the results |
not[baseline][] | Array of strings Example: not[baseline][]=0 Baseline status to exclude in the results |
nextbackup_before | string Timestamp to include results before the next backup attempt date. |
nextbackup_after | string Timestamp to include results after the next backup attempt date. |
model[] | Array of strings Example: model[]=WS-C2950-24 List of models to include in the results |
not[model][] | Array of strings Example: not[model][]=WS-C2950-24 List of models to exclude in the results |
state[] | Array of strings Example: state[]=Idle List of states to include in the results |
not[state][] | Array of strings Example: not[state][]=Idle List of states to exclude in the results |
fields | Array of strings The filtered fields |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
object The search parameters used to filter items | |
filter_op | string Enum: "and" "or" Filter operation to use |
Array of objects The sorting parameters used to sort items | |
Array of objects (Device) The returned items |
{- "fields": [
- "string"
], - "offset": 0,
- "limit": 50,
- "total": 0,
- "search": {
- "fulltext": "some text",
- "manufacturer": {
- "include": [
- "Cisco",
- "BigIP"
], - "exclude": [
- "Solarwinds"
]
}, - "plugin_key": {
- "include": [
- "cisco_ios"
], - "exclude": [
- "cisco_asa"
]
}, - "location": {
- "include": [
- "Comms Rack",
- "ESX Server 1"
], - "exclude": [
- "Home Office"
]
}, - "domain_id": {
- "include": [
- 0
], - "exclude": [
- 0
]
}, - "backupstatusstring": {
- "include": [
- "OK"
], - "exclude": [
- "Failed"
]
}, - "agent_id": {
- "include": [
- 0
], - "exclude": [
- 0
]
}, - "protocol": {
- "include": [
- "ssh",
- "ftp"
], - "exclude": [
- "telnet"
]
}, - "lastbackupattempt_after": "2020-01-02T15:04:05.999Z",
- "lastbackupattempt_before": "2023-01-02T15:04:05.999Z",
- "lastbackup_after": "2020-01-02T15:04:05.999Z",
- "lastbackup_before": "2023-01-02T15:04:05.999Z",
- "disabled": true,
- "compliancestatus": {
- "include": [
- "Passed"
], - "exclude": [
- "Failed"
]
}, - "up": true,
- "serial": {
- "include": [
- "FCZ1047W0F9",
- "FKD1227W0F9"
], - "exclude": [
- "FJJ13427W0D1"
]
}, - "firmware": {
- "include": [
- "IOS 12.1(22)EA4",
- "IOS 11.4(14)EA4"
], - "exclude": [
- "IOS 10.1(34)EA2"
]
}, - "baseline": {
- "include": [
- 1
], - "exclude": [
- 0
]
}, - "updated_after": "2020-01-02T15:04:05.999Z",
- "updated_before": "2023-01-02T15:04:05.999Z",
- "nextbackup_after": "2020-01-02T15:04:05.999Z",
- "nextbackup_before": "2023-01-02T15:04:05.999Z",
- "model": {
- "include": [
- "WS-C2950-24"
], - "exclude": [
- "WS-C2950-24"
]
}, - "state": {
- "include": [
- "Idle"
], - "exclude": [
- "Idle"
]
}
}, - "filter_op": [
- "or"
], - "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "Name": "Demo device",
- "DomainID": 123,
- "DomainName": "Global",
- "Labels": [
- {
- "ID": 123,
- "Name": "TODO",
- "Description": "Device that needs checking",
- "Colour": "#FFAABB",
- "DomainID": 123,
- "DomainName": 123
}
], - "Disabled": true,
- "DisabledUntil": "2021-01-18T23:59:59.999Z",
- "DisabledReason": "string",
- "Monitor": {
- "Enabled": true,
- "AlertFail": 2,
- "IsPing": true,
- "AlertEmail": false,
- "AlertEmailUp": true
}, - "AssetFields": [
- {
- "ID": 123,
- "Name": "Location",
- "Type": "text",
- "Value": "Example Location"
}
], - "AdditionalInformation": {
- "PluginCommands": [
- {
- "Name": "Static Routes",
- "Value": "Default gateway: 172.16.21.254"
}
], - "InfoCommands": [
- {
- "ID": 1,
- "Value": "uptime is 2 weeks, 1 day, 22 hours, 51 minutes"
}
]
}, - "PluginKey": "cisco_ios",
- "PluginName": "Cisco IOS",
- "PluginFields": [
- {
- "Name": "username",
- "Value": "afox"
}
], - "PublicKey": "ssh-rsa AAAAB3N...",
- "NotificationEmails": [
- "afox@restorepoint.com",
- "asilva@restorepoint.com"
], - "Notifications": {
- "OnConfigChange": true,
- "OnBackupStart": false,
- "OnBackupEnd": false,
- "SyslogTrigger": false,
- "SuppressDuplicatedEmail": false,
- "LogTranscript": false
}, - "BackupSchedules": [
- {
- "Schedule": "15 * * * *",
- "RetainVersions": 5,
- "RetainDays": 5,
- "DeleteDays": 5,
- "ConfigTypes": [
- "startup",
- "running"
]
}
], - "ManualConfigTypes": [
- "startup",
- "running"
], - "BackupPrefix": "string",
- "BackupStatus": "OK",
- "Address": [
- "127.0.0.1",
- "::1",
- "restorepoint.com"
], - "AgentID": 0,
- "AgentName": "An Agent",
- "Protocol": "scp",
- "CredentialID": 123,
- "FailurePolicy": {
- "Retries": 0,
- "Action": "Disable",
- "Alerts": 0,
- "RetryInterval": 15
}, - "PolicyIDs": [
- 1,
- 2,
- 3
], - "CurrentPolicyViolations": [
- {
- "Date": "2021-01-18T23:59:59.999Z",
- "BackupVersion": 123,
- "ConfigType": "running",
- "PolicyName": "IOS - Enable Secret Is Set",
- "PolicyID": 321,
- "RuleName": "Version",
- "RuleID": 456,
- "RuleSeverity": "High",
- "RuleTimestamp": "2021-01-18T23:59:59.999Z",
- "FailDetails": "string",
- "Remediation": "Update device to version >= 6.0"
}
], - "PastPolicyViolations": [
- {
- "Date": "2021-01-18T23:59:59.999Z",
- "BackupVersion": 123,
- "ConfigType": "running",
- "PolicyName": "IOS - Enable Secret Is Set",
- "PolicyID": 321,
- "RuleName": "Version",
- "RuleID": 456,
- "RuleSeverity": "High",
- "RuleTimestamp": "2021-01-18T23:59:59.999Z",
- "FailDetails": "string",
- "Remediation": "Update device to version >= 6.0"
}
], - "UsePublicKeyAuthentication": false,
- "BackupInterval": "Every 15th minute past every hour",
- "LastBackupAttempt": "2021-01-18T23:59:59.999Z",
- "LastSuccessfulBackup": "2021-01-16T23:59:59.999Z",
- "NextBackup": "2021-01-20T23:59:59.999Z",
- "Baseline": true,
- "State": "Processing",
- "Status": "InProgress",
- "ComplianceScore": 69,
- "ComplianceStatus": "Failed",
- "Up": true,
- "Uptime": 100,
- "BackupSize": 123456,
- "SetupComplete": true,
- "Model": "WS-C2950-24",
- "LastSuccessfulBackupID": 123456
}
]
}
Create a new device
Name required | string Device name |
DomainID | |
LabelIDs | Array of integers A list of Label IDs attached to this device |
Disabled | boolean Default: false Disable or enable a device |
DisabledUntil | string Timestamp of when to re-enable a device if it is disabled. Pass an empty string |
DisabledReason | string Reason for disabling a device |
object Define device monitoring settings | |
Array of objects List of Assetfields with device specific data | |
object List of additional information values originating either from device's plugin (e.g. interfaces, static routes, version, location) or info commands. | |
PluginKey required | string A Plugin identifier ( |
required | Array of objects (DevicePluginFields) List of additional fields for a device, determined by the device plugin. Common field names are |
PublicKey | string Device SSH public key used by a device to communicate with Restorepoint when |
NotificationEmails | Array of strings Email addresses for notifications. Defaults to the email address of the user creating a device. |
object Triggers for sending notification emails to the device owner | |
Array of objects Please note: Backup schedules inherit defaults from the /settings/device endpoint. | |
ManualConfigTypes | Array of strings Default: ["_default"] List of configuration types that will be backed up if a manual backup is triggered. |
BackupPrefix | string Prefix for backup filenames |
Address required | string Network address of the device. Supports IPv4, IPv6 and Hostnames |
AgentID | integer Default: 0 ID of an Agent this device should communicate through. The default |
Protocol required | string Connection protocol to use. Check device's plugin for supported protocols |
CredentialID | integer Default: 0 ID of the Credential assigned to this device. Credentials take precedence over any username or password set for the device |
object What should Restorepoint to when a device encounters an error taking backups. Please note: Inherits defaults from the Settings/Device endpoint. | |
UseAutoApply | boolean Default: false If a compliance policy's auto apply rule matches and this flag is set to |
PolicyIDs | Array of integers Default: [] A list of Compliance policies to apply to this device.
Please note: if |
UsePublicKeyAuthentication | boolean Default: false Use public key for authenticating device connections over SSH. See Settings/PublicKey how to retrieve those for your appliance. |
Up | boolean Whether or not a device is up. Omitted if no monitors are set for this device. |
ID | integer Device ID |
Name required | string Device name |
DomainID | |
DomainName | string Default: "Global" Name of the Domain a device belongs to. Defaults to "Global" if no domain is set |
Array of objects (Label) A list of Label attached to this device | |
Disabled | boolean Default: false Disable or enable a device |
DisabledUntil | string Timestamp of when to re-enable a device if it is disabled. Pass an empty string |
DisabledReason | string Reason for disabling a device |
object Define device monitoring settings | |
Array of objects List of Assetfields with device specific data | |
object List of additional information values originating either from device's plugin (e.g. interfaces, static routes, version, location) or info commands. | |
PluginKey required | string A Plugin identifier ( |
PluginName | string User friendly name of the plugin this device uses |
required | Array of objects (DevicePluginFields) List of additional fields for a device, determined by the device plugin. Common field names are |
PublicKey | string Device SSH public key used by a device to communicate with Restorepoint when |
NotificationEmails | Array of strings Email addresses for notifications. Defaults to the email address of the user creating a device. |
object Triggers for sending notification emails to the device owner | |
Array of objects Please note: Backup schedules inherit defaults from the /settings/device endpoint. | |
ManualConfigTypes | Array of strings Default: ["_default"] List of configuration types that will be backed up if a manual backup is triggered. |
BackupPrefix | string Prefix for backup filenames |
BackupStatus | string Enum: "OK" "Failed" Status for the last device backup |
Address required | string Network address of the device. Supports IPv4, IPv6 and Hostnames |
AgentID | integer Default: 0 ID of an Agent this device should communicate through. The default |
AgentName | string Name of the Agent that a device uses (if set) |
Protocol required | string Connection protocol to use. Check device's plugin for supported protocols |
CredentialID | integer Default: 0 ID of the Credential assigned to this device. Credentials take precedence over any username or password set for the device |
object What should Restorepoint to when a device encounters an error taking backups. Please note: Inherits defaults from the Settings/Device endpoint. | |
PolicyIDs | Array of integers Default: [] A list of Compliance policies to apply to this device.
Please note: if |
Array of objects (Policy violation) A list of Compliancy policy violations for the last backup this device has. | |
Array of objects (Policy violation) A list of Compliancy policy violations for all backups except the last one this device has. | |
UsePublicKeyAuthentication | boolean Default: false Use public key for authenticating device connections over SSH. See Settings/PublicKey how to retrieve those for your appliance. |
BackupInterval | string Default: "Manual" Human readable string of the current backup interval for a device if a schedule is set. Defaults to |
LastBackupAttempt | string Timestamp of last attempted backup. |
LastSuccessfulBackup | string Timestamp of last completed backup. |
NextBackup | string Timestamp of next scheduled backup. |
Baseline | boolean Whether the current backup is an approved configuration. |
State | string Current state of the device. |
Status | string Enum: "Error" "Disabled" "InProgress" "OK" Current status indicator. |
ComplianceScore | integer The percentage compliance score of the device. Omitted if no compliance policies have been run against the device. |
ComplianceStatus | string Enum: "Passed" "Failed" "N/A" The compliance status of the device based on compliance score. Passed if 100, Failed if between 0 and 100 and N/A if -1 policies have been run against the device. |
Up | boolean Whether or not a device is up. Omitted if no monitors are set for this device. |
Uptime | number Percentage of time the device has been monitored as up. |
BackupSize | integer Size of all backups for this device on disk in bytes. |
SetupComplete | boolean Whether or not a device setup is completed. A completed device setup includes enough information to take a backup. |
Model | string Device's model. |
LastSuccessfulBackupID | integer ID of the last successful backup |
{- "Name": "Demo device",
- "DomainID": 123,
- "LabelIDs": [
- 1,
- 2,
- 3
], - "Disabled": true,
- "DisabledUntil": "2021-01-18T23:59:59.999Z",
- "DisabledReason": "string",
- "Monitor": {
- "Enabled": true,
- "AlertFail": 2,
- "IsPing": true,
- "AlertEmail": false,
- "AlertEmailUp": true
}, - "AssetFields": [
- {
- "ID": 123,
- "Value": "Example Location"
}
], - "AdditionalInformation": {
- "InfoCommands": [
- {
- "ID": 1
}
]
}, - "PluginKey": "cisco_ios",
- "PluginFields": [
- {
- "Name": "username",
- "Value": "afox"
}
], - "PublicKey": "ssh-rsa AAAAB3N...",
- "NotificationEmails": [
- "afox@restorepoint.com",
- "asilva@restorepoint.com"
], - "Notifications": {
- "OnConfigChange": true,
- "OnBackupStart": false,
- "OnBackupEnd": false,
- "SyslogTrigger": false,
- "SuppressDuplicatedEmail": false,
- "LogTranscript": false
}, - "BackupSchedules": [
- {
- "Schedule": "15 * * * *",
- "RetainVersions": 5,
- "RetainDays": 5,
- "DeleteDays": 5,
- "ConfigTypes": [
- "startup",
- "running"
]
}
], - "ManualConfigTypes": [
- "startup",
- "running"
], - "BackupPrefix": "string",
- "Address": [
- "127.0.0.1",
- "::1",
- "restorepoint.com"
], - "AgentID": 0,
- "Protocol": "scp",
- "CredentialID": 123,
- "FailurePolicy": {
- "Retries": 0,
- "Action": "Disable",
- "Alerts": 0,
- "RetryInterval": 15
}, - "UseAutoApply": true,
- "PolicyIDs": [
- 1,
- 2,
- 3
], - "UsePublicKeyAuthentication": false,
- "Up": true
}
{- "ID": 123,
- "Name": "Demo device",
- "DomainID": 123,
- "DomainName": "Global",
- "Labels": [
- {
- "ID": 123,
- "Name": "TODO",
- "Description": "Device that needs checking",
- "Colour": "#FFAABB",
- "DomainID": 123,
- "DomainName": 123
}
], - "Disabled": true,
- "DisabledUntil": "2021-01-18T23:59:59.999Z",
- "DisabledReason": "string",
- "Monitor": {
- "Enabled": true,
- "AlertFail": 2,
- "IsPing": true,
- "AlertEmail": false,
- "AlertEmailUp": true
}, - "AssetFields": [
- {
- "ID": 123,
- "Name": "Location",
- "Type": "text",
- "Value": "Example Location"
}
], - "AdditionalInformation": {
- "PluginCommands": [
- {
- "Name": "Static Routes",
- "Value": "Default gateway: 172.16.21.254"
}
], - "InfoCommands": [
- {
- "ID": 1,
- "Value": "uptime is 2 weeks, 1 day, 22 hours, 51 minutes"
}
]
}, - "PluginKey": "cisco_ios",
- "PluginName": "Cisco IOS",
- "PluginFields": [
- {
- "Name": "username",
- "Value": "afox"
}
], - "PublicKey": "ssh-rsa AAAAB3N...",
- "NotificationEmails": [
- "afox@restorepoint.com",
- "asilva@restorepoint.com"
], - "Notifications": {
- "OnConfigChange": true,
- "OnBackupStart": false,
- "OnBackupEnd": false,
- "SyslogTrigger": false,
- "SuppressDuplicatedEmail": false,
- "LogTranscript": false
}, - "BackupSchedules": [
- {
- "Schedule": "15 * * * *",
- "RetainVersions": 5,
- "RetainDays": 5,
- "DeleteDays": 5,
- "ConfigTypes": [
- "startup",
- "running"
]
}
], - "ManualConfigTypes": [
- "startup",
- "running"
], - "BackupPrefix": "string",
- "BackupStatus": "OK",
- "Address": [
- "127.0.0.1",
- "::1",
- "restorepoint.com"
], - "AgentID": 0,
- "AgentName": "An Agent",
- "Protocol": "scp",
- "CredentialID": 123,
- "FailurePolicy": {
- "Retries": 0,
- "Action": "Disable",
- "Alerts": 0,
- "RetryInterval": 15
}, - "PolicyIDs": [
- 1,
- 2,
- 3
], - "CurrentPolicyViolations": [
- {
- "Date": "2021-01-18T23:59:59.999Z",
- "BackupVersion": 123,
- "ConfigType": "running",
- "PolicyName": "IOS - Enable Secret Is Set",
- "PolicyID": 321,
- "RuleName": "Version",
- "RuleID": 456,
- "RuleSeverity": "High",
- "RuleTimestamp": "2021-01-18T23:59:59.999Z",
- "FailDetails": "string",
- "Remediation": "Update device to version >= 6.0"
}
], - "PastPolicyViolations": [
- {
- "Date": "2021-01-18T23:59:59.999Z",
- "BackupVersion": 123,
- "ConfigType": "running",
- "PolicyName": "IOS - Enable Secret Is Set",
- "PolicyID": 321,
- "RuleName": "Version",
- "RuleID": 456,
- "RuleSeverity": "High",
- "RuleTimestamp": "2021-01-18T23:59:59.999Z",
- "FailDetails": "string",
- "Remediation": "Update device to version >= 6.0"
}
], - "UsePublicKeyAuthentication": false,
- "BackupInterval": "Every 15th minute past every hour",
- "LastBackupAttempt": "2021-01-18T23:59:59.999Z",
- "LastSuccessfulBackup": "2021-01-16T23:59:59.999Z",
- "NextBackup": "2021-01-20T23:59:59.999Z",
- "Baseline": true,
- "State": "Processing",
- "Status": "InProgress",
- "ComplianceScore": 69,
- "ComplianceStatus": "Failed",
- "Up": true,
- "Uptime": 100,
- "BackupSize": 123456,
- "SetupComplete": true,
- "Model": "WS-C2950-24",
- "LastSuccessfulBackupID": 123456
}
Retrieve a single device
id required | integer device id |
ID | integer Device ID |
Name required | string Device name |
DomainID | |
DomainName | string Default: "Global" Name of the Domain a device belongs to. Defaults to "Global" if no domain is set |
Array of objects (Label) A list of Label attached to this device | |
Disabled | boolean Default: false Disable or enable a device |
DisabledUntil | string Timestamp of when to re-enable a device if it is disabled. Pass an empty string |
DisabledReason | string Reason for disabling a device |
object Define device monitoring settings | |
Array of objects List of Assetfields with device specific data | |
object List of additional information values originating either from device's plugin (e.g. interfaces, static routes, version, location) or info commands. | |
PluginKey required | string A Plugin identifier ( |
PluginName | string User friendly name of the plugin this device uses |
required | Array of objects (DevicePluginFields) List of additional fields for a device, determined by the device plugin. Common field names are |
PublicKey | string Device SSH public key used by a device to communicate with Restorepoint when |
NotificationEmails | Array of strings Email addresses for notifications. Defaults to the email address of the user creating a device. |
object Triggers for sending notification emails to the device owner | |
Array of objects Please note: Backup schedules inherit defaults from the /settings/device endpoint. | |
ManualConfigTypes | Array of strings Default: ["_default"] List of configuration types that will be backed up if a manual backup is triggered. |
BackupPrefix | string Prefix for backup filenames |
BackupStatus | string Enum: "OK" "Failed" Status for the last device backup |
Address required | string Network address of the device. Supports IPv4, IPv6 and Hostnames |
AgentID | integer Default: 0 ID of an Agent this device should communicate through. The default |
AgentName | string Name of the Agent that a device uses (if set) |
Protocol required | string Connection protocol to use. Check device's plugin for supported protocols |
CredentialID | integer Default: 0 ID of the Credential assigned to this device. Credentials take precedence over any username or password set for the device |
object What should Restorepoint to when a device encounters an error taking backups. Please note: Inherits defaults from the Settings/Device endpoint. | |
PolicyIDs | Array of integers Default: [] A list of Compliance policies to apply to this device.
Please note: if |
Array of objects (Policy violation) A list of Compliancy policy violations for the last backup this device has. | |
Array of objects (Policy violation) A list of Compliancy policy violations for all backups except the last one this device has. | |
UsePublicKeyAuthentication | boolean Default: false Use public key for authenticating device connections over SSH. See Settings/PublicKey how to retrieve those for your appliance. |
BackupInterval | string Default: "Manual" Human readable string of the current backup interval for a device if a schedule is set. Defaults to |
LastBackupAttempt | string Timestamp of last attempted backup. |
LastSuccessfulBackup | string Timestamp of last completed backup. |
NextBackup | string Timestamp of next scheduled backup. |
Baseline | boolean Whether the current backup is an approved configuration. |
State | string Current state of the device. |
Status | string Enum: "Error" "Disabled" "InProgress" "OK" Current status indicator. |
ComplianceScore | integer The percentage compliance score of the device. Omitted if no compliance policies have been run against the device. |
ComplianceStatus | string Enum: "Passed" "Failed" "N/A" The compliance status of the device based on compliance score. Passed if 100, Failed if between 0 and 100 and N/A if -1 policies have been run against the device. |
Up | boolean Whether or not a device is up. Omitted if no monitors are set for this device. |
Uptime | number Percentage of time the device has been monitored as up. |
BackupSize | integer Size of all backups for this device on disk in bytes. |
SetupComplete | boolean Whether or not a device setup is completed. A completed device setup includes enough information to take a backup. |
Model | string Device's model. |
LastSuccessfulBackupID | integer ID of the last successful backup |
{- "ID": 123,
- "Name": "Demo device",
- "DomainID": 123,
- "DomainName": "Global",
- "Labels": [
- {
- "ID": 123,
- "Name": "TODO",
- "Description": "Device that needs checking",
- "Colour": "#FFAABB",
- "DomainID": 123,
- "DomainName": 123
}
], - "Disabled": true,
- "DisabledUntil": "2021-01-18T23:59:59.999Z",
- "DisabledReason": "string",
- "Monitor": {
- "Enabled": true,
- "AlertFail": 2,
- "IsPing": true,
- "AlertEmail": false,
- "AlertEmailUp": true
}, - "AssetFields": [
- {
- "ID": 123,
- "Name": "Location",
- "Type": "text",
- "Value": "Example Location"
}
], - "AdditionalInformation": {
- "PluginCommands": [
- {
- "Name": "Static Routes",
- "Value": "Default gateway: 172.16.21.254"
}
], - "InfoCommands": [
- {
- "ID": 1,
- "Value": "uptime is 2 weeks, 1 day, 22 hours, 51 minutes"
}
]
}, - "PluginKey": "cisco_ios",
- "PluginName": "Cisco IOS",
- "PluginFields": [
- {
- "Name": "username",
- "Value": "afox"
}
], - "PublicKey": "ssh-rsa AAAAB3N...",
- "NotificationEmails": [
- "afox@restorepoint.com",
- "asilva@restorepoint.com"
], - "Notifications": {
- "OnConfigChange": true,
- "OnBackupStart": false,
- "OnBackupEnd": false,
- "SyslogTrigger": false,
- "SuppressDuplicatedEmail": false,
- "LogTranscript": false
}, - "BackupSchedules": [
- {
- "Schedule": "15 * * * *",
- "RetainVersions": 5,
- "RetainDays": 5,
- "DeleteDays": 5,
- "ConfigTypes": [
- "startup",
- "running"
]
}
], - "ManualConfigTypes": [
- "startup",
- "running"
], - "BackupPrefix": "string",
- "BackupStatus": "OK",
- "Address": [
- "127.0.0.1",
- "::1",
- "restorepoint.com"
], - "AgentID": 0,
- "AgentName": "An Agent",
- "Protocol": "scp",
- "CredentialID": 123,
- "FailurePolicy": {
- "Retries": 0,
- "Action": "Disable",
- "Alerts": 0,
- "RetryInterval": 15
}, - "PolicyIDs": [
- 1,
- 2,
- 3
], - "CurrentPolicyViolations": [
- {
- "Date": "2021-01-18T23:59:59.999Z",
- "BackupVersion": 123,
- "ConfigType": "running",
- "PolicyName": "IOS - Enable Secret Is Set",
- "PolicyID": 321,
- "RuleName": "Version",
- "RuleID": 456,
- "RuleSeverity": "High",
- "RuleTimestamp": "2021-01-18T23:59:59.999Z",
- "FailDetails": "string",
- "Remediation": "Update device to version >= 6.0"
}
], - "PastPolicyViolations": [
- {
- "Date": "2021-01-18T23:59:59.999Z",
- "BackupVersion": 123,
- "ConfigType": "running",
- "PolicyName": "IOS - Enable Secret Is Set",
- "PolicyID": 321,
- "RuleName": "Version",
- "RuleID": 456,
- "RuleSeverity": "High",
- "RuleTimestamp": "2021-01-18T23:59:59.999Z",
- "FailDetails": "string",
- "Remediation": "Update device to version >= 6.0"
}
], - "UsePublicKeyAuthentication": false,
- "BackupInterval": "Every 15th minute past every hour",
- "LastBackupAttempt": "2021-01-18T23:59:59.999Z",
- "LastSuccessfulBackup": "2021-01-16T23:59:59.999Z",
- "NextBackup": "2021-01-20T23:59:59.999Z",
- "Baseline": true,
- "State": "Processing",
- "Status": "InProgress",
- "ComplianceScore": 69,
- "ComplianceStatus": "Failed",
- "Up": true,
- "Uptime": 100,
- "BackupSize": 123456,
- "SetupComplete": true,
- "Model": "WS-C2950-24",
- "LastSuccessfulBackupID": 123456
}
Update a device
id required | integer device id |
Name required | string Device name |
DomainID | |
LabelIDs | Array of integers A list of Label IDs attached to this device |
Disabled | boolean Default: false Disable or enable a device |
DisabledUntil | string Timestamp of when to re-enable a device if it is disabled. Pass an empty string |
DisabledReason | string Reason for disabling a device |
object Define device monitoring settings | |
Array of objects List of Assetfields with device specific data | |
object List of additional information values originating either from device's plugin (e.g. interfaces, static routes, version, location) or info commands. | |
PluginKey required | string A Plugin identifier ( |
required | Array of objects (DevicePluginFields) List of additional fields for a device, determined by the device plugin. Common field names are |
PublicKey | string Device SSH public key used by a device to communicate with Restorepoint when |
NotificationEmails | Array of strings Email addresses for notifications. Defaults to the email address of the user creating a device. |
object Triggers for sending notification emails to the device owner | |
Array of objects Please note: Backup schedules inherit defaults from the /settings/device endpoint. | |
ManualConfigTypes | Array of strings Default: ["_default"] List of configuration types that will be backed up if a manual backup is triggered. |
BackupPrefix | string Prefix for backup filenames |
Address required | string Network address of the device. Supports IPv4, IPv6 and Hostnames |
AgentID | integer Default: 0 ID of an Agent this device should communicate through. The default |
Protocol required | string Connection protocol to use. Check device's plugin for supported protocols |
CredentialID | integer Default: 0 ID of the Credential assigned to this device. Credentials take precedence over any username or password set for the device |
object What should Restorepoint to when a device encounters an error taking backups. Please note: Inherits defaults from the Settings/Device endpoint. | |
UseAutoApply | boolean Default: false If a compliance policy's auto apply rule matches and this flag is set to |
PolicyIDs | Array of integers Default: [] A list of Compliance policies to apply to this device.
Please note: if |
UsePublicKeyAuthentication | boolean Default: false Use public key for authenticating device connections over SSH. See Settings/PublicKey how to retrieve those for your appliance. |
Up | boolean Whether or not a device is up. Omitted if no monitors are set for this device. |
ID | integer Device ID |
Name required | string Device name |
DomainID | |
DomainName | string Default: "Global" Name of the Domain a device belongs to. Defaults to "Global" if no domain is set |
Array of objects (Label) A list of Label attached to this device | |
Disabled | boolean Default: false Disable or enable a device |
DisabledUntil | string Timestamp of when to re-enable a device if it is disabled. Pass an empty string |
DisabledReason | string Reason for disabling a device |
object Define device monitoring settings | |
Array of objects List of Assetfields with device specific data | |
object List of additional information values originating either from device's plugin (e.g. interfaces, static routes, version, location) or info commands. | |
PluginKey required | string A Plugin identifier ( |
PluginName | string User friendly name of the plugin this device uses |
required | Array of objects (DevicePluginFields) List of additional fields for a device, determined by the device plugin. Common field names are |
PublicKey | string Device SSH public key used by a device to communicate with Restorepoint when |
NotificationEmails | Array of strings Email addresses for notifications. Defaults to the email address of the user creating a device. |
object Triggers for sending notification emails to the device owner | |
Array of objects Please note: Backup schedules inherit defaults from the /settings/device endpoint. | |
ManualConfigTypes | Array of strings Default: ["_default"] List of configuration types that will be backed up if a manual backup is triggered. |
BackupPrefix | string Prefix for backup filenames |
BackupStatus | string Enum: "OK" "Failed" Status for the last device backup |
Address required | string Network address of the device. Supports IPv4, IPv6 and Hostnames |
AgentID | integer Default: 0 ID of an Agent this device should communicate through. The default |
AgentName | string Name of the Agent that a device uses (if set) |
Protocol required | string Connection protocol to use. Check device's plugin for supported protocols |
CredentialID | integer Default: 0 ID of the Credential assigned to this device. Credentials take precedence over any username or password set for the device |
object What should Restorepoint to when a device encounters an error taking backups. Please note: Inherits defaults from the Settings/Device endpoint. | |
PolicyIDs | Array of integers Default: [] A list of Compliance policies to apply to this device.
Please note: if |
Array of objects (Policy violation) A list of Compliancy policy violations for the last backup this device has. | |
Array of objects (Policy violation) A list of Compliancy policy violations for all backups except the last one this device has. | |
UsePublicKeyAuthentication | boolean Default: false Use public key for authenticating device connections over SSH. See Settings/PublicKey how to retrieve those for your appliance. |
BackupInterval | string Default: "Manual" Human readable string of the current backup interval for a device if a schedule is set. Defaults to |
LastBackupAttempt | string Timestamp of last attempted backup. |
LastSuccessfulBackup | string Timestamp of last completed backup. |
NextBackup | string Timestamp of next scheduled backup. |
Baseline | boolean Whether the current backup is an approved configuration. |
State | string Current state of the device. |
Status | string Enum: "Error" "Disabled" "InProgress" "OK" Current status indicator. |
ComplianceScore | integer The percentage compliance score of the device. Omitted if no compliance policies have been run against the device. |
ComplianceStatus | string Enum: "Passed" "Failed" "N/A" The compliance status of the device based on compliance score. Passed if 100, Failed if between 0 and 100 and N/A if -1 policies have been run against the device. |
Up | boolean Whether or not a device is up. Omitted if no monitors are set for this device. |
Uptime | number Percentage of time the device has been monitored as up. |
BackupSize | integer Size of all backups for this device on disk in bytes. |
SetupComplete | boolean Whether or not a device setup is completed. A completed device setup includes enough information to take a backup. |
Model | string Device's model. |
LastSuccessfulBackupID | integer ID of the last successful backup |
{- "Name": "Demo device",
- "DomainID": 123,
- "LabelIDs": [
- 1,
- 2,
- 3
], - "Disabled": true,
- "DisabledUntil": "2021-01-18T23:59:59.999Z",
- "DisabledReason": "string",
- "Monitor": {
- "Enabled": true,
- "AlertFail": 2,
- "IsPing": true,
- "AlertEmail": false,
- "AlertEmailUp": true
}, - "AssetFields": [
- {
- "ID": 123,
- "Value": "Example Location"
}
], - "AdditionalInformation": {
- "InfoCommands": [
- {
- "ID": 1
}
]
}, - "PluginKey": "cisco_ios",
- "PluginFields": [
- {
- "Name": "username",
- "Value": "afox"
}
], - "PublicKey": "ssh-rsa AAAAB3N...",
- "NotificationEmails": [
- "afox@restorepoint.com",
- "asilva@restorepoint.com"
], - "Notifications": {
- "OnConfigChange": true,
- "OnBackupStart": false,
- "OnBackupEnd": false,
- "SyslogTrigger": false,
- "SuppressDuplicatedEmail": false,
- "LogTranscript": false
}, - "BackupSchedules": [
- {
- "Schedule": "15 * * * *",
- "RetainVersions": 5,
- "RetainDays": 5,
- "DeleteDays": 5,
- "ConfigTypes": [
- "startup",
- "running"
]
}
], - "ManualConfigTypes": [
- "startup",
- "running"
], - "BackupPrefix": "string",
- "Address": [
- "127.0.0.1",
- "::1",
- "restorepoint.com"
], - "AgentID": 0,
- "Protocol": "scp",
- "CredentialID": 123,
- "FailurePolicy": {
- "Retries": 0,
- "Action": "Disable",
- "Alerts": 0,
- "RetryInterval": 15
}, - "UseAutoApply": true,
- "PolicyIDs": [
- 1,
- 2,
- 3
], - "UsePublicKeyAuthentication": false,
- "Up": true
}
{- "ID": 123,
- "Name": "Demo device",
- "DomainID": 123,
- "DomainName": "Global",
- "Labels": [
- {
- "ID": 123,
- "Name": "TODO",
- "Description": "Device that needs checking",
- "Colour": "#FFAABB",
- "DomainID": 123,
- "DomainName": 123
}
], - "Disabled": true,
- "DisabledUntil": "2021-01-18T23:59:59.999Z",
- "DisabledReason": "string",
- "Monitor": {
- "Enabled": true,
- "AlertFail": 2,
- "IsPing": true,
- "AlertEmail": false,
- "AlertEmailUp": true
}, - "AssetFields": [
- {
- "ID": 123,
- "Name": "Location",
- "Type": "text",
- "Value": "Example Location"
}
], - "AdditionalInformation": {
- "PluginCommands": [
- {
- "Name": "Static Routes",
- "Value": "Default gateway: 172.16.21.254"
}
], - "InfoCommands": [
- {
- "ID": 1,
- "Value": "uptime is 2 weeks, 1 day, 22 hours, 51 minutes"
}
]
}, - "PluginKey": "cisco_ios",
- "PluginName": "Cisco IOS",
- "PluginFields": [
- {
- "Name": "username",
- "Value": "afox"
}
], - "PublicKey": "ssh-rsa AAAAB3N...",
- "NotificationEmails": [
- "afox@restorepoint.com",
- "asilva@restorepoint.com"
], - "Notifications": {
- "OnConfigChange": true,
- "OnBackupStart": false,
- "OnBackupEnd": false,
- "SyslogTrigger": false,
- "SuppressDuplicatedEmail": false,
- "LogTranscript": false
}, - "BackupSchedules": [
- {
- "Schedule": "15 * * * *",
- "RetainVersions": 5,
- "RetainDays": 5,
- "DeleteDays": 5,
- "ConfigTypes": [
- "startup",
- "running"
]
}
], - "ManualConfigTypes": [
- "startup",
- "running"
], - "BackupPrefix": "string",
- "BackupStatus": "OK",
- "Address": [
- "127.0.0.1",
- "::1",
- "restorepoint.com"
], - "AgentID": 0,
- "AgentName": "An Agent",
- "Protocol": "scp",
- "CredentialID": 123,
- "FailurePolicy": {
- "Retries": 0,
- "Action": "Disable",
- "Alerts": 0,
- "RetryInterval": 15
}, - "PolicyIDs": [
- 1,
- 2,
- 3
], - "CurrentPolicyViolations": [
- {
- "Date": "2021-01-18T23:59:59.999Z",
- "BackupVersion": 123,
- "ConfigType": "running",
- "PolicyName": "IOS - Enable Secret Is Set",
- "PolicyID": 321,
- "RuleName": "Version",
- "RuleID": 456,
- "RuleSeverity": "High",
- "RuleTimestamp": "2021-01-18T23:59:59.999Z",
- "FailDetails": "string",
- "Remediation": "Update device to version >= 6.0"
}
], - "PastPolicyViolations": [
- {
- "Date": "2021-01-18T23:59:59.999Z",
- "BackupVersion": 123,
- "ConfigType": "running",
- "PolicyName": "IOS - Enable Secret Is Set",
- "PolicyID": 321,
- "RuleName": "Version",
- "RuleID": 456,
- "RuleSeverity": "High",
- "RuleTimestamp": "2021-01-18T23:59:59.999Z",
- "FailDetails": "string",
- "Remediation": "Update device to version >= 6.0"
}
], - "UsePublicKeyAuthentication": false,
- "BackupInterval": "Every 15th minute past every hour",
- "LastBackupAttempt": "2021-01-18T23:59:59.999Z",
- "LastSuccessfulBackup": "2021-01-16T23:59:59.999Z",
- "NextBackup": "2021-01-20T23:59:59.999Z",
- "Baseline": true,
- "State": "Processing",
- "Status": "InProgress",
- "ComplianceScore": 69,
- "ComplianceStatus": "Failed",
- "Up": true,
- "Uptime": 100,
- "BackupSize": 123456,
- "SetupComplete": true,
- "Model": "WS-C2950-24",
- "LastSuccessfulBackupID": 123456
}
Get the a device's most recent monitor responses
id required | integer device id |
period required | integer Number of seconds between measurements. If requested period is narrower then the monitor's period, all measurements will be retrieved |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
Period | integer Requested number of seconds between measurements |
Array of objects List of measurements |
{- "Period": 5,
- "Measurements": [
- {
- "Created": "2222-02-22T22:22:22.000Z",
- "RoundTripTime": 1.23456789
}
]
}
Test compliance policies against a device's latest configuration.
id required | integer device id |
policy_id[] required | Array of integers List of compliance policy IDs to run. |
Array of objects A list of compliance rule test results. |
{- "Results": [
- {
- "Rule": {
- "ID": 123,
- "PolicyID": 123,
- "Name": "Version",
- "Type": "Configuration",
- "ConfigurationTypes": [
- "startup",
- "running",
- "vtp"
], - "Files": [
- {
- "Name": "/etc/foo/bar",
- "Ignore": [
- "To be ingored",
- "Also to be ignored"
]
}
], - "CommandID": 123,
- "Requirement": "MustMatch",
- "TemplateID": 123,
- "MatchType": "Phrase",
- "Value": "Foo",
- "CaseInsensitive": false,
- "DeviceID": 0,
- "Severity": "Low",
- "Remediation": {
- "Type": "None"
}, - "IgnoreLines": [
- "To be ingored",
- "Also to be ignored"
]
}, - "PolicyID": 321,
- "Tested": true,
- "Passed": true,
- "Alert": false,
- "Score": 0,
- "FailDetails": "string",
- "Error": "string"
}
]
}
Perform a plugin command on a device primarily to get a device asset value
id required | integer Device ID |
command required | string Plugin command name |
Result required | string Plugin command result |
{- "Result": "FGVMEVHSBXXV7Z10"
}
Search across devices and configurations
Search required | string Search term (case-insensitive) |
LimitAge | integer Default: 0 Restrict search to configuration not older that this many days. |
LimitVersions | integer Default: 0 Limit search to last X. |
DeviceIDs required | Array of integers Include configuration from the given Device IDs |
Array of objects Global search results |
{- "Search": "interface",
- "LimitAge": 1,
- "LimitVersions": 1,
- "DeviceIDs": [
- 123,
- 124,
- 125
]
}
{- "data": [
- {
- "DeviceID": 123,
- "DeviceName": "My First Cisco",
- "Results": [
- {
- "BackupID": 123,
- "ConfigName": "running",
- "Description": "Version 68 - ucs var/tmp/tmsh_syntax/14.1.2/auto_schema_data_apm_cli.dat",
- "File": "config/.diffVersions/config/BigDB.dat/BigDB.dat",
- "InName": true,
- "SearchResultsCount": 0
}
]
}
]
}
Import devices from a CSV files
overwrite | boolean Default: false Overwrite existing devices |
file | string CSV data (see Export for format) |
NumberImported | integer Number of devices that have been imported |
object Map of device's IP address to the corresponding error message(s) that occurred during import of the device |
{- "NumberImported": 123,
- "DevicesNotImported": {
- "10.0.0.1": [
- "device already exists"
], - "10.0.0.2": [
- "unknown plugin: xxyyzz"
]
}
}
Export a selection of devices as CSV
DeviceIDs required | |
Filename | string Default: "RPDevices" Filename of the resulting CSV file |
RedactCredentials | boolean Default: false Omit columns containing sensitive information |
ExportCredentialsSet | boolean Default: false Exports credential set ID |
IncludeAssets | boolean Default: true Wether to include asset information fields in the export |
OmitEmptyColumns | boolean Default: false Omit empty columns from the resulting CSV |
Content-Disposition | string Example: "attachment; filename=\"RestorepointDevices.csv\"" |
{- "DeviceIDs": [
- 1,
- 2,
- 3
], - "Filename": "RPDevices",
- "RedactCredentials": true,
- "ExportCredentialsSet": true,
- "IncludeAssets": false,
- "OmitEmptyColumns": true
}
name,plugin,ip_address,protocol,owner,backup_interval,ccinform,keep_backup,notes,serial_no,asset_id,location,domain_name,snmp_version,use_dsa,monitor_ping,monitor_port,monitor_email,monitor_email_up,monitor_freq,monitor_fail,syslog_trigger,no_syslog_email,backup_config_types,email_backup_start,email_backup_end,backup_prefix,max_retries,Firmware_assetkey_text,Manufacturer_assetkey_text,Model_assetkey_text example1,Cisco ASA,123.123.123.123,ssh,afox@restorepoint.com,,N,5,,,,Example Rack,Global,,N,N,,N,N,,,N,N,startup#running#full,N,N,id#name#,2,7.2(3),Cisco,ASA/FWSM example2,Cisco ASA,123.123.123.123,ssh,afox@restorepoint.com,,N,5,,,,,Global,,N,N,22,Y,N,5,1,N,N,startup#running,N,N,id##,2,9.9(2)18,Cisco,ASAv
Test device connection and login details
DomainID | integer Default: 0 ID of the Domain a device belongs to (if any). Only allowed to be set during device creation. |
PluginKey required | string A Plugin identifier ( |
required | Array of objects (DevicePluginFields) List of additional fields for a device, determined by the device plugin. Common field names are |
Address required | string Network address of the device |
AgentID | integer Default: 0 ID of an Agent this device should communicate through. The default |
Protocol required | string Connection protocol to use. Check device's plugin for supported protocols |
CredentialID | integer Default: 0 ID of the Credential assigned to this device. Credentials take precedence over any username or password set for the device |
UsePublicKeyAuthentication | boolean Default: false Use public key for authenticating device connections over SSH. See Settings/PublicKey how to retrieve those for your appliance. |
Device | string Name of the device |
Result | string Result of the connection attempt |
IsError | boolean If the connection attempt was successful |
Log | string A log of the connection attempt |
{- "DomainID": 123,
- "PluginKey": "cisco_ios",
- "PluginFields": [
- {
- "Name": "username",
- "Value": "afox"
}
], - "Address": "127.0.0.1",
- "AgentID": 0,
- "Protocol": "scp",
- "CredentialID": 123,
- "UsePublicKeyAuthentication": false
}
{- "Device": "New Device",
- "Result": "Timeout",
- "IsError": true,
- "Log": "Progress: 1/46 (2%)\tTime:0.00s\tStatus: Startup Device: Control linux_server ssh (v25519)\nProgress: 2/46 (4%)\tTime:0.00s\tStatus: /usr/bin/ssh -p 22 127.0.0.1\nProgress: 3/46 (6%)\tTime:0.08s\tStatus: Running Custom Login sequence\nProgress: 4/46 (8%)\tTime:0.14s\tStatus: Running ssh Login sequence\nProgress: 13/46 (28%)\tTime:0.18s\tStatus: Wait Cmd (90s): No route to host,IDENTIFICATION HAS CHANGED,onnection refused,onnection timed out,co...l major versions differ: 2 vs. 1,no matching host key,ermission denied,User,assword,passwd:,PASSCODE\nProgress: 14/46 (30%)\tTime:0.18s\tStatus: Got Cmd: assword\nProgress: 15/46 (32%)\tTime:2.18s\tStatus: Send Cmd: \\n\nProgress: 21/46 (45%)\tTime:2.28s\tStatus: Wait Cmd (60s): >,#,$,option:,Main menu,TERM\nProgress: 22/46 (47%)\tTime:62.29s\tStatus: Error - Timeout\nProgress: 23/46 (50%)\tTime:62.29s\tStatus: Finished ssh Login sequence\nProgress: 24/46 (52%)\tTime:62.29s\tStatus: Closing ssh\nProgress: 25/46 (54%)\tTime:63.29s\tStatus: Closed ssh\nProgress: 26/46 (56%)\tTime:63.29s\tStatus: Stopping Connection: ssh\nProgress: 27/46 (58%)\tTime:63.29s\tStatus: Closing ssh\nProgress: 28/46 (60%)\tTime:64.29s\tStatus: Closed ssh\nProgress: 29/46 (63%)\tTime:64.29s\tStatus: Stop Device: ssh\nProgress: 30/46 (65%)\tTime:64.29s\tStatus: Finished Control\n\nTranscript for RP00000006: linux_server (v25519) Control using ssh.\n\nRECV: 0.04s: Warning: Permanently added '127.0.0.1' (ECDSA) to the list of known hosts.\\r\\n\\rroot@127.0.0.1's password: \nSEND: 2.28s: \\n\nRECV: 2.28s: \\nPermission denied, please try again.\\r\\n\\rroot@127.0.0.1's password: \\n"
}
Get total number of devices grouped by some device field
group required | string Example: group=agent_id a device search parameter that should be used to group device counter |
filter_op | string Enum: "and" "or" Filter operation to use, either "and" or "or" |
fulltext | string Only return records matching the search term. Must have at least 3 characters |
label_id[] | Array of strings List of labels IDs to include in the results |
not[label_id][] | Array of strings List of label IDs to exclude from the results |
manufacturer[] | Array of strings Example: manufacturer[]=Cisco&manufacturer[]=BigIP List of manufacturers to include in the results |
not[manufacturer][] | Array of strings Example: not[manufacturer][]=Solarwinds List of manufacturers to exclude from the results |
plugin_key[] | Array of strings Example: plugin_key[]=cisco_ios List of plugin keys to include in the results |
not[plugin_key][] | Array of strings Example: not[plugin_key][]=cisco_asa List of plugin keys to exclude from the results |
location[] | Array of strings Example: location[]=Comms Rack&location[]=ESX Server 1 List of locations to include in the results |
not[location][] | Array of strings Example: not[location][]=Home Office List of locations to exclude from the results |
domain_id[] | Array of integers List of domain IDs to include in the results |
not[domain_id][] | Array of integers List of domain IDs to exclude from the results |
backupstatusstring[] | Array of strings Example: backupstatusstring[]=OK List of backup status to include in the results |
not[backupstatusstring][] | Array of strings Example: not[backupstatusstring][]=Failed List of backup status to exclude from the results |
agent_id[] | Array of integers List of agent IDs to include in the results |
not[agent_id][] | Array of integers List of agent IDs to exclude from the results |
protocol[] | Array of strings Example: protocol[]=ssh&protocol[]=ftp List of protocols to include in the results |
compliancestatus[] | Array of strings List of compliance status to include in the results |
not[compliancestatus][] | Array of strings List of compliance status to exclude from the results |
not[protocol][] | Array of strings Example: not[protocol][]=telnet/tftp List of protocols to exclude from the results |
lastbackupattempt_before | string Timestamp to include results before the last backup attempt date. |
lastbackupattempt_after | string Timestamp to include results after the last backup attempt date. |
lastbackup_before | string Timestamp to include results before the last backup. |
lastbackup_after | string Timestamp to include results after the last backup date. |
disabled | boolean Disabled status to include in the results |
up | boolean Device monitored up status to include in the results |
serial[] | Array of strings Example: serial[]=FCZ1047W0F9&serial[]=FKD1227W0F9 List of serial numbers to include in the results |
not[serial][] | Array of strings Example: not[serial][]=FJJ13427W0D1 List of serial numbers to exclude from the results |
firmware[] | Array of strings Example: firmware[]=IOS 12.1(22)EA4&firmware[]=IOS 11.4(14)EA4 List of firmwares to include in the results |
not[firmware][] | Array of strings Example: not[firmware][]=IOS 10.1(34)EA2 List of firmwares to exclude from the results |
assetid[] | Array of strings Example: assetid[]=10101010ID&assetid[]=ThisAssetiD List of assetids to include in the results |
not[assetid][] | Array of strings Example: not[assetid][]=10101010Id List of assetids to exclude from the results |
baseline[] | Array of strings Example: baseline[]=1 Baseline status to include in the results |
not[baseline][] | Array of strings Example: not[baseline][]=0 Baseline status to exclude in the results |
Array of objects |
{- "Counters": [
- {
- "Group": "cisco_asa",
- "Total": 4
}
]
}
Upload a file as a device's assetfield value. The asset field has to be of type file
.
assetfield_id required | integer Assetfield ID |
id required | integer Device ID |
file required | string <binary> The actual file |
{- "message": "Input validation failed",
- "errors": {
- "AssetfieldID": [
- "Is not a file upload type field"
], - "File": [
- "Must not be blank"
]
}
}
Update policy's devices' compliance scores
id required | integer Policy ID |
{ }
{- "message": "Policy does not exit",
- "errors": {
- "ID": [
- "Policy with ID 123 does not exist"
]
}
}
A device backup can encapsulates one or more device configurations. Depending on the type of device, a device backup might be a simple text file or a multi-gigabyte TGZ.
Compare two backups
Array of objects 2 items The two device backups to compare | |
OnlyDifferences | boolean Default: false Only return differences |
HideIgnored | boolean Default: false Hide ignored differences with respect to plugin configuration |
Context | integer Default: 0 How many lines to return for context around differences if |
Offset | integer Default: 0 At what line to start a diff |
Limit | integer Default: 200 How many lines to return |
HTML | boolean Default: false Return diff in HTML format |
Diff | string The diff as a HTML or plain text string |
Total | integer The maximum number of lines of the longest file |
{- "Backups": [
- {
- "DeviceID": 123,
- "ConfigType": "startup"
}, - {
- "DeviceID": 124,
- "BackupID": 1234,
- "ConfigType": "running"
}
], - "OnlyDifferences": false,
- "HideIgnored": false,
- "Context": 3,
- "Offset": 0,
- "Limit": 200,
- "HTML": false
}
{- "Diff": "startup: radius-server host 172.16.0.1 auth-port 1812 acct-port 1813 key Cis$ko\nradius-server retransmit 4\n138c138\n< banner login \u0003welcome to Restorepoint\u0003\n---\n> banner login \u0003 test login banner \u0003\n!\nline con 0\n\n",
- "Total": 320
}
List backups of a device
id required | integer Device ID |
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
sort | string Example: sort=Created,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant.
Sortable fields are: |
search | string TODO |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
search | string The search parameters used to filter items |
Array of objects The sorting parameters used to sort items | |
Array of objects (Backup) The returned items |
{- "offset": 0,
- "limit": 50,
- "total": 0,
- "search": "string",
- "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "DeviceID": 123,
- "Name": "1-20210128151648",
- "BackupFileID": 123,
- "Created": "2222-02-22T22:22:22.000Z",
- "Size": 1024,
- "Firmware": "IOS 12.1(22)EA8",
- "Initiator": "string",
- "Version": 12,
- "IsBaseline": true,
- "IsMilestone": false,
- "Comment": "string",
- "ConfigurationTypes": [
- "startup",
- "running",
- "vtp"
], - "ScheduleName": "Every 15th minute past every hour",
- "MD5s": [
- {
- "MD5": "a3efc2ad5436717b24b2899eec557d16",
- "ConfigurationType": "running"
}
], - "SHA256Sums": [
- {
- "ConfigType": "default",
- "SHA256Sum": "ec321de56af3b66fb49e89cfe346562388af387db689165d6f662a3950286a57"
}
]
}
]
}
Trigger a manual backup for this device. Please note that this will queue a backup request in the internal scheduler. The response will be a redirect to the resulting Job.
id required | integer Device ID |
Import a configuration for a device
id required | integer Device ID |
type required | string Default: "default" Configuration type to be imported. See a device's Plugin for allowed types |
file required | string <binary> Uploaded file |
ID | integer Device backup ID |
DeviceID | integer ID of the Device a backup belongs to |
Name | string Name of this backup, defaults to its filename |
BackupFileID | integer ID of the backup file a backup belongs to |
Created | string Timestamp in RFC3339 format when backup was created |
Size | integer Size of a backup in bytes |
Firmware | string Firmware version of the device at the time of backup |
Initiator | string Username of the user triggering a backup or "Auto" for backups triggered by a schedule |
Version | integer Default: 1 Unique version number of the backup |
IsBaseline | boolean Default: false Allows to set a configuration version as a baseline version. Restoring a non-baseline configuration version to a device with a baseline configuration version will cause a compliance alert. |
IsMilestone | boolean Default: false A configuration version can be retained indefinitely if it is set as a milestone configuration. This overrules any retention policy settings for this backup version. |
Comment | string Add a comment for this backup |
ConfigurationTypes | Array of strings List of configuration types that are part of this backup version |
ScheduleName | string Human readable schedule expression or "Manual" for manually triggered backups |
Array of objects List of MD5 sum for each configuration | |
Array of objects List of SHA256 checksum for each of the backup's configuration types |
{- "ID": 123,
- "DeviceID": 123,
- "Name": "1-20210128151648",
- "BackupFileID": 123,
- "Created": "2222-02-22T22:22:22.000Z",
- "Size": 1024,
- "Firmware": "IOS 12.1(22)EA8",
- "Initiator": "string",
- "Version": 12,
- "IsBaseline": true,
- "IsMilestone": false,
- "Comment": "string",
- "ConfigurationTypes": [
- "startup",
- "running",
- "vtp"
], - "ScheduleName": "Every 15th minute past every hour",
- "MD5s": [
- {
- "MD5": "a3efc2ad5436717b24b2899eec557d16",
- "ConfigurationType": "running"
}
], - "SHA256Sums": [
- {
- "ConfigType": "default",
- "SHA256Sum": "ec321de56af3b66fb49e89cfe346562388af387db689165d6f662a3950286a57"
}
]
}
Export one or more device backups
id required | integer Device ID |
BackupIDs required | Array of integers List of Backup IDs to export |
ConfigurationTypes | Array of strings List of Configuration Types to export for each Backup. |
Method | string Default: "email" Enum: "download" "email" "local" "server" Delivery method of how to transfer the backup to the requestor. |
EmailAddress | string Email address that an exported backup will be sent to. Requires |
FileServerID | integer ID of a Fileserver to use for the export |
Locations | Array of strings If not empty and backup is multi-file, every location will act as the Filepath to filter backup files |
Content-Disposition | string Example: "attachment; filename=\"some_config.txt\"" |
BackupIDs | Array of integers List of exported Backup IDs |
ConfigurationTypes | Array of strings List of Configuration Types to export for each Backup. |
Array of objects Details for backup files to download | |
EmailAddress | string Email address that an exported backup was sent to if |
object Local SFTP/FTP/TFTP details when | |
FileServerID | integer ID of a Fileserver that was used for exporting |
{- "BackupIDs": [
- 1
], - "Method": "download"
}
{- "BackupIDs": [
- 1,
- 2,
- 3
], - "ConfigurationTypes": [
- "running",
- "startup"
], - "DownloadFiles": [
- {
- "BackupID": 1,
- "BackupName": "1-20200722143330",
- "BackupFileID": 1,
- "ConfigType": "startup",
- "Location": "string",
- "Filename": "backup.bin",
- "DownloadID": "90404db7-a6a4-4601-b1fa-9e7df327b984"
}
], - "EmailAddress": "afox@restorepoint.com",
- "DownloadDetails": {
- "Filenames": [
- "139-20201109165407.radius.tgz.radius.tgz",
- "139-20201209113247.radius.tgz.radius.tgz"
], - "Username": "expGPCJv",
- "Password": "A190TovW"
}, - "FileServerID": 123
}
Retrieve backup meta data
backup_id required | integer Backup ID |
id required | integer Device ID |
ID | integer Device backup ID |
DeviceID | integer ID of the Device a backup belongs to |
Name | string Name of this backup, defaults to its filename |
BackupFileID | integer ID of the backup file a backup belongs to |
Created | string Timestamp in RFC3339 format when backup was created |
Size | integer Size of a backup in bytes |
Firmware | string Firmware version of the device at the time of backup |
Initiator | string Username of the user triggering a backup or "Auto" for backups triggered by a schedule |
Version | integer Default: 1 Unique version number of the backup |
IsBaseline | boolean Default: false Allows to set a configuration version as a baseline version. Restoring a non-baseline configuration version to a device with a baseline configuration version will cause a compliance alert. |
IsMilestone | boolean Default: false A configuration version can be retained indefinitely if it is set as a milestone configuration. This overrules any retention policy settings for this backup version. |
Comment | string Add a comment for this backup |
ConfigurationTypes | Array of strings List of configuration types that are part of this backup version |
ScheduleName | string Human readable schedule expression or "Manual" for manually triggered backups |
Array of objects List of MD5 sum for each configuration | |
Array of objects List of SHA256 checksum for each of the backup's configuration types |
{- "ID": 123,
- "DeviceID": 123,
- "Name": "1-20210128151648",
- "BackupFileID": 123,
- "Created": "2222-02-22T22:22:22.000Z",
- "Size": 1024,
- "Firmware": "IOS 12.1(22)EA8",
- "Initiator": "string",
- "Version": 12,
- "IsBaseline": true,
- "IsMilestone": false,
- "Comment": "string",
- "ConfigurationTypes": [
- "startup",
- "running",
- "vtp"
], - "ScheduleName": "Every 15th minute past every hour",
- "MD5s": [
- {
- "MD5": "a3efc2ad5436717b24b2899eec557d16",
- "ConfigurationType": "running"
}
], - "SHA256Sums": [
- {
- "ConfigType": "default",
- "SHA256Sum": "ec321de56af3b66fb49e89cfe346562388af387db689165d6f662a3950286a57"
}
]
}
Set flags and comments on a backup (its underlying version)
backup_id required | integer Backup ID |
id required | integer Device ID |
Name | string Name of this backup, defaults to its filename |
IsBaseline | boolean Default: false Allows to set a configuration version as a baseline version. Restoring a non-baseline configuration version to a device with a baseline configuration version will cause a compliance alert. |
IsMilestone | boolean Default: false A configuration version can be retained indefinitely if it is set as a milestone configuration. This overrules any retention policy settings for this backup version. |
Comment | string Add a comment for this backup |
ID | integer Device backup ID |
DeviceID | integer ID of the Device a backup belongs to |
Name | string Name of this backup, defaults to its filename |
BackupFileID | integer ID of the backup file a backup belongs to |
Created | string Timestamp in RFC3339 format when backup was created |
Size | integer Size of a backup in bytes |
Firmware | string Firmware version of the device at the time of backup |
Initiator | string Username of the user triggering a backup or "Auto" for backups triggered by a schedule |
Version | integer Default: 1 Unique version number of the backup |
IsBaseline | boolean Default: false Allows to set a configuration version as a baseline version. Restoring a non-baseline configuration version to a device with a baseline configuration version will cause a compliance alert. |
IsMilestone | boolean Default: false A configuration version can be retained indefinitely if it is set as a milestone configuration. This overrules any retention policy settings for this backup version. |
Comment | string Add a comment for this backup |
ConfigurationTypes | Array of strings List of configuration types that are part of this backup version |
ScheduleName | string Human readable schedule expression or "Manual" for manually triggered backups |
Array of objects List of MD5 sum for each configuration | |
Array of objects List of SHA256 checksum for each of the backup's configuration types |
{- "Name": "1-20210128151648",
- "IsBaseline": true,
- "IsMilestone": false,
- "Comment": "string"
}
{- "ID": 123,
- "DeviceID": 123,
- "Name": "1-20210128151648",
- "BackupFileID": 123,
- "Created": "2222-02-22T22:22:22.000Z",
- "Size": 1024,
- "Firmware": "IOS 12.1(22)EA8",
- "Initiator": "string",
- "Version": 12,
- "IsBaseline": true,
- "IsMilestone": false,
- "Comment": "string",
- "ConfigurationTypes": [
- "startup",
- "running",
- "vtp"
], - "ScheduleName": "Every 15th minute past every hour",
- "MD5s": [
- {
- "MD5": "a3efc2ad5436717b24b2899eec557d16",
- "ConfigurationType": "running"
}
], - "SHA256Sums": [
- {
- "ConfigType": "default",
- "SHA256Sum": "ec321de56af3b66fb49e89cfe346562388af387db689165d6f662a3950286a57"
}
]
}
Delete a backup
backup_id required | integer Backup ID |
id required | integer Device ID |
reason | string Reason for deleting the required backup |
{- "message": "Backup does not exit",
- "errors": {
- "ID": [
- "Backup with ID 123 does not exist"
]
}
}
Retrieve details for a backup config
backup_id required | integer Backup ID |
id required | integer Device ID |
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
ConfigType | string Configuration type to retrieve |
Location | string Filepath to retrieve for a multi-file backup. Passing an empty |
Search | string Search configuration for a specific phrase |
IsList | boolean Default: false Whether or not the response is a list of files or configuration data |
Array of objects Directory entries for a multi-file backup. Entries are flattened and returned with their full path. | |
Lines | Array of strings HTML encoded configuration data, every line becoming an entry in the array |
Search | string Requested search phrase |
SearchIndex | Array of integers Indices of lines matching |
Offset | integer Requested offset |
Limit | integer Requested limit |
NumLines | integer <= 500 Number of lines returned |
TotalLines | integer Total number of lines returned |
{- "ConfigType": "startup",
- "Location": "foo/bar.baz",
- "Search": "eth0"
}
{- "IsList": true,
- "List": [
- {
- "Name": "foo/bar.baz",
- "Description": "108B ASCII XML document"
}
], - "Lines": [
- "Foo",
- "Bar",
- "Baz"
], - "Search": "eth0",
- "SearchIndex": [
- 1,
- 2,
- 3
], - "Offset": 123,
- "Limit": 900,
- "NumLines": 123,
- "TotalLines": 1234
}
Restore a device configuration from a backup or clone a backup to a different device
backup_id required | integer Backup ID |
id required | integer Device ID |
TargetDeviceID | integer A different device (of the same type) to restore this backup to |
SourceConfigType | string Which configuration to restore (if there are multiple) |
TargetConfigType | string Which configuration type to restore into (if there are multiple) |
ResetAfter | boolean Default: false Reboot the device after successful restore |
{- "SourceConfigType": "running",
- "TargetConfigType": "startup",
- "ResetAfter": false
}
{- "message": "Input validation failed",
- "errors": {
- "TargetDeviceID": [
- "Device with ID 123 does not exist"
], - "SourceConfigType": [
- "Must not be blank",
- "Configuration type 'foo' does not exist for plugin 'bar'"
], - "TargetConfigType": [
- "Must not be blank",
- "Configuration type 'foo' does not exist for plugin 'bar'"
]
}
}
Allows editing multiple devices at once. This losely follows the structure of the Device model.
Restorepoint will aggregate values for individual settings.
String values that are not the same across all selected devices will be returned as [Multiple]
. You can
either override all values by setting a different value or leave unchanged by passing back [Multiple]
.
Boolean values on the Device model will have their equivalent field as integers, with -1
meaning multiple values, 0
for false
and 1
for true
. Either set a new value for a field or pass back -1
to leave it unchanged.
Integers will use -1
to denote multiple values. Either set a new value for a field or pass back -1
to
leave it unchanged.
Please note that not all fields of the Device model can be edited this way.
Retrieve aggregated devices for editing by passing two or more device IDs
DeviceIDs required | Array of integers >= 2 items List of Device IDs to edit in bulk |
DeviceIDs required | Array of integers List of Device IDs to edit in bulk |
DeviceNames required | string Aggregated list of device names for display purposes |
PluginKey | string Key of Plugin used for all devices or |
PushDevices | boolean Set to true if any selected device uses a "push" type plugin |
DomainID required | integer ID of Domain. |
LabelIDs required | Array of integers A list of Labels that are shared across all selected devices. |
AgentID required | integer ID of Agent. |
Disabled required | integer Device disabled status, |
DisabledUntil required | string Timestamp of when to re-enable devices if they are disabled or |
DisabledReason required | string Reason for disabling devices |
BackupPrefix required | string Prefix for backup filenames, |
NotificationEmails required | Array of strings Notification email addresses, that are shared across all selected devices. |
required | object Notification settings |
required | object A Monitor represents a single monitor schedule and detail |
Protocol required | string Connection protocol to use. This has to be one of the returned |
Protocols | Array of strings List of supported protocols for the selected devices. Will be an empty list |
required | object Map of data fields common to all devices. Values will be either whatever is common across all devices or |
CredentialID required | integer Credentials to use across selected devices. |
BackupScheduleName | string Return a human-readable description of a schedule across all devices or |
UpdatedCount | integer Returns the amount of devices the user has permission to update |
required | object What should Restorepoint to when a device encounters an error taking backups. |
Array of objects List of Assetfields with device specific data (or | |
PolicyIDs required | Array of integers A list of Compliance policies' IDs that are shared across all selected devices. |
required | object Additional information common to devices. |
{- "DeviceIDs": [
- 123,
- 124,
- 125
]
}
{- "DeviceIDs": [
- 123,
- 124,
- 125
], - "DeviceNames": "Foo, Bar, Baz and 123 others.",
- "PluginKey": "cisco_ios",
- "PushDevices": false,
- "DomainID": 0,
- "LabelIDs": [
- 1,
- 2,
- 3
], - "AgentID": 0,
- "Disabled": 0,
- "DisabledUntil": "2021-01-18T23:59:59.999Z",
- "DisabledReason": "string",
- "BackupPrefix": "string",
- "NotificationEmails": [
- [
- "afox@restorepoint.com",
- "asilva@restorepoint.com"
]
], - "Notifications": {
- "OnConfigChange": -1,
- "OnBackupStart": 0,
- "OnBackupEnd": 1
}, - "Monitor": {
- "Enabled": -1,
- "AlertFail": 2,
- "IsPing": 0,
- "AlertEmail": 1,
- "AlertEmailUp": -1
}, - "Protocol": "[Multiple]",
- "Protocols": [
- "ssh",
- "scp"
], - "Data": {
- "username": "foo",
- "password": "[Multiple]"
}, - "CredentialID": -1,
- "BackupScheduleName": "Every hour, on the hour",
- "UpdatedCount": 135,
- "FailurePolicy": {
- "Retries": 0,
- "Action": "Disable",
- "Alerts": 0,
- "RetryInterval": 15
}, - "AssetFields": [
- {
- "ID": 123,
- "Name": "Location",
- "Type": "text",
- "Value": "Example Location"
}
], - "PolicyIDs": [
- 1,
- 2,
- 3
], - "AdditionalInformation": {
- "InfoCommands": [
- {
- "ID": 1
}
]
}
}
Update multiple devices at once
async | boolean Default: false Update the devices asynchronously. Responds with an empty 202 if update task is queued. |
DeviceIDs required | Array of integers List of Device IDs to edit in bulk |
PluginKey | string Key of Plugin used for all devices or |
DomainID required | integer ID of Domain. |
LabelIDs required | Array of integers A list of Labels that are shared across all selected devices. |
AgentID required | integer ID of Agent. |
Disabled required | integer Device disabled status, |
DisabledUntil required | string Timestamp of when to re-enable devices if they are disabled or |
DisabledReason required | string Reason for disabling devices |
BackupPrefix required | string Prefix for backup filenames, |
NotificationEmails required | Array of strings Notification email addresses, that are shared across all selected devices. |
required | object Notification settings |
required | object A Monitor represents a single monitor schedule and detail |
Protocol required | string Connection protocol to use. This has to be one of the returned |
required | object Map of data fields common to all devices. Values will be either whatever is common across all devices or |
CredentialID required | integer Credentials to use across selected devices. |
BackupScheduleMode | string Default: "add" Enum: "replace" "add" Replace or add backup schedules to devices. Pass |
Array of objects Allows you to set one or more schedules for all devices | |
required | object What should Restorepoint to when a device encounters an error taking backups. |
Array of objects List of Assetfields with device specific data (or | |
PolicyIDs required | Array of integers A list of Compliance policies' IDs that are shared across all selected devices. |
required | object Additional information common to devices. |
DeviceIDs required | Array of integers List of Device IDs to edit in bulk |
DeviceNames required | string Aggregated list of device names for display purposes |
PluginKey | string Key of Plugin used for all devices or |
PushDevices | boolean Set to true if any selected device uses a "push" type plugin |
DomainID required | integer ID of Domain. |
LabelIDs required | Array of integers A list of Labels that are shared across all selected devices. |
AgentID required | integer ID of Agent. |
Disabled required | integer Device disabled status, |
DisabledUntil required | string Timestamp of when to re-enable devices if they are disabled or |
DisabledReason required | string Reason for disabling devices |
BackupPrefix required | string Prefix for backup filenames, |
NotificationEmails required | Array of strings Notification email addresses, that are shared across all selected devices. |
required | object Notification settings |
required | object A Monitor represents a single monitor schedule and detail |
Protocol required | string Connection protocol to use. This has to be one of the returned |
Protocols | Array of strings List of supported protocols for the selected devices. Will be an empty list |
required | object Map of data fields common to all devices. Values will be either whatever is common across all devices or |
CredentialID required | integer Credentials to use across selected devices. |
BackupScheduleName | string Return a human-readable description of a schedule across all devices or |
UpdatedCount | integer Returns the amount of devices the user has permission to update |
required | object What should Restorepoint to when a device encounters an error taking backups. |
Array of objects List of Assetfields with device specific data (or | |
PolicyIDs required | Array of integers A list of Compliance policies' IDs that are shared across all selected devices. |
required | object Additional information common to devices. |
{- "DeviceIDs": [
- 123,
- 124,
- 125
], - "PluginKey": "cisco_ios",
- "DomainID": 0,
- "LabelIDs": [
- 1,
- 2,
- 3
], - "AgentID": 0,
- "Disabled": 0,
- "DisabledUntil": "2021-01-18T23:59:59.999Z",
- "DisabledReason": "string",
- "BackupPrefix": "string",
- "NotificationEmails": [
- [
- "afox@restorepoint.com",
- "asilva@restorepoint.com"
]
], - "Notifications": {
- "OnConfigChange": -1,
- "OnBackupStart": 0,
- "OnBackupEnd": 1
}, - "Monitor": {
- "Enabled": -1,
- "AlertFail": 2,
- "IsPing": 0,
- "AlertEmail": 1,
- "AlertEmailUp": -1
}, - "Protocol": "[Multiple]",
- "Data": {
- "username": "foo",
- "password": "[Multiple]"
}, - "CredentialID": -1,
- "BackupScheduleMode": "add",
- "BackupSchedules": [
- {
- "Schedule": "15 * * * *",
- "RetainVersions": 5,
- "RetainDays": 5,
- "DeleteDays": 5
}
], - "FailurePolicy": {
- "Retries": 0,
- "Action": "Disable",
- "Alerts": 0,
- "RetryInterval": 15
}, - "AssetFields": [
- {
- "ID": 123,
- "Value": "Example Location"
}
], - "PolicyIDs": [
- 1,
- 2,
- 3
], - "AdditionalInformation": {
- "InfoCommands": [
- {
- "ID": 1
}
]
}
}
{- "DeviceIDs": [
- 123,
- 124,
- 125
], - "DeviceNames": "Foo, Bar, Baz and 123 others.",
- "PluginKey": "cisco_ios",
- "PushDevices": false,
- "DomainID": 0,
- "LabelIDs": [
- 1,
- 2,
- 3
], - "AgentID": 0,
- "Disabled": 0,
- "DisabledUntil": "2021-01-18T23:59:59.999Z",
- "DisabledReason": "string",
- "BackupPrefix": "string",
- "NotificationEmails": [
- [
- "afox@restorepoint.com",
- "asilva@restorepoint.com"
]
], - "Notifications": {
- "OnConfigChange": -1,
- "OnBackupStart": 0,
- "OnBackupEnd": 1
}, - "Monitor": {
- "Enabled": -1,
- "AlertFail": 2,
- "IsPing": 0,
- "AlertEmail": 1,
- "AlertEmailUp": -1
}, - "Protocol": "[Multiple]",
- "Protocols": [
- "ssh",
- "scp"
], - "Data": {
- "username": "foo",
- "password": "[Multiple]"
}, - "CredentialID": -1,
- "BackupScheduleName": "Every hour, on the hour",
- "UpdatedCount": 135,
- "FailurePolicy": {
- "Retries": 0,
- "Action": "Disable",
- "Alerts": 0,
- "RetryInterval": 15
}, - "AssetFields": [
- {
- "ID": 123,
- "Name": "Location",
- "Type": "text",
- "Value": "Example Location"
}
], - "PolicyIDs": [
- 1,
- 2,
- 3
], - "AdditionalInformation": {
- "InfoCommands": [
- {
- "ID": 1
}
]
}
}
Allows spreading the schedule of two or more devices evenly over a given time period. This will replace all existing schedules for selected devices.
DeviceIDs required | Array of integers List of Device IDs to set the schedule for |
SpreadAcross required | string Enum: "Day" "Week" "Month" Time period to spread the selected device's schedules across. |
RetainVersions | integer Default: 10 How many different versions of backups to keep for the created schedule ( |
StartHour | integer [ 0 .. 23 ] Default: 0 Hour of the day to start the schedule from |
EndHour | integer [ 0 .. 23 ] Default: 23 Hour of the day to run the schedule to (up until the last minute of that hour) |
StartDayOfWeek | string Default: "Sunday" Enum: "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday" "Sunday" Day of the week to start schedule from (when |
EndDayOfWeek | string Default: "Saturday" Enum: "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday" "Sunday" Day of the week to run schedule to including (when |
StartDayOfMonth | integer [ 1 .. 28 ] Default: 1 Day of the month to start schedule from (when |
EndDayOfMonth | integer [ 1 .. 28 ] Default: 28 Day of the month to run schedule to including (when |
UpdatedCount | integer |
{- "DeviceIDs": [
- 123,
- 124,
- 125
], - "SpreadAcross": "Day",
- "RetainVersions": 5,
- "StartHour": 6,
- "EndHour": 12,
- "StartDayOfWeek": "Sunday",
- "EndDayOfWeek": "Saturday",
- "StartDayOfMonth": 5,
- "EndDayOfMonth": 15
}
{- "UpdatedCount": "Number of updated devices"
}
Allows creating multiple devices at once. It will create a scheduled task with the given devices and create a log entry for each device creation and one when all the devices are created.
Bulk creates given devices asynchronously.
required | Array of objects (Device) List of Device objects to create |
{- "Devices": [
- {
- "Name": "Demo device",
- "DomainID": 123,
- "LabelIDs": [
- 1,
- 2,
- 3
], - "Disabled": true,
- "DisabledUntil": "2021-01-18T23:59:59.999Z",
- "DisabledReason": "string",
- "Monitor": {
- "Enabled": true,
- "AlertFail": 2,
- "IsPing": true,
- "AlertEmail": false,
- "AlertEmailUp": true
}, - "AssetFields": [
- {
- "ID": 123,
- "Value": "Example Location"
}
], - "AdditionalInformation": {
- "InfoCommands": [
- {
- "ID": 1
}
]
}, - "PluginKey": "cisco_ios",
- "PluginFields": [
- {
- "Name": "username",
- "Value": "afox"
}
], - "PublicKey": "ssh-rsa AAAAB3N...",
- "NotificationEmails": [
- "afox@restorepoint.com",
- "asilva@restorepoint.com"
], - "Notifications": {
- "OnConfigChange": true,
- "OnBackupStart": false,
- "OnBackupEnd": false,
- "SyslogTrigger": false,
- "SuppressDuplicatedEmail": false,
- "LogTranscript": false
}, - "BackupSchedules": [
- {
- "Schedule": "15 * * * *",
- "RetainVersions": 5,
- "RetainDays": 5,
- "DeleteDays": 5,
- "ConfigTypes": [
- "startup",
- "running"
]
}
], - "ManualConfigTypes": [
- "startup",
- "running"
], - "BackupPrefix": "string",
- "Address": [
- "127.0.0.1",
- "::1",
- "restorepoint.com"
], - "AgentID": 0,
- "Protocol": "scp",
- "CredentialID": 123,
- "FailurePolicy": {
- "Retries": 0,
- "Action": "Disable",
- "Alerts": 0,
- "RetryInterval": 15
}, - "UseAutoApply": true,
- "PolicyIDs": [
- 1,
- 2,
- 3
], - "UsePublicKeyAuthentication": false,
- "Up": true
}
]
}
{- "JobUID": 0
}
Retrieve a dictionary for a given type
type required | string Enum: "device-locations" "device-manufacturers" "device-protocols" "device-serials" "device-firmwares" "device-models" "device-states" "device-owners" "domain-contacts" "domain-emails" "log-objecttypes" "log-actions" "backup-firmwareversions" "device-assetids" Dictionary identifier |
property name* | string |
{- "telnet": "Telnet",
- "ssh": "SSH",
- "scp": "SCP",
- "ftp": "FTP",
- "sftp": "SFTP",
- "tftp": "TFTP",
- "http": "HTTP",
- "https": "HTTPS",
- "ibap": "IBAP"
}
The Restorepoint device discovery engine uses a variety of methods to discover hosts on your network that can be imported into the main device list. You can also be notified by email of new devices that are installed on your network.
Note: Device discovery is not guaranteed to discover all the relevant devices on your network; firewalls or the device configuration itself may negatively affect the discovery process. Similarly, the device type may not always be detected correctly; however, when you import a device, you will be able to override the detected type.
Triggers a manual device discovery run, based on the current Discovery Settings.
Import previously discovered devices
required | Array of objects List of discovered device IDs and optional plugin overrides |
{- "data": [
- {
- "ID": 123,
- "PluginKey": "cisco_asa"
}
]
}
{- "message": "Input validation failed",
- "errors": {
- "data[0].ID": [
- "Must be set",
- "Discovered device with ID 123 not found"
], - "data[0].PluginKey": [
- "Plugin 'foo' does not exist"
]
}
}
Run discovery on already discovered devices
IDs | Array of integers IDs of already discovered devices to be re-scanned. |
{- "IDs": [
- 123,
- 124,
- 125
]
}
{- "message": "Input validation failed",
- "errors": {
- "IDs[0]": [
- "Discovered device with ID 123 not found"
]
}
}
New devices as discovered by a manual or scheduled device discovery run will appear here.
Retrieve all discovered devices. By default, ignored devices are excluded from result
fields | string Example: fields=key,name Comma separated list of fields to return in the list operation. Those will then be the only fields returned. |
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
ignored | boolean If set to true, only ignored discovered devices are fetched |
fulltext | string Only return records matching the search term. Must have at least 3 characters |
fields | Array of strings The filtered fields |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
object The search parameters used to filter items | |
Array of objects The sorting parameters used to sort items | |
Array of objects (Discovered Device) The returned items |
{- "fields": [
- "string"
], - "offset": 0,
- "limit": 50,
- "total": 0,
- "search": {
- "fulltext": "some text",
- "ignored": true
}, - "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "Hostname": "device.example.com",
- "Address": "192.0.2.123",
- "PluginKey": "cisco_ios",
- "PluginName": "Cisco IOS",
- "Ignored": true
}
]
}
Change one or more discovered device's Ignore
value
required | Array of objects List of discovered device IDs and their |
{- "data": [
- {
- "ID": 123,
- "Ignored": true
}, - {
- "ID": 124,
- "Ignored": false
}
]
}
{- "message": "Input validation failed",
- "errors": {
- "data[0].ID": [
- "Must be set",
- "Discovered device with ID 123 not found"
], - "data[0].Ignored": [
- "Must be set"
]
}
}
Domains allow you to organise devices into separate domains, and delegate their management to Domain Administrators.
A typical use is for Service Providers managing multiple customers, or large enterprises with separate teams, where it is essential to restrict the scope of administrators to a subset of network devices.
Please note: Domains are only available with an Enterprise licence.
Retrieve all domains
fields | string Example: fields=key,name Comma separated list of fields to return in the list operation. Those will then be the only fields returned. |
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
fulltext | string Only return records matching the search term. Must have at least 3 characters |
contact[] | Array of strings List of contacts to include in the results |
not[contact][] | Array of strings List of contacts to exclude from the results |
email[] | Array of strings List of emails to include in the results |
not[email][] | Array of strings List of emails to exclude from the results |
licence_expiry_before | string Timestamp to include results before the licence expiry date. |
licence_expiry_after | string Timestamp to include results after the licence expiry date. |
domain_id[] | Array of integers List of domain IDs to include in the results |
not[domain_id][] | Array of integers List of domain IDs to exclude from the results |
fields | Array of strings The filtered fields |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
object The search parameters used to filter items | |
Array of objects The sorting parameters used to sort items | |
Array of objects (Domain) The returned items |
{- "fields": [
- "string"
], - "offset": 0,
- "limit": 50,
- "total": 0,
- "search": {
- "fulltext": "some text",
- "contact": {
- "include": [
- "John Doe"
], - "exclude": [
- "John Doe"
]
}, - "email": {
- "include": [
- "test@restorepoint.com"
], - "exclude": [
- "test@restorepoint.com"
]
}, - "licence_expiry": {
- "before": "2021-01-18T23:59:59.999Z",
- "after": "2021-01-18T23:59:59.999Z"
}, - "domain_id": [
- 0
]
}, - "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "DeviceIDs": [
- 1,
- 2,
- 3
], - "DeviceCount": 123,
- "Name": "Example domain",
- "Networks": [
- "172.16.0.0/12",
- "172.17.0.0/12"
], - "NatAddress": "172.16.0.1",
- "Contact": "Anna Fox",
- "Phone": "+44 844 571 8120",
- "Email": "afox@restorepoint.com",
- "Address": "4 Tannery Ln, Send, Woking GU23 7EF",
- "Notes": "Just an example",
- "MaxDevices": 100,
- "Logo": "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==",
- "RemoveLicence": true,
- "RemoveSerial": true,
- "RemoveHelp": true,
- "UseLicence": true,
- "LicenceExpiry": "2021-05-20T00:00:00Z",
- "DisableDevices": true,
- "PreventLogin": true
}
]
}
Create a new domain
Name required | string Domain name |
Networks | Array of strings Default: [] One or more IP address ranges that are allowed for this domain (CIDR notation) |
NatAddress | string A domain-wide NAT IP address, which overrides the system-wide setting. This setting can in turn be overridden by the device-specific setting. |
Contact | string Name of the main contact for this domain |
Phone | string Contact telephone number |
string Contact email | |
Address | string Customer or Business Unit address |
Notes | string Additional information |
MaxDevices | integer Default: 0 Maximum permitted number of devices that can be added to this domain. |
Logo | string Domain specific branding as a Base64 encoded string. For optimal results, the logo should be exactly 100 pixels wide and up to 100 pixels tall, and no more than 40KB in size. |
RemoveLicence | boolean Default: false Hide the expiration date for users in this domain |
RemoveSerial | boolean Default: false Hide the appliance serial for users in this domain |
RemoveHelp | boolean Default: false Disallow access to the help for users in this domain |
UseLicence | boolean Default: false Enfoce license will expire a domain at a given date, see |
LicenceExpiry | string License expiration timestamp in RFC3339 format |
DisableDevices | boolean Default: false Stop all scheduled jobs for this domain when |
PreventLogin | boolean Default: false Disallow users of this domain from accessing the appliance when |
ID | integer Domain ID |
DeviceIDs | Array of integers A list of Device IDs to assign to this domain. Note: When retrieving a list of domains, this field will be left blank for performance reasons. |
DeviceCount | integer Default: 0 Number of devices in a domain |
Name required | string Domain name |
Networks | Array of strings Default: [] One or more IP address ranges that are allowed for this domain (CIDR notation) |
NatAddress | string A domain-wide NAT IP address, which overrides the system-wide setting. This setting can in turn be overridden by the device-specific setting. |
Contact | string Name of the main contact for this domain |
Phone | string Contact telephone number |
string Contact email | |
Address | string Customer or Business Unit address |
Notes | string Additional information |
MaxDevices | integer Default: 0 Maximum permitted number of devices that can be added to this domain. |
Logo | string Domain specific branding as a Base64 encoded string. For optimal results, the logo should be exactly 100 pixels wide and up to 100 pixels tall, and no more than 40KB in size. |
RemoveLicence | boolean Default: false Hide the expiration date for users in this domain |
RemoveSerial | boolean Default: false Hide the appliance serial for users in this domain |
RemoveHelp | boolean Default: false Disallow access to the help for users in this domain |
UseLicence | boolean Default: false Enfoce license will expire a domain at a given date, see |
LicenceExpiry | string License expiration timestamp in RFC3339 format |
DisableDevices | boolean Default: false Stop all scheduled jobs for this domain when |
PreventLogin | boolean Default: false Disallow users of this domain from accessing the appliance when |
{- "Name": "Example domain",
- "Networks": [
- "172.16.0.0/12",
- "172.17.0.0/12"
], - "NatAddress": "172.16.0.1",
- "Contact": "Anna Fox",
- "Phone": "+44 844 571 8120",
- "Email": "afox@restorepoint.com",
- "Address": "4 Tannery Ln, Send, Woking GU23 7EF",
- "Notes": "Just an example",
- "MaxDevices": 100,
- "Logo": "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==",
- "RemoveLicence": true,
- "RemoveSerial": true,
- "RemoveHelp": true,
- "UseLicence": true,
- "LicenceExpiry": "2021-05-20T00:00:00Z",
- "DisableDevices": true,
- "PreventLogin": true
}
{- "ID": 123,
- "DeviceIDs": [
- 1,
- 2,
- 3
], - "DeviceCount": 123,
- "Name": "Example domain",
- "Networks": [
- "172.16.0.0/12",
- "172.17.0.0/12"
], - "NatAddress": "172.16.0.1",
- "Contact": "Anna Fox",
- "Phone": "+44 844 571 8120",
- "Email": "afox@restorepoint.com",
- "Address": "4 Tannery Ln, Send, Woking GU23 7EF",
- "Notes": "Just an example",
- "MaxDevices": 100,
- "Logo": "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==",
- "RemoveLicence": true,
- "RemoveSerial": true,
- "RemoveHelp": true,
- "UseLicence": true,
- "LicenceExpiry": "2021-05-20T00:00:00Z",
- "DisableDevices": true,
- "PreventLogin": true
}
Retrieve a single domain
id required | integer Domain ID |
ID | integer Domain ID |
DeviceIDs | Array of integers A list of Device IDs to assign to this domain. Note: When retrieving a list of domains, this field will be left blank for performance reasons. |
DeviceCount | integer Default: 0 Number of devices in a domain |
Name required | string Domain name |
Networks | Array of strings Default: [] One or more IP address ranges that are allowed for this domain (CIDR notation) |
NatAddress | string A domain-wide NAT IP address, which overrides the system-wide setting. This setting can in turn be overridden by the device-specific setting. |
Contact | string Name of the main contact for this domain |
Phone | string Contact telephone number |
string Contact email | |
Address | string Customer or Business Unit address |
Notes | string Additional information |
MaxDevices | integer Default: 0 Maximum permitted number of devices that can be added to this domain. |
Logo | string Domain specific branding as a Base64 encoded string. For optimal results, the logo should be exactly 100 pixels wide and up to 100 pixels tall, and no more than 40KB in size. |
RemoveLicence | boolean Default: false Hide the expiration date for users in this domain |
RemoveSerial | boolean Default: false Hide the appliance serial for users in this domain |
RemoveHelp | boolean Default: false Disallow access to the help for users in this domain |
UseLicence | boolean Default: false Enfoce license will expire a domain at a given date, see |
LicenceExpiry | string License expiration timestamp in RFC3339 format |
DisableDevices | boolean Default: false Stop all scheduled jobs for this domain when |
PreventLogin | boolean Default: false Disallow users of this domain from accessing the appliance when |
{- "ID": 123,
- "DeviceIDs": [
- 1,
- 2,
- 3
], - "DeviceCount": 123,
- "Name": "Example domain",
- "Networks": [
- "172.16.0.0/12",
- "172.17.0.0/12"
], - "NatAddress": "172.16.0.1",
- "Contact": "Anna Fox",
- "Phone": "+44 844 571 8120",
- "Email": "afox@restorepoint.com",
- "Address": "4 Tannery Ln, Send, Woking GU23 7EF",
- "Notes": "Just an example",
- "MaxDevices": 100,
- "Logo": "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==",
- "RemoveLicence": true,
- "RemoveSerial": true,
- "RemoveHelp": true,
- "UseLicence": true,
- "LicenceExpiry": "2021-05-20T00:00:00Z",
- "DisableDevices": true,
- "PreventLogin": true
}
Update a domain
id required | integer Domain ID |
Name required | string Domain name |
Networks | Array of strings Default: [] One or more IP address ranges that are allowed for this domain (CIDR notation) |
NatAddress | string A domain-wide NAT IP address, which overrides the system-wide setting. This setting can in turn be overridden by the device-specific setting. |
Contact | string Name of the main contact for this domain |
Phone | string Contact telephone number |
string Contact email | |
Address | string Customer or Business Unit address |
Notes | string Additional information |
MaxDevices | integer Default: 0 Maximum permitted number of devices that can be added to this domain. |
Logo | string Domain specific branding as a Base64 encoded string. For optimal results, the logo should be exactly 100 pixels wide and up to 100 pixels tall, and no more than 40KB in size. |
RemoveLicence | boolean Default: false Hide the expiration date for users in this domain |
RemoveSerial | boolean Default: false Hide the appliance serial for users in this domain |
RemoveHelp | boolean Default: false Disallow access to the help for users in this domain |
UseLicence | boolean Default: false Enfoce license will expire a domain at a given date, see |
LicenceExpiry | string License expiration timestamp in RFC3339 format |
DisableDevices | boolean Default: false Stop all scheduled jobs for this domain when |
PreventLogin | boolean Default: false Disallow users of this domain from accessing the appliance when |
ID | integer Domain ID |
DeviceIDs | Array of integers A list of Device IDs to assign to this domain. Note: When retrieving a list of domains, this field will be left blank for performance reasons. |
DeviceCount | integer Default: 0 Number of devices in a domain |
Name required | string Domain name |
Networks | Array of strings Default: [] One or more IP address ranges that are allowed for this domain (CIDR notation) |
NatAddress | string A domain-wide NAT IP address, which overrides the system-wide setting. This setting can in turn be overridden by the device-specific setting. |
Contact | string Name of the main contact for this domain |
Phone | string Contact telephone number |
string Contact email | |
Address | string Customer or Business Unit address |
Notes | string Additional information |
MaxDevices | integer Default: 0 Maximum permitted number of devices that can be added to this domain. |
Logo | string Domain specific branding as a Base64 encoded string. For optimal results, the logo should be exactly 100 pixels wide and up to 100 pixels tall, and no more than 40KB in size. |
RemoveLicence | boolean Default: false Hide the expiration date for users in this domain |
RemoveSerial | boolean Default: false Hide the appliance serial for users in this domain |
RemoveHelp | boolean Default: false Disallow access to the help for users in this domain |
UseLicence | boolean Default: false Enfoce license will expire a domain at a given date, see |
LicenceExpiry | string License expiration timestamp in RFC3339 format |
DisableDevices | boolean Default: false Stop all scheduled jobs for this domain when |
PreventLogin | boolean Default: false Disallow users of this domain from accessing the appliance when |
{- "Name": "Example domain",
- "Networks": [
- "172.16.0.0/12",
- "172.17.0.0/12"
], - "NatAddress": "172.16.0.1",
- "Contact": "Anna Fox",
- "Phone": "+44 844 571 8120",
- "Email": "afox@restorepoint.com",
- "Address": "4 Tannery Ln, Send, Woking GU23 7EF",
- "Notes": "Just an example",
- "MaxDevices": 100,
- "Logo": "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==",
- "RemoveLicence": true,
- "RemoveSerial": true,
- "RemoveHelp": true,
- "UseLicence": true,
- "LicenceExpiry": "2021-05-20T00:00:00Z",
- "DisableDevices": true,
- "PreventLogin": true
}
{- "ID": 123,
- "DeviceIDs": [
- 1,
- 2,
- 3
], - "DeviceCount": 123,
- "Name": "Example domain",
- "Networks": [
- "172.16.0.0/12",
- "172.17.0.0/12"
], - "NatAddress": "172.16.0.1",
- "Contact": "Anna Fox",
- "Phone": "+44 844 571 8120",
- "Email": "afox@restorepoint.com",
- "Address": "4 Tannery Ln, Send, Woking GU23 7EF",
- "Notes": "Just an example",
- "MaxDevices": 100,
- "Logo": "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==",
- "RemoveLicence": true,
- "RemoveSerial": true,
- "RemoveHelp": true,
- "UseLicence": true,
- "LicenceExpiry": "2021-05-20T00:00:00Z",
- "DisableDevices": true,
- "PreventLogin": true
}
Download a file for a given identifier
id required | string Example: 542e5156-5fc0-4d6e-a16f-173a4b27e22c Download ID |
File contents.
{- "message": "Download does not exist",
- "errors": {
- "Type": [
- "Download '542e5156-5fc0-4d6e-a16f-173a4b27e22c' does not exist"
]
}
}
Allows you to export device configurations, logs and settings for multiple devices or domains.
Create an new export
DeviceIDs | Array of integers List of Device IDs to export. Either |
DomainIDs | Array of integers List of Domain IDs to export. Either |
Configurations required | string Enum: "None" "MostRecent" "All" Which device configurations to export |
IncludeLogs | boolean Default: false Include device logs in the export |
IncludeData | boolean Default: false Include device data in the export |
Format | string Default: "TGZ" Enum: "TGZ" "ZIP" "IndividualFiles" File format for the export. |
Method | string Default: "download" Enum: "download" "server" Delivery method of how to transfer the backup to the requestor. |
ChunkSize required | integer Chunk size for exported data in bytes |
FileServerID | integer ID of a Fileserver to use for the export |
Content-Disposition | string Example: "attachment; filename=\"data.zip\"" |
DeviceIDs | Array of integers List of exported Device IDs |
DomainIDs | Array of integers List of exported Domain IDs |
FileServerID | integer ID of a Fileserver that was used for exporting |
DownloadURL | string URL to download the exported firmware(s) from |
{- "DeviceIDs": [
- 1
], - "Configurations": "All",
- "Format": "TGZ",
- "Method": "download",
- "ChunkSize": 256000000
}
{- "DeviceIDs": [
- 1,
- 2,
- 3
], - "DomainIDs": [
- 1,
- 2,
- 3
], - "FileServerID": 123,
- "DownloadURL": "/downloads/90404db7-a6a4-4601-b1fa-9e7df327b984"
}
Automatically export device configurations to a specified file server.
Please do not mistake this for the device policy export endpoint.
Retrieve all policies
fields | string Example: fields=key,name Comma separated list of fields to return in the list operation. Those will then be the only fields returned. |
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
search | string TODO |
fields | Array of strings The filtered fields |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
search | string The search parameters used to filter items |
Array of objects The sorting parameters used to sort items | |
Array of objects (Policy) The returned items |
{- "fields": [
- "string"
], - "offset": 0,
- "limit": 50,
- "total": 0,
- "search": "string",
- "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "FileserverID": 123,
- "FileserverName": "NAS123",
- "DeviceIDs": [
- 123,
- 124,
- 125
], - "DomainIDs": [ ],
- "Summary": "All devices",
- "Mode": "AllDevices",
- "Policy": "Always",
- "GPGPassphrase": "Sunnybreeze123",
- "UseRetentionPolicy": false,
- "IncludeDeviceName": false,
- "IncludeDomainName": false,
- "Disabled": false
}
]
}
Create a new policy
FileserverID required | integer ID of the Fileserver to use for exports |
DeviceIDs | Array of integers List of Device IDs to export. Either |
DomainIDs | Array of integers List of Domain IDs to export. Either |
Mode required | string Default: "AllDevices" Enum: "AllDevices" "Devices" "Domains" What to export. Can be |
Policy | string Default: "Always" Enum: "Always" "NewVersions" "BeforeDeletion" Select when to automatically export configurations to your external server. |
GPGPassphrase | string Passphrase that will be used to encrypt exported backups with GPG. If not passed, encryption will be disabled. |
UseRetentionPolicy | boolean Default: false If true, exported backups will be deleted if retention policy is expired |
IncludeDeviceName | |
IncludeDomainName | |
Disabled | boolean Default: false Disables an export policy |
ID | integer Export policy ID |
FileserverID required | integer ID of the Fileserver to use for exports |
FileserverName | string Name of the Fileserver to use for exports |
DeviceIDs | Array of integers List of Device IDs to export. Either |
DomainIDs | Array of integers List of Domain IDs to export. Either |
Summary | string A summary of what a policy contains for display purposes, either "All devices", a list of device names or domain names |
Mode required | string Default: "AllDevices" Enum: "AllDevices" "Devices" "Domains" What to export. Can be |
Policy | string Default: "Always" Enum: "Always" "NewVersions" "BeforeDeletion" Select when to automatically export configurations to your external server. |
GPGPassphrase | string Passphrase that will be used to encrypt exported backups with GPG. If not passed, encryption will be disabled. |
UseRetentionPolicy | boolean Default: false If true, exported backups will be deleted if retention policy is expired |
IncludeDeviceName | |
IncludeDomainName | |
Disabled | boolean Default: false Disables an export policy |
{- "FileserverID": 123,
- "DeviceIDs": [
- 123,
- 124,
- 125
], - "DomainIDs": [ ],
- "Mode": "AllDevices",
- "Policy": "Always",
- "GPGPassphrase": "Sunnybreeze123",
- "UseRetentionPolicy": false,
- "IncludeDeviceName": false,
- "IncludeDomainName": false,
- "Disabled": false
}
{- "ID": 123,
- "FileserverID": 123,
- "FileserverName": "NAS123",
- "DeviceIDs": [
- 123,
- 124,
- 125
], - "DomainIDs": [ ],
- "Summary": "All devices",
- "Mode": "AllDevices",
- "Policy": "Always",
- "GPGPassphrase": "Sunnybreeze123",
- "UseRetentionPolicy": false,
- "IncludeDeviceName": false,
- "IncludeDomainName": false,
- "Disabled": false
}
Retrieve a single policy
id required | integer Policy ID |
ID | integer Export policy ID |
FileserverID required | integer ID of the Fileserver to use for exports |
FileserverName | string Name of the Fileserver to use for exports |
DeviceIDs | Array of integers List of Device IDs to export. Either |
DomainIDs | Array of integers List of Domain IDs to export. Either |
Summary | string A summary of what a policy contains for display purposes, either "All devices", a list of device names or domain names |
Mode required | string Default: "AllDevices" Enum: "AllDevices" "Devices" "Domains" What to export. Can be |
Policy | string Default: "Always" Enum: "Always" "NewVersions" "BeforeDeletion" Select when to automatically export configurations to your external server. |
GPGPassphrase | string Passphrase that will be used to encrypt exported backups with GPG. If not passed, encryption will be disabled. |
UseRetentionPolicy | boolean Default: false If true, exported backups will be deleted if retention policy is expired |
IncludeDeviceName | |
IncludeDomainName | |
Disabled | boolean Default: false Disables an export policy |
{- "ID": 123,
- "FileserverID": 123,
- "FileserverName": "NAS123",
- "DeviceIDs": [
- 123,
- 124,
- 125
], - "DomainIDs": [ ],
- "Summary": "All devices",
- "Mode": "AllDevices",
- "Policy": "Always",
- "GPGPassphrase": "Sunnybreeze123",
- "UseRetentionPolicy": false,
- "IncludeDeviceName": false,
- "IncludeDomainName": false,
- "Disabled": false
}
Update a policy
id required | integer Policy ID |
FileserverID required | integer ID of the Fileserver to use for exports |
DeviceIDs | Array of integers List of Device IDs to export. Either |
DomainIDs | Array of integers List of Domain IDs to export. Either |
Mode required | string Default: "AllDevices" Enum: "AllDevices" "Devices" "Domains" What to export. Can be |
Policy | string Default: "Always" Enum: "Always" "NewVersions" "BeforeDeletion" Select when to automatically export configurations to your external server. |
GPGPassphrase | string Passphrase that will be used to encrypt exported backups with GPG. If not passed, encryption will be disabled. |
UseRetentionPolicy | boolean Default: false If true, exported backups will be deleted if retention policy is expired |
IncludeDeviceName | |
IncludeDomainName | |
Disabled | boolean Default: false Disables an export policy |
ID | integer Export policy ID |
FileserverID required | integer ID of the Fileserver to use for exports |
FileserverName | string Name of the Fileserver to use for exports |
DeviceIDs | Array of integers List of Device IDs to export. Either |
DomainIDs | Array of integers List of Domain IDs to export. Either |
Summary | string A summary of what a policy contains for display purposes, either "All devices", a list of device names or domain names |
Mode required | string Default: "AllDevices" Enum: "AllDevices" "Devices" "Domains" What to export. Can be |
Policy | string Default: "Always" Enum: "Always" "NewVersions" "BeforeDeletion" Select when to automatically export configurations to your external server. |
GPGPassphrase | string Passphrase that will be used to encrypt exported backups with GPG. If not passed, encryption will be disabled. |
UseRetentionPolicy | boolean Default: false If true, exported backups will be deleted if retention policy is expired |
IncludeDeviceName | |
IncludeDomainName | |
Disabled | boolean Default: false Disables an export policy |
{- "FileserverID": 123,
- "DeviceIDs": [
- 123,
- 124,
- 125
], - "DomainIDs": [ ],
- "Mode": "AllDevices",
- "Policy": "Always",
- "GPGPassphrase": "Sunnybreeze123",
- "UseRetentionPolicy": false,
- "IncludeDeviceName": false,
- "IncludeDomainName": false,
- "Disabled": false
}
{- "ID": 123,
- "FileserverID": 123,
- "FileserverName": "NAS123",
- "DeviceIDs": [
- 123,
- 124,
- 125
], - "DomainIDs": [ ],
- "Summary": "All devices",
- "Mode": "AllDevices",
- "Policy": "Always",
- "GPGPassphrase": "Sunnybreeze123",
- "UseRetentionPolicy": false,
- "IncludeDeviceName": false,
- "IncludeDomainName": false,
- "Disabled": false
}
A file server represents a remote storage location that can be used for archiving Restorepoint, exporting backups and automated exports.
Restorepoint uses smbmount for CIFS. You can specify an optional
CifsVersion
parameter to set the version corresponding to the file server you are trying to connect to:
3.0
is SMB3 i.e. Windows 8, Windows Server 20122.1
is SMB2_10 i.e. Windows 7, Windows Server 2008 R22.0
is SMB2_02 i.e. Vista SP1, Windows Server 20081.0
is NT1 i.e. Windows 95, NT 4.0Retrieve all fileservers
fields | string Example: fields=key,name Comma separated list of fields to return in the list operation. Those will then be the only fields returned. |
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
search | string TODO |
fields | Array of strings The filtered fields |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
search | string The search parameters used to filter items |
Array of objects The sorting parameters used to sort items | |
Array of objects (Fileserver) The returned items |
{- "fields": [
- "string"
], - "offset": 0,
- "limit": 50,
- "total": 0,
- "search": "string",
- "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "Name": "NAS123",
- "Method": "SFTP",
- "Location": "example.com",
- "Path": "/foo/bar",
- "Username": "user123",
- "Password": "Sunbreeze123",
- "UsePublicKeyAuthentication": false,
- "PublicKeyAuthenticationType": "RSA/DSA",
- "CifsVersion": "3.0",
- "Bucket": "my-bucket.s3.us-west-2.amazonaws.com"
}
]
}
Create a new fileserver
Name required | string Fileserver name |
Method required | string Enum: "FTP" "SFTP" "SCP" "CIFS" "S3" "Azure" Connection method |
Location | string Server's hostname or address. For S3 type connections, pass the AWS region. |
Path | string Path on remote server |
Username | string Name of user for FTP/SFTP/SCP type connection. Doubles as access key ID for AWS and storage account name for Azure Blob Storage |
Password | string Password of remote server user. Doubles as secret access key for AWS |
UsePublicKeyAuthentication | boolean Default: false Use public key for authenticating connections over SFTP/SCP. See Settings/PublicKey how to retrieve those for your appliance. |
PublicKeyAuthenticationType | string Default: "RSA/DSA" Enum: "RSA/DSA" "RSA" "DSA" Which public key to use to authenticate, defaults to trying both RSA/DSA |
CifsVersion | string Which version of CIFS to use when attempting to mount a CIFS share. See explanation on CIFS version |
Bucket | string For Amazon S3 this corresponds to the Bucket. For Azure it is the Container. |
ID | integer Fileserver ID |
Name required | string Fileserver name |
Method required | string Enum: "FTP" "SFTP" "SCP" "CIFS" "S3" "Azure" Connection method |
Location | string Server's hostname or address. For S3 type connections, pass the AWS region. |
Path | string Path on remote server |
Username | string Name of user for FTP/SFTP/SCP type connection. Doubles as access key ID for AWS and storage account name for Azure Blob Storage |
Password | string Password of remote server user. Doubles as secret access key for AWS |
UsePublicKeyAuthentication | boolean Default: false Use public key for authenticating connections over SFTP/SCP. See Settings/PublicKey how to retrieve those for your appliance. |
PublicKeyAuthenticationType | string Default: "RSA/DSA" Enum: "RSA/DSA" "RSA" "DSA" Which public key to use to authenticate, defaults to trying both RSA/DSA |
CifsVersion | string Which version of CIFS to use when attempting to mount a CIFS share. See explanation on CIFS version |
Bucket | string For Amazon S3 this corresponds to the Bucket. For Azure it is the Container. |
{- "Name": "ftp example",
- "Method": "FTP",
- "Location": "ftp.example.com",
- "Username": "transfer",
- "Password": "Sunbreeze123",
- "Path": "/var/ftp/foo/bar"
}
{- "ID": 123,
- "Name": "NAS123",
- "Method": "SFTP",
- "Location": "example.com",
- "Path": "/foo/bar",
- "Username": "user123",
- "Password": "Sunbreeze123",
- "UsePublicKeyAuthentication": false,
- "PublicKeyAuthenticationType": "RSA/DSA",
- "CifsVersion": "3.0",
- "Bucket": "my-bucket.s3.us-west-2.amazonaws.com"
}
Retrieve a single fileserver
id required | integer Fileserver ID |
ID | integer Fileserver ID |
Name required | string Fileserver name |
Method required | string Enum: "FTP" "SFTP" "SCP" "CIFS" "S3" "Azure" Connection method |
Location | string Server's hostname or address. For S3 type connections, pass the AWS region. |
Path | string Path on remote server |
Username | string Name of user for FTP/SFTP/SCP type connection. Doubles as access key ID for AWS and storage account name for Azure Blob Storage |
Password | string Password of remote server user. Doubles as secret access key for AWS |
UsePublicKeyAuthentication | boolean Default: false Use public key for authenticating connections over SFTP/SCP. See Settings/PublicKey how to retrieve those for your appliance. |
PublicKeyAuthenticationType | string Default: "RSA/DSA" Enum: "RSA/DSA" "RSA" "DSA" Which public key to use to authenticate, defaults to trying both RSA/DSA |
CifsVersion | string Which version of CIFS to use when attempting to mount a CIFS share. See explanation on CIFS version |
Bucket | string For Amazon S3 this corresponds to the Bucket. For Azure it is the Container. |
{- "ID": 123,
- "Name": "NAS123",
- "Method": "SFTP",
- "Location": "example.com",
- "Path": "/foo/bar",
- "Username": "user123",
- "Password": "Sunbreeze123",
- "UsePublicKeyAuthentication": false,
- "PublicKeyAuthenticationType": "RSA/DSA",
- "CifsVersion": "3.0",
- "Bucket": "my-bucket.s3.us-west-2.amazonaws.com"
}
Update a fileserver
id required | integer Fileserver ID |
Name required | string Fileserver name |
Method required | string Enum: "FTP" "SFTP" "SCP" "CIFS" "S3" "Azure" Connection method |
Location | string Server's hostname or address. For S3 type connections, pass the AWS region. |
Path | string Path on remote server |
Username | string Name of user for FTP/SFTP/SCP type connection. Doubles as access key ID for AWS and storage account name for Azure Blob Storage |
Password | string Password of remote server user. Doubles as secret access key for AWS |
UsePublicKeyAuthentication | boolean Default: false Use public key for authenticating connections over SFTP/SCP. See Settings/PublicKey how to retrieve those for your appliance. |
PublicKeyAuthenticationType | string Default: "RSA/DSA" Enum: "RSA/DSA" "RSA" "DSA" Which public key to use to authenticate, defaults to trying both RSA/DSA |
CifsVersion | string Which version of CIFS to use when attempting to mount a CIFS share. See explanation on CIFS version |
Bucket | string For Amazon S3 this corresponds to the Bucket. For Azure it is the Container. |
ID | integer Fileserver ID |
Name required | string Fileserver name |
Method required | string Enum: "FTP" "SFTP" "SCP" "CIFS" "S3" "Azure" Connection method |
Location | string Server's hostname or address. For S3 type connections, pass the AWS region. |
Path | string Path on remote server |
Username | string Name of user for FTP/SFTP/SCP type connection. Doubles as access key ID for AWS and storage account name for Azure Blob Storage |
Password | string Password of remote server user. Doubles as secret access key for AWS |
UsePublicKeyAuthentication | boolean Default: false Use public key for authenticating connections over SFTP/SCP. See Settings/PublicKey how to retrieve those for your appliance. |
PublicKeyAuthenticationType | string Default: "RSA/DSA" Enum: "RSA/DSA" "RSA" "DSA" Which public key to use to authenticate, defaults to trying both RSA/DSA |
CifsVersion | string Which version of CIFS to use when attempting to mount a CIFS share. See explanation on CIFS version |
Bucket | string For Amazon S3 this corresponds to the Bucket. For Azure it is the Container. |
{- "Name": "NAS123",
- "Method": "SFTP",
- "Location": "example.com",
- "Path": "/foo/bar",
- "Username": "user123",
- "Password": "Sunbreeze123",
- "UsePublicKeyAuthentication": false,
- "PublicKeyAuthenticationType": "RSA/DSA",
- "CifsVersion": "3.0",
- "Bucket": "my-bucket.s3.us-west-2.amazonaws.com"
}
{- "ID": 123,
- "Name": "NAS123",
- "Method": "SFTP",
- "Location": "example.com",
- "Path": "/foo/bar",
- "Username": "user123",
- "Password": "Sunbreeze123",
- "UsePublicKeyAuthentication": false,
- "PublicKeyAuthenticationType": "RSA/DSA",
- "CifsVersion": "3.0",
- "Bucket": "my-bucket.s3.us-west-2.amazonaws.com"
}
Test a fileserver for connectivity and ability to push files.
Name required | string Fileserver name |
Method required | string Enum: "FTP" "SFTP" "SCP" "CIFS" "S3" "Azure" Connection method |
Location | string Server's hostname or address. For S3 type connections, pass the AWS region. |
Path | string Path on remote server |
Username | string Name of user for FTP/SFTP/SCP type connection. Doubles as access key ID for AWS and storage account name for Azure Blob Storage |
Password | string Password of remote server user. Doubles as secret access key for AWS |
UsePublicKeyAuthentication | boolean Default: false Use public key for authenticating connections over SFTP/SCP. See Settings/PublicKey how to retrieve those for your appliance. |
PublicKeyAuthenticationType | string Default: "RSA/DSA" Enum: "RSA/DSA" "RSA" "DSA" Which public key to use to authenticate, defaults to trying both RSA/DSA |
CifsVersion | string Which version of CIFS to use when attempting to mount a CIFS share. See explanation on CIFS version |
Bucket | string For Amazon S3 this corresponds to the Bucket. For Azure it is the Container. |
null
{- "message": "Input validation failed",
- "errors": {
- "Name": [
- "Must not be blank"
], - "Method": [
- "Must not be blank",
- "Must be one of allowed methods"
], - "Location": [
- "Must not be blank"
], - "PublicKeyAuthenticationType": [
- "Must be one of 'RSA/DSA', 'RSA' or 'DSA'"
], - "Bucket": [
- "Must not be blank if Methos is 'S3'"
]
}
}
Restorepoint can act as a repository for device firmware/software, allowing you to upload files like firmware images and ISO images to the appliance. Software images can also be pushed to supported devices.
Retrieve all firmware metadata
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
uploaded_after | string Example: uploaded_after=2020-01-02T15:04:05.999Z Timestamp (UTC) to include results after the uploaded date. |
uploaded_before | string Example: uploaded_before=2023-01-02T15:04:05.999Z Timestamp (UTC) to include results before the uploaded date. |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
object The search parameters used to filter items | |
Array of objects The sorting parameters used to sort items | |
Array of objects (Firmware) The returned items |
{- "offset": 0,
- "limit": 50,
- "total": 0,
- "search": {
- "fulltext": "some text",
- "uploaded_after": "2020-01-02T15:04:05.999Z",
- "uploaded_before": "2023-01-02T15:04:05.999Z"
}, - "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "Description": "Catalyst 6500 Series / 7600 Series ASA Services Module",
- "PluginKey": "cisco_ios",
- "PluginName": "Cisco IOS",
- "Filename": "fwsm_migration_mac-1.0.18.zip",
- "Size": 1024,
- "Uploaded": "2222-02-22T22:22:22.000Z",
- "MD5": "9cad0367c675eb1473fa492f05c0b718"
}
]
}
Upload a firmware image
PluginKey | string Key of the Plugin that corresponds to the device type of the firmware being uploaded |
Description | string A description of or notes aboue the firmware being uploaded |
File required | string <binary> The actual file |
ID | integer Firmware ID |
Description | string A description of or notes aboue the firmware being uploaded |
PluginKey | string A Plugin identifier for the device type that this firmware is restricted to. If left blank, an image can be appliad to any device which can have unintended side effects |
PluginName | string User friendly name of the plugin this firmware image is restricted to |
Filename required | string Filename of the uploaded file |
Size | integer Size of the firmware in bytes |
Uploaded | string Timestamp in RFC3339 format when the firmware was uploaded |
MD5 | string MD5 hash of the uploaded file |
{- "ID": 123,
- "Description": "Catalyst 6500 Series / 7600 Series ASA Services Module",
- "PluginKey": "cisco_ios",
- "PluginName": "Cisco IOS",
- "Filename": "fwsm_migration_mac-1.0.18.zip",
- "Size": 1024,
- "Uploaded": "2222-02-22T22:22:22.000Z",
- "MD5": "9cad0367c675eb1473fa492f05c0b718"
}
Get metadata for a firmware image
id required | integer Firmware ID |
ID | integer Firmware ID |
Description | string A description of or notes aboue the firmware being uploaded |
PluginKey | string A Plugin identifier for the device type that this firmware is restricted to. If left blank, an image can be appliad to any device which can have unintended side effects |
PluginName | string User friendly name of the plugin this firmware image is restricted to |
Filename required | string Filename of the uploaded file |
Size | integer Size of the firmware in bytes |
Uploaded | string Timestamp in RFC3339 format when the firmware was uploaded |
MD5 | string MD5 hash of the uploaded file |
{- "ID": 123,
- "Description": "Catalyst 6500 Series / 7600 Series ASA Services Module",
- "PluginKey": "cisco_ios",
- "PluginName": "Cisco IOS",
- "Filename": "fwsm_migration_mac-1.0.18.zip",
- "Size": 1024,
- "Uploaded": "2222-02-22T22:22:22.000Z",
- "MD5": "9cad0367c675eb1473fa492f05c0b718"
}
Update metadata for a firmware image
id required | integer Firmware ID |
Description | string A description of or notes aboue the firmware being uploaded |
PluginKey | string A Plugin identifier for the device type that this firmware is restricted to. If left blank, an image can be appliad to any device which can have unintended side effects |
Filename required | string Filename of the uploaded file |
ID | integer Firmware ID |
Description | string A description of or notes aboue the firmware being uploaded |
PluginKey | string A Plugin identifier for the device type that this firmware is restricted to. If left blank, an image can be appliad to any device which can have unintended side effects |
PluginName | string User friendly name of the plugin this firmware image is restricted to |
Filename required | string Filename of the uploaded file |
Size | integer Size of the firmware in bytes |
Uploaded | string Timestamp in RFC3339 format when the firmware was uploaded |
MD5 | string MD5 hash of the uploaded file |
{- "Description": "Catalyst 6500 Series / 7600 Series ASA Services Module",
- "PluginKey": "cisco_ios",
- "Filename": "fwsm_migration_mac-1.0.18.zip"
}
{- "ID": 123,
- "Description": "Catalyst 6500 Series / 7600 Series ASA Services Module",
- "PluginKey": "cisco_ios",
- "PluginName": "Cisco IOS",
- "Filename": "fwsm_migration_mac-1.0.18.zip",
- "Size": 1024,
- "Uploaded": "2222-02-22T22:22:22.000Z",
- "MD5": "9cad0367c675eb1473fa492f05c0b718"
}
Push firmware to one or more devices. A device plugin needs to expose an upgrade
function
to support pushing firmware updates.
Note: Restorepoint allows you to push firmware that is not restricted to a plugin/device type to ALL devices. This can have unintended consequences.
id required | integer Firmware ID |
DeviceIDs required | Array of integers A list of Device IDs to push this firmware to. |
{- "DeviceIDs": [
- 1,
- 2,
- 3
]
}
{- "message": "Input validation failed",
- "errors": {
- "DeviceIDs": [
- "Must not be blank"
], - "DeviceIDs[0]": [
- "Device with ID 123 does not exist"
]
}
}
Export one or more firmware images
FirmwareIDs required | Array of integers List of Firmware IDs to export |
Method | string Default: "download" Enum: "download" "email" "server" Delivery method of how to transfer the firmware to the requestor. |
EmailAddress | string Email address that an exported firmware will be sent to. Requires |
FileServerID | integer ID of a Fileserver to use for the export |
FirmwareIDs | Array of integers List of exported Firmware IDs |
Array of objects Details for firmware files to download | |
EmailAddress | string Email address that an exported firmware was sent to if |
FileServerID | integer ID of a Fileserver that was used for exporting |
{- "FirmwareIDs": [
- 1
], - "Method": "download"
}
{- "FirmwareIDs": [
- 1,
- 2,
- 3
], - "DownloadFiles": [
- {
- "FirmwareID": 1,
- "Filename": "firmware.bin",
- "DownloadID": "90404db7-a6a4-4601-b1fa-9e7df327b984"
}
], - "EmailAddress": "afox@restorepoint.com",
- "FileServerID": 123
}
Jobs represent a running task in Restorepoint, such as a running device backup, command or creating an archive of Restorepoint.
Normally, a job transitions from:
Pending
-> Running
-> Done
Once a job is done, it will stay visible for an additional 5 seconds.
Retrieve all currently running jobs
fields | string Example: fields=key,name Comma separated list of fields to return in the list operation. Those will then be the only fields returned. |
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
search | string TODO |
fields | Array of strings The filtered fields |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
search | string The search parameters used to filter items |
Array of objects The sorting parameters used to sort items | |
Array of objects (Job) The returned items |
{- "fields": [
- "string"
], - "offset": 0,
- "limit": 50,
- "total": 0,
- "search": "string",
- "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "Type": "Backup",
- "Description": "Backup CiscoFW1",
- "DeviceID": 123,
- "DeviceName": "CiscoFW1",
- "Progress": 75,
- "User": "system",
- "Created": "2222-02-22T22:22:22.000Z",
- "Updated": "2222-02-22T22:22:22.000Z",
- "Duration": 5577006791,
- "Status": "Paused",
- "Messages": [
- "Connecting to device...",
- "SSH Login",
- "Prompt: #",
- "cat /etc/os-release"
]
}
]
}
Retrieve details for a single job
id required | integer Job ID |
ID required | integer Job ID |
Type | string The type of the running job |
Description | string A short summary what the job is about |
DeviceID | |
DeviceName | string Name of the device a job relates to (if at all) |
Progress required | integer Completion percentage of the job |
User | string Default: "system" User that initiated a job. Scheduled jobs will appear as initiated by |
Created | string Timestamp in RFC3339 format when job was created |
Updated | string Timestamp in RFC3339 format when job was last updated |
Duration | integer The time elapsed since the job was created, in nanoseconds. |
Status | string Enum: "Pending" "Running" "Paused" "Error" "Stopped" "Done" A job's status |
Messages | Array of strings The messages generated whilst job has been running. Messages appear in the order in which they occur during the job run. |
{- "ID": 123,
- "Type": "Backup",
- "Description": "Backup CiscoFW1",
- "DeviceID": 123,
- "DeviceName": "CiscoFW1",
- "Progress": 75,
- "User": "system",
- "Created": "2222-02-22T22:22:22.000Z",
- "Updated": "2222-02-22T22:22:22.000Z",
- "Duration": 5577006791,
- "Status": "Paused",
- "Messages": [
- "Connecting to device...",
- "SSH Login",
- "Prompt: #",
- "cat /etc/os-release"
]
}
Labels are a way of attaching meta information to devices. They allow for arbitrary grouping and selection of devices that can go beyond the use of device specific information fields. They help you organize and tag your devices so you can track and find the devices for a given task or operation.
You can define an unlimited number of labels and assign as many labels to a device as you like. You can use colours to distinguish labels and use that as a way to differentiate between process, state or some other secondary categorisation.
You could use Lab
, Dev
, PreProd
, Prod
to denote device deployment state.
You could define a TODO
label to mark devices that need manual checking at a later date.
You could attach a Primary
and Secondary
labels to devices in high availibility scenarios
where your organisation might have standby devices.
Retrieve all labels
fields | string Example: fields=key,name Comma separated list of fields to return in the list operation. Those will then be the only fields returned. |
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
filter_op | string Enum: "and" "or" Filter operation to use, either "and" or "or" |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
fulltext | string Only return records matching the search term. Must have at least 3 characters |
domain_id[] | Array of integers List of domain IDs to include in the results |
fields | Array of strings The filtered fields |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
object The search parameters used to filter items | |
filter_op | string Enum: "and" "or" Filter operation to use |
Array of objects The sorting parameters used to sort items | |
Array of objects (Label) The returned items |
{- "fields": [
- "string"
], - "offset": 0,
- "limit": 50,
- "total": 0,
- "search": {
- "fulltext": "some text",
- "domain_id": [
- 0
]
}, - "filter_op": [
- "or"
], - "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "Name": "TODO",
- "Description": "Device that needs checking",
- "Colour": "#FFAABB",
- "DomainID": 123,
- "DomainName": 123
}
]
}
Create a new label
Name required | string The name of the label. This has to be unique across all labels (case-insensitive). |
Description | string The description of the label |
Colour required | string The color of the label given in 6-digit hex notation with leading |
DomainID |
ID | integer Label ID |
Name required | string The name of the label. This has to be unique across all labels (case-insensitive). |
Description | string The description of the label |
Colour required | string The color of the label given in 6-digit hex notation with leading |
DomainID | |
DomainName |
{- "Name": "TODO",
- "Description": "Device that needs checking",
- "Colour": "#FFAABB",
- "DomainID": 123
}
{- "ID": 123,
- "Name": "TODO",
- "Description": "Device that needs checking",
- "Colour": "#FFAABB",
- "DomainID": 123,
- "DomainName": 123
}
Retrieve a single label
id required | integer Label ID |
ID | integer Label ID |
Name required | string The name of the label. This has to be unique across all labels (case-insensitive). |
Description | string The description of the label |
Colour required | string The color of the label given in 6-digit hex notation with leading |
DomainID | |
DomainName |
{- "ID": 123,
- "Name": "TODO",
- "Description": "Device that needs checking",
- "Colour": "#FFAABB",
- "DomainID": 123,
- "DomainName": 123
}
Update a label
id required | integer Label ID |
Name required | string The name of the label. This has to be unique across all labels (case-insensitive). |
Description | string The description of the label |
Colour required | string The color of the label given in 6-digit hex notation with leading |
DomainID |
ID | integer Label ID |
Name required | string The name of the label. This has to be unique across all labels (case-insensitive). |
Description | string The description of the label |
Colour required | string The color of the label given in 6-digit hex notation with leading |
DomainID | |
DomainName |
{- "Name": "TODO",
- "Description": "Device that needs checking",
- "Colour": "#FFAABB",
- "DomainID": 123
}
{- "ID": 123,
- "Name": "TODO",
- "Description": "Device that needs checking",
- "Colour": "#FFAABB",
- "DomainID": 123,
- "DomainName": 123
}
Retrieve all logs
fields | string Example: fields=key,name Comma separated list of fields to return in the list operation. Those will then be the only fields returned. |
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
fulltext | string Only return records matching the search term. Must have at least 3 characters |
device_id[] | Array of integers Example: device_id[]=123&device_id[]=2875&device_id[]=3 List of Device IDs to limit the log output to. |
not[device_id][] | Array of integers Example: not[device_id][]=67 List of Device IDs to exclude from the returned log entries. |
created_after | string Example: created_after=2020-01-02T15:04:05.999Z Timestamp (UTC) to include results after the updated date. |
created_before | string Example: created_before=2023-01-02T15:04:05.999Z Timestamp (UTC) to include results before the created date. |
level[] | Array of integers Example: level[]=1&level[]=2&level[]=3 List of syslog like severity levels to include in the returned log entries |
not[level][] | Array of integers Example: not[level][]=6 List of syslog like severity levels to exclude from the returned log entries |
object_type[] | Array of strings Example: object_type[]=Device List of Object types to limit the log output to. |
not[object_type][] | Array of strings Example: not[object_type][]=User List of Object types to exclude from the returned log entries. |
user_id[] | Array of integers Example: user_id[]=123&user_id[]=2875&user_id[]=3 List of User IDs to limit the log output to. |
not[user_id][] | Array of integers Example: not[user_id][]=67 List of User IDs to exclude from the returned log entries. |
action[] | Array of strings Example: action[]=Backup&action[]=Delete List of Log Actions to include in the results. |
not[action][] | Array of strings Example: not[action][]=Backup¬[action][]=Delete List of Log Actions to exclude from the results. |
domain_id[] | Array of integers List of domain IDs to include in the results |
not[domain_id][] | Array of integers List of domain IDs to exclude from the results |
fields | Array of strings The filtered fields |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
device_id | integer The Device ID log entries were filtered for |
object The search parameters used to filter items | |
Array of objects The sorting parameters used to sort items | |
Array of objects (Log) The returned items |
{- "fields": [
- "string"
], - "offset": 0,
- "limit": 50,
- "total": 0,
- "device_id": 123,
- "search": {
- "fulltext": "some text",
- "device_id": {
- "include": [
- 123,
- 2875,
- 3
], - "exclude": [
- 67
]
}, - "level": {
- "include": [
- 1,
- 2,
- 3
], - "exclude": [
- 6
]
}, - "object_type": {
- "include": [
- "Device"
], - "exclude": [
- "User"
]
}, - "user_id": {
- "include": [
- 123,
- 2875,
- 3
], - "exclude": [
- 67
]
}, - "created_after": "2020-01-02T15:04:05.999Z",
- "created_before": "2023-01-02T15:04:05.999Z",
- "action": {
- "include": [
- "Backup",
- "Delete"
], - "exclude": [
- "Delete"
]
}, - "domain_id": {
- "include": [
- 4,
- 75
], - "exclude": [
- 67
]
}
}, - "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "Created": "2222-02-22T22:22:22.000Z",
- "Action": "Backup",
- "ObjectType": "Device",
- "ObjectID": 123,
- "ObjectName": "Cisco Switch",
- "Message": "Version 7",
- "UserID": 123,
- "UserName": "afox",
- "UserIPAddress": "127.0.0.1",
- "Level": "info",
- "DomainID": 3
}
]
}
Export all log entries as a CSV file
Content-Disposition | string Example: "attachment; filename=\"logs.csv\"" |
timestamp,action,object,objectname,message,user,level 2021-02-03 15:24:57,Monitor,Device,example,Device Back Up,Auto,err 2021-02-03 15:20:22,Monitor,Device,example,Device Down,Auto,emerg
The login endpoint is used by the UI to authenticate a user. On successful login, it will set a session cookie that will further authenticate API requests coming from the web interface.
Check if the current session is still valid. If Restorepoint's data partition is currently encrypted, a response
of 503 Unavailable
with EncryptionStatus
set to Encrypted
will be returned.
object (User) User model | |
object (Capabilities) Flags for various system capabilities enabled in the current Restorepoint instance | |
EncryptionStatus | string Enum: "Encrypted" "Decrypted" "Decrypting" "Failure" Current decryption status of the system. |
{- "User": {
- "ID": 123,
- "FullName": "Anna Fox",
- "Username": "afox",
- "PasswordExpiry": 0,
- "RoleID": 1,
- "RoleName": "Admin",
- "Type": "Local",
- "UseRADIUS": false,
- "UseLDAP": false,
- "UseSAML": false,
- "Email": "afox@restorepoint.com",
- "Created": "2222-02-22T22:22:22.000Z",
- "Updated": "2222-02-22T22:22:22.000Z",
- "Active": false,
- "LastActive": "2222-02-22T22:22:22.000Z",
- "PasswordUpdated": "2222-02-22T22:22:22.000Z",
- "DomainIDs": [
- 1,
- 2,
- 3
], - "DomainNames": "Domain A, Domain B, Domain C",
- "LDAPGroupNames": [
- "Group A",
- "Group B",
- "Group C"
], - "Disabled": false,
- "AllowedNetworks": [
- "172.16.0.0/12",
- "172.17.0.0/12"
], - "Permissions": {
- "ViewDevices": 6,
- "ViewBackup": 8,
- "ViewAssets": 31
}, - "Address": "127.0.0.1",
- "UserAgent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)",
- "LoggedIn": "2222-02-22T22:22:22.000Z",
- "UseTOTP": false,
- "ActivationLink": "string",
- "Locked": false,
- "DomainRoles": [
- {
- "DomainID": 1,
- "RoleID": 3
}
], - "RolePermissions": [
- {
- "RoleID": 1,
- "Permissions": [
- [
- 1,
- 2,
- 3
]
]
}
]
}, - "Capabilities": {
- "Agents": true,
- "Domains": true,
- "Roles": true,
- "HighAvailability": true,
- "AdvancedSettings": false,
- "required": null
}, - "EncryptionStatus": "Decrypted"
}
Perform login. Returned token has to be sent via Authorization header.
Username required | string Username to login |
Password required | string Password to login |
EncryptionPassword | string Required when Restorepoint hasn't been decrypted yet. |
RecoveryToken | string The correct recovery token in combination with the correct security answer will allow the user to login without knowing their password. The password can then be changed via updating a User. |
SecurityAnswer | string When doing password recovery, the correct answer to the SecurityQuestion |
Set-Cookie | string Example: "session=abcde12345; Path=/; HttpOnly" |
object (User) User model | |
object (Capabilities) Flags for various system capabilities enabled in the current Restorepoint instance | |
EncryptionStatus | string Enum: "Encrypted" "Decrypted" "Decrypting" "Failure" Current decryption status of the system. |
{- "Username": "afox",
- "Password": "Sunbreeze123",
- "EncryptionPassword": "Sunbreeze456",
- "RecoveryToken": "FooBarBaz",
- "SecurityAnswer": "Blenheim"
}
{- "User": {
- "ID": 123,
- "FullName": "Anna Fox",
- "Username": "afox",
- "PasswordExpiry": 0,
- "RoleID": 1,
- "RoleName": "Admin",
- "Type": "Local",
- "UseRADIUS": false,
- "UseLDAP": false,
- "UseSAML": false,
- "Email": "afox@restorepoint.com",
- "Created": "2222-02-22T22:22:22.000Z",
- "Updated": "2222-02-22T22:22:22.000Z",
- "Active": false,
- "LastActive": "2222-02-22T22:22:22.000Z",
- "PasswordUpdated": "2222-02-22T22:22:22.000Z",
- "DomainIDs": [
- 1,
- 2,
- 3
], - "DomainNames": "Domain A, Domain B, Domain C",
- "LDAPGroupNames": [
- "Group A",
- "Group B",
- "Group C"
], - "Disabled": false,
- "AllowedNetworks": [
- "172.16.0.0/12",
- "172.17.0.0/12"
], - "Permissions": {
- "ViewDevices": 6,
- "ViewBackup": 8,
- "ViewAssets": 31
}, - "Address": "127.0.0.1",
- "UserAgent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)",
- "LoggedIn": "2222-02-22T22:22:22.000Z",
- "UseTOTP": false,
- "ActivationLink": "string",
- "Locked": false,
- "DomainRoles": [
- {
- "DomainID": 1,
- "RoleID": 3
}
], - "RolePermissions": [
- {
- "RoleID": 1,
- "Permissions": [
- [
- 1,
- 2,
- 3
]
]
}
]
}, - "Capabilities": {
- "Agents": true,
- "Domains": true,
- "Roles": true,
- "HighAvailability": true,
- "AdvancedSettings": false,
- "required": null
}, - "EncryptionStatus": "Decrypted"
}
Updates user login details
FullName required | string Full name of the user |
Email required | string Email address of this user |
Password | string A user's password. The system password policy affects the values that will be accepted. Only required if 'EmailActivationLink' is false |
CurrentPassword | string A user's current password. The system password policy affects the values that will be accepted. Only required if 'Password' is different from the current password |
FullName required | string Full name of the user |
Email required | string Email address of this user |
{- "FullName": "Anna Fox",
- "Email": "afox@restorepoint.com",
- "Password": "Sunbreeze123",
- "CurrentPassword": "Sunshine123"
}
{- "FullName": "Anna Fox",
- "Email": "afox@restorepoint.com"
}
Scans a given network address and returns its MAC address and various protocol banners
Address required | string IP address of the device to fingerprint |
AgentID | integer Default: 0 ID of an Agent to communicate through. The default |
Array of objects Fingerprint data results |
{- "Address": "127.0.0.1",
- "AgentID": 0
}
{- "data": [
- {
- "Test": "mac",
- "Title": "MAC Address",
- "Result": "de:20:38:db:1f:81",
- "Error": "No response"
}
]
}
Pings a given network address (via optional agent)
Address required | string IP address of the device to ping |
AgentID | integer Default: 0 ID of an Agent to communicate through. The default |
Result required | string Result of pinging an address |
Message required | string Success or error message for pinging the address in question |
{- "Address": "127.0.0.1",
- "AgentID": 0
}
{- "Result": "Success",
- "Message": "Ping 1: 89.522µs\nPing 2: 35.352µs\nPing 3: 33.367µs\nPing 4: 32.171µs"
}
Attempts to resolve a given hostname and returns it's IP address
Hostname required | string Hostname of a network device |
AgentID | integer Default: 0 ID of an Agent to resolve the name with. The default |
Result | string Result of resolving the given name |
Message | string IP address or error message when attempting to resolve the given hostname |
{- "Hostname": "device1",
- "AgentID": 0
}
{- "Result": "Success",
- "Message": "127.0.0.1"
}
Uses proxy config and test HTTP connectivity
Address required | string Proxy hostname or IP address |
Port | integer Default: 80 Proxy port number |
Username | string Proxy username |
Password | string Proxy user password |
Success required | boolean If test was successful |
Message | string Test result |
{- "Address": "1.1.1.1",
- "Port": 8080,
- "Username": "admin",
- "Password": "admin"
}
{- "Success": true
}
Permissions are the building blocks of what a user's role is entitled to perform. Permissions are read-only.
Retrieve all permissions
fields | string Example: fields=key,name Comma separated list of fields to return in the list operation. Those will then be the only fields returned. |
fields | Array of strings The filtered fields |
Array of objects (Permission) List of permissions |
{- "fields": [
- "string"
], - "data": [
- {
- "ID": 1,
- "Permission": "ModifyDevice"
}, - {
- "ID": 2,
- "Permission": "BackupDevice"
}, - {
- "ID": 3,
- "Permission": "RestoreDevice"
}, - {
- "ID": 4,
- "Permission": "CommandDevice"
}, - {
- "ID": 5,
- "Permission": "ViewDeviceauth"
}, - {
- "ID": 6,
- "Permission": "ViewDevices"
}, - {
- "ID": 7,
- "Permission": "ListBackups"
}, - {
- "ID": 8,
- "Permission": "ViewBackup"
}, - {
- "ID": 9,
- "Permission": "ExportBackup"
}, - {
- "ID": 10,
- "Permission": "ModifyBackup"
}, - {
- "ID": 11,
- "Permission": "ViewLogs"
}, - {
- "ID": 12,
- "Permission": "ViewSyslogs"
}, - {
- "ID": 13,
- "Permission": "ViewSysadmin"
}, - {
- "ID": 14,
- "Permission": "UpdateSysadmin"
}, - {
- "ID": 15,
- "Permission": "ModifyUser"
}, - {
- "ID": 16,
- "Permission": "ViewUsers"
}, - {
- "ID": 17,
- "Permission": "ViewUserauth"
}, - {
- "ID": 18,
- "Permission": "ViewRoles"
}, - {
- "ID": 19,
- "Permission": "EditRoles"
}, - {
- "ID": 20,
- "Permission": "ModifyDiscovery"
}, - {
- "ID": 21,
- "Permission": "ListTemplates"
}, - {
- "ID": 22,
- "Permission": "ViewTemplate"
}, - {
- "ID": 23,
- "Permission": "ModifyTemplate"
}, - {
- "ID": 24,
- "Permission": "PushTemplate"
}, - {
- "ID": 25,
- "Permission": "ViewFirmware"
}, - {
- "ID": 26,
- "Permission": "ModifyFirmware"
}, - {
- "ID": 27,
- "Permission": "PushFirmware"
}, - {
- "ID": 28,
- "Permission": "ViewCredentials"
}, - {
- "ID": 29,
- "Permission": "ModifyCredentials"
}, - {
- "ID": 30,
- "Permission": "ModifyAssets"
}, - {
- "ID": 31,
- "Permission": "ViewAssets"
}, - {
- "ID": 32,
- "Permission": "ViewDomain"
}, - {
- "ID": 33,
- "Permission": "ModifyDomain"
}, - {
- "ID": 34,
- "Permission": "ViewRules"
}, - {
- "ID": 35,
- "Permission": "ModifyRules"
}, - {
- "ID": 36,
- "Permission": "ApplyRules"
}, - {
- "ID": 37,
- "Permission": "ViewPassrules"
}, - {
- "ID": 38,
- "Permission": "ModifyPassrules"
}, - {
- "ID": 39,
- "Permission": "ViewRadius"
}, - {
- "ID": 40,
- "Permission": "ModifyRadius"
}, - {
- "ID": 41,
- "Permission": "ViewReports"
}, - {
- "ID": 42,
- "Permission": "ModifyReports"
}, - {
- "ID": 43,
- "Permission": "ArchivePlatform"
}, - {
- "ID": 44,
- "Permission": "ViewSchedule"
}, - {
- "ID": 45,
- "Permission": "ModifySchedule"
}, - {
- "ID": 46,
- "Permission": "ViewReportAssets"
}, - {
- "ID": 47,
- "Permission": "ViewReportCompliance"
}, - {
- "ID": 48,
- "Permission": "ViewReportAdmin"
}, - {
- "ID": 49,
- "Permission": "ViewReportConfig"
}, - {
- "ID": 50,
- "Permission": "ViewReportBackups"
}, - {
- "ID": 51,
- "Permission": "ViewReportDashboard"
}, - {
- "ID": 52,
- "Permission": "ViewReportMonitor"
}, - {
- "ID": 53,
- "Permission": "AddDevice"
}, - {
- "ID": 54,
- "Permission": "DeleteDevice"
}, - {
- "ID": 55,
- "Permission": "ExportDevices"
}, - {
- "ID": 56,
- "Permission": "ExportUsers"
}
]
}
Restorepoint enables you to create policies that can be used to verify that your devices comply with corporate or regulatory guidelines.
Policies are groups of one or more rules; a rule is a pattern that is applied to configurations or device firmware version, to test whether they contain a certain phrase or Regular Expressions, or if they match an existing device template. If they fail the tests, a compliance violation occurs and an email alert is sent to the device owner.
Retrieve all policies
fields | string Example: fields=key,name Comma separated list of fields to return in the list operation. Those will then be the only fields returned. |
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
id[] | Array of integers List of IDs to include in the results |
not[id][] | Array of integers List of IDs to exclude from the results |
lastupdate_after | string Example: lastupdate_after=2020-01-02T15:04:05.999Z Timestamp (UTC) to include results after the lastupdate date. |
lastupdate_before | string Example: lastupdate_before=2023-01-02T15:04:05.999Z Timestamp (UTC) to include results before the lastupdate date. |
fields | Array of strings The filtered fields |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
object The search parameters used to filter items | |
Array of objects The sorting parameters used to sort items | |
Array of objects (Policy) The returned items |
{- "fields": [
- "string"
], - "offset": 0,
- "limit": 50,
- "total": 0,
- "search": {
- "lastupdate_after": "2020-01-02T15:04:05.999Z",
- "lastupdate_before": "2023-01-02T15:04:05.999Z",
- "id": {
- "include": [
- 0
], - "exclude": [
- 0
]
}
}, - "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "Name": "IOS - Enable Secret Is Set",
- "Comment": "HIPPA compliance",
- "PluginKey": "cisco_ios",
- "PluginName": "Cisco IOS",
- "AlertThresholds": {
- "Low": 1,
- "Medium": 1,
- "High": 1
}, - "AutoApply": [
- [
- {
- "Type": "HostnamePattern",
- "Value": "foo"
}, - {
- "Type": "Location",
- "Value": "bar"
}
], - [
- {
- "Type": "PluginKey",
- "Value": "cisco_ios"
}, - {
- "Type": "AddressRange",
- "Value": "10.0.0.0/8"
}
]
], - "Version": 2,
- "LastUpdateTime": "2019-03-20T11:06:20Z",
- "LastUpdatedBy": "Anna Fox",
- "DeviceIDs": [
- 1,
- 2,
- 3
]
}
]
}
Create a new policy
Name required | string Policy name |
Comment | string Comment attached to policy |
PluginKey | string A Plugin identifier ( |
object Default: {"Low":1,"Medium":1,"High":1} Set alert threshholds for low, medium and high severity alerts. | |
Array of Array of objects Inner group of items have to match all ( | |
DeviceIDs | Array of integers List of Device IDs which the policy is assigned to |
ID | integer Policy ID |
Name required | string Policy name |
Comment | string Comment attached to policy |
PluginKey | string A Plugin identifier ( |
PluginName | string User friendly name of the plugin this device uses |
object Default: {"Low":1,"Medium":1,"High":1} Set alert threshholds for low, medium and high severity alerts. | |
Array of Array of objects Inner group of items have to match all ( | |
Version | integer Internal version number |
LastUpdateTime | string Date and time this compliance policy was last updated |
LastUpdatedBy | string Name of user that last updated this compliance policy |
DeviceIDs | Array of integers List of Device IDs which the policy is assigned to |
{- "Name": "IOS - Enable Secret Is Set",
- "Comment": "HIPPA compliance",
- "PluginKey": "cisco_ios",
- "AlertThresholds": {
- "Low": 1,
- "Medium": 1,
- "High": 1
}, - "AutoApply": [
- [
- {
- "Type": "HostnamePattern",
- "Value": "foo"
}, - {
- "Type": "Location",
- "Value": "bar"
}
], - [
- {
- "Type": "PluginKey",
- "Value": "cisco_ios"
}, - {
- "Type": "AddressRange",
- "Value": "10.0.0.0/8"
}
]
], - "DeviceIDs": [
- 1,
- 2,
- 3
]
}
{- "ID": 123,
- "Name": "IOS - Enable Secret Is Set",
- "Comment": "HIPPA compliance",
- "PluginKey": "cisco_ios",
- "PluginName": "Cisco IOS",
- "AlertThresholds": {
- "Low": 1,
- "Medium": 1,
- "High": 1
}, - "AutoApply": [
- [
- {
- "Type": "HostnamePattern",
- "Value": "foo"
}, - {
- "Type": "Location",
- "Value": "bar"
}
], - [
- {
- "Type": "PluginKey",
- "Value": "cisco_ios"
}, - {
- "Type": "AddressRange",
- "Value": "10.0.0.0/8"
}
]
], - "Version": 2,
- "LastUpdateTime": "2019-03-20T11:06:20Z",
- "LastUpdatedBy": "Anna Fox",
- "DeviceIDs": [
- 1,
- 2,
- 3
]
}
Retrieve a single policy
id required | integer Policy ID |
ID | integer Policy ID |
Name required | string Policy name |
Comment | string Comment attached to policy |
PluginKey | string A Plugin identifier ( |
PluginName | string User friendly name of the plugin this device uses |
object Default: {"Low":1,"Medium":1,"High":1} Set alert threshholds for low, medium and high severity alerts. | |
Array of Array of objects Inner group of items have to match all ( | |
Version | integer Internal version number |
LastUpdateTime | string Date and time this compliance policy was last updated |
LastUpdatedBy | string Name of user that last updated this compliance policy |
DeviceIDs | Array of integers List of Device IDs which the policy is assigned to |
{- "ID": 123,
- "Name": "IOS - Enable Secret Is Set",
- "Comment": "HIPPA compliance",
- "PluginKey": "cisco_ios",
- "PluginName": "Cisco IOS",
- "AlertThresholds": {
- "Low": 1,
- "Medium": 1,
- "High": 1
}, - "AutoApply": [
- [
- {
- "Type": "HostnamePattern",
- "Value": "foo"
}, - {
- "Type": "Location",
- "Value": "bar"
}
], - [
- {
- "Type": "PluginKey",
- "Value": "cisco_ios"
}, - {
- "Type": "AddressRange",
- "Value": "10.0.0.0/8"
}
]
], - "Version": 2,
- "LastUpdateTime": "2019-03-20T11:06:20Z",
- "LastUpdatedBy": "Anna Fox",
- "DeviceIDs": [
- 1,
- 2,
- 3
]
}
Update a policy
id required | integer Policy ID |
Name required | string Policy name |
Comment | string Comment attached to policy |
PluginKey | string A Plugin identifier ( |
object Default: {"Low":1,"Medium":1,"High":1} Set alert threshholds for low, medium and high severity alerts. | |
Array of Array of objects Inner group of items have to match all ( | |
DeviceIDs | Array of integers List of Device IDs which the policy is assigned to |
ID | integer Policy ID |
Name required | string Policy name |
Comment | string Comment attached to policy |
PluginKey | string A Plugin identifier ( |
PluginName | string User friendly name of the plugin this device uses |
object Default: {"Low":1,"Medium":1,"High":1} Set alert threshholds for low, medium and high severity alerts. | |
Array of Array of objects Inner group of items have to match all ( | |
Version | integer Internal version number |
LastUpdateTime | string Date and time this compliance policy was last updated |
LastUpdatedBy | string Name of user that last updated this compliance policy |
DeviceIDs | Array of integers List of Device IDs which the policy is assigned to |
{- "Name": "IOS - Enable Secret Is Set",
- "Comment": "HIPPA compliance",
- "PluginKey": "cisco_ios",
- "AlertThresholds": {
- "Low": 1,
- "Medium": 1,
- "High": 1
}, - "AutoApply": [
- [
- {
- "Type": "HostnamePattern",
- "Value": "foo"
}, - {
- "Type": "Location",
- "Value": "bar"
}
], - [
- {
- "Type": "PluginKey",
- "Value": "cisco_ios"
}, - {
- "Type": "AddressRange",
- "Value": "10.0.0.0/8"
}
]
], - "DeviceIDs": [
- 1,
- 2,
- 3
]
}
{- "ID": 123,
- "Name": "IOS - Enable Secret Is Set",
- "Comment": "HIPPA compliance",
- "PluginKey": "cisco_ios",
- "PluginName": "Cisco IOS",
- "AlertThresholds": {
- "Low": 1,
- "Medium": 1,
- "High": 1
}, - "AutoApply": [
- [
- {
- "Type": "HostnamePattern",
- "Value": "foo"
}, - {
- "Type": "Location",
- "Value": "bar"
}
], - [
- {
- "Type": "PluginKey",
- "Value": "cisco_ios"
}, - {
- "Type": "AddressRange",
- "Value": "10.0.0.0/8"
}
]
], - "Version": 2,
- "LastUpdateTime": "2019-03-20T11:06:20Z",
- "LastUpdatedBy": "Anna Fox",
- "DeviceIDs": [
- 1,
- 2,
- 3
]
}
Test a policy against a backup
id required | integer Policy ID |
BackupFileID | integer Config backup ID to test on. (If it's a runtime command, this field is ignored) |
ConfigurationTypes | Array of strings Configuration types to test on. If empty, all configurations of the backup will be tested (If it's a runtime command, this field is ignored) |
DeviceID | integer ID of the device to be tested. Only needed if testing a runtime command |
Array of objects Policy test results containing results for each policy rule that has been tested | |
ScorePercentage | integer Percentage of total passed tests based on their score (1, 2 or 4 for Low, Medium and High Severity) |
LowSeverityFail | integer Amount of low severity rules that failed the tests |
MediumSeverityFail | integer Amount of medium severity rules that failed the tests |
HighSeverityFail | integer Amount of high severity rules that failed the tests |
Alert | boolean Whether the tests would have raised an alert based on the number of failed rules, their severity and the specified thresholds for the policy |
{- "BackupFileID": 2,
- "ConfigurationTypes": [
- "Regex"
], - "DeviceID": 1
}
{- "Results": [
- {
- "RuleID": 101,
- "Result": {
- "ConfigType": "startup",
- "Tested": true,
- "Passed": true,
- "FailDetails": "string",
- "Error": "string"
}
}
], - "ScorePercentage": 50,
- "LowSeverityFail": 1,
- "MediumSeverityFail": 2,
- "HighSeverityFail": 3,
- "Alert": false
}
Update policy's devices' compliance scores
id required | integer Policy ID |
{ }
{- "message": "Policy does not exit",
- "errors": {
- "ID": [
- "Policy with ID 123 does not exist"
]
}
}
Import one or more device policies
file | string JSON data (see Export for format) |
NumberImported | integer Number of policies that have been imported |
{- "NumberImported": 123
}
Export one or more device policies in a JSON file. Please do not mistake this for the automatic device configuration export.
PolicyIDs required |
Content-Disposition | string Example: "attachment; filename=\"RestorepointConfigPolicies.json\"" |
Array of objects (Policy) List of exported policies |
{- "data": [
- {
- "ID": 123,
- "Name": "IOS - Enable Secret Is Set",
- "Comment": "HIPPA compliance",
- "PluginKey": "cisco_ios",
- "PluginName": "Cisco IOS",
- "AlertThresholds": {
- "Low": 1,
- "Medium": 1,
- "High": 1
}, - "AutoApply": [
- [
- {
- "Type": "HostnamePattern",
- "Value": "foo"
}, - {
- "Type": "Location",
- "Value": "bar"
}
], - [
- {
- "Type": "PluginKey",
- "Value": "cisco_ios"
}, - {
- "Type": "AddressRange",
- "Value": "10.0.0.0/8"
}
]
], - "Version": 2,
- "LastUpdateTime": "2019-03-20T11:06:20Z",
- "LastUpdatedBy": "Anna Fox",
- "Rules": [
- {
- "ID": 123,
- "PolicyID": 123,
- "Name": "Version",
- "Type": "Configuration",
- "ConfigurationTypes": [
- "startup",
- "running",
- "vtp"
], - "Files": [
- {
- "Name": "/etc/foo/bar",
- "Ignore": [
- "To be ingored",
- "Also to be ignored"
]
}
], - "CommandID": 123,
- "Requirement": "MustMatch",
- "TemplateID": 123,
- "MatchType": "Phrase",
- "Value": "Foo",
- "CaseInsensitive": false,
- "DeviceID": 0,
- "Severity": "Low",
- "Remediation": {
- "Type": "None"
}, - "IgnoreLines": [
- "To be ingored",
- "Also to be ignored"
]
}
]
}
]
}
A regular expression specifies a set of strings as a pattern, rather than a list. For example, the pattern
C(o|as?)t
matches the strings Cot, Cat, and Cast, but not Coast. Restorepoint uses Perl-flavour Regular
Expressions.
Most characters can be used in a regular expression; however, some characters, called metacharacters, have special meanings:
()
denote grouping: (a|b)b
matches ab
and bb
|
denotes an alternative (see above)^
matches the beginning of a line$
matches the end of a line.
matches any character+
denotes one or more occurrences of the previous character: a+b
matches ab
, aab
, abb
, but not b
*
denotes zero or more occurrences of the previous character: a*b
matches b
, ab
, aab
, aaab
?
denotes zero or one occurrences of the previous character: a?b
matches b
and ab
, but not aab
or aaab
Character classes are matches for sets of possible characters, rather than just a single character. For instance:
[bcr]at
matches bat
, cat
and rat
-
can be used as a range operator in a character class, so [a-g]
matches any character from a
to g
There are some useful abbreviations for common character classes, in particular:
\d
matches a digit\s
matches whitespace (a space or a tab)\w
matches a word character (alphanumeric or a _)For instance, \d\d:\d\d:\d\d
would match a time in a hh:mm:ss format.
For more information and examples of regular expressions, please see this reference guide.
Rules can be defined as Lua functions.
Available functions for compliance rules are:
nextline()
returns the next line of textgetline(n)
returns the given line of textnumlines()
returns the number of linesaddmessage(m)
allows you to replace a series of variables in the remediation text. For instance,
addmessage("Hello")
with a remediation text of $1
"World!" would produce the output Hello World!
. The next
addmessage
call would replace $2
, and so on.This function checks that the number of lines containing "configure" matches the lines containing "port":
num1 = 0
num2 = 0
line, next = nextline()
while next do
if line:match("configure") then num1 = num1+1 end
if line:match("port") then num2 = num2+1 end
line, next = nextline
end
if num1 > num2 then addmessage("more")
else if num2 < num1 then addmessage("less") end
return num1 == num2
Remediation Text: Config contains $1 configures than ports.
Remediation is an action to be performed when a compliance rule is not met, generally intended to rectify the violation. The following remediation types can be configured:
Manual
: in this case, the remediation text will simply be appended to the notification email, signifying that
the recipient should take the appropriate action.Command
: this will execute one of the stored Actions on the device (see Controlling a device).Automatic
: this setting will treat the text specified in the textbox as a command and execute it on the
device.If the rule match type is Regex, the remediation can make use of the Capture feature, whereby parts of
the pattern in brackets can be captured and then referred to in the remediation text (as $1
, $2
, etc.).
For example, a rule may state that a configuration must not contain the regex:
set telnet (\d+\.\d+\.\d+\.\d+)
where the part in brackets is a match for an IP address. If this rule is violated, the configuration can be remedied using the phrase:
unset telnet $1
In this case, the brackets in the rule will capture the IP address, and fill it in when the command is performed, expanding to
unset telnet 1.2.3.4
if that was the matched IP address.
Test a rule against a backup. This will not update the device's compliance score, it will only test that a rule runs correctly against the selected backup.
DeviceID | integer ID of the device to be tested |
BackupFileID | integer Config backup ID to test on |
ConfigurationTypes | Array of strings Configuration types to test on. If empty, all configurations of the backup will be tested |
OutputID | integer Output to test runtime rule against |
TestText | string Test text to test runtime rule against |
required | object (Rule) Policy rule model |
required | object (Rule) Policy rule model |
required | Array of objects (Policy rule test result) Test result |
{- "DeviceID": 1,
- "BackupFileID": 2,
- "ConfigurationTypes": [
- "Regex"
], - "OutputID": 3,
- "TestText": "foo bar",
- "Rule": {
- "Name": "Version",
- "Type": "Configuration",
- "ConfigurationTypes": [
- "startup",
- "running",
- "vtp"
], - "Files": [
- {
- "Name": "/etc/foo/bar",
- "Ignore": [
- "To be ingored",
- "Also to be ignored"
]
}
], - "CommandID": 123,
- "Requirement": "MustMatch",
- "TemplateID": 123,
- "MatchType": "Phrase",
- "Value": "Foo",
- "CaseInsensitive": false,
- "DeviceID": 0,
- "Severity": "Low",
- "Remediation": {
- "Type": "None"
}, - "IgnoreLines": [
- "To be ingored",
- "Also to be ignored"
]
}
}
{- "Rule": {
- "ID": 123,
- "PolicyID": 123,
- "Name": "Version",
- "Type": "Configuration",
- "ConfigurationTypes": [
- "startup",
- "running",
- "vtp"
], - "Files": [
- {
- "Name": "/etc/foo/bar",
- "Ignore": [
- "To be ingored",
- "Also to be ignored"
]
}
], - "CommandID": 123,
- "Requirement": "MustMatch",
- "TemplateID": 123,
- "MatchType": "Phrase",
- "Value": "Foo",
- "CaseInsensitive": false,
- "DeviceID": 0,
- "Severity": "Low",
- "Remediation": {
- "Type": "None"
}, - "IgnoreLines": [
- "To be ingored",
- "Also to be ignored"
]
}, - "Results": [
- {
- "ConfigType": "startup",
- "Tested": true,
- "Passed": true,
- "FailDetails": "string",
- "Error": "string"
}
]
}
Retrieve all rules of a policy
id required | integer Policy ID |
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
search | string TODO |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
search | string The search parameters used to filter items |
Array of objects The sorting parameters used to sort items | |
Array of objects (Rule) The returned items |
{- "offset": 0,
- "limit": 50,
- "total": 0,
- "search": "string",
- "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "PolicyID": 123,
- "Name": "Version",
- "Type": "Configuration",
- "ConfigurationTypes": [
- "startup",
- "running",
- "vtp"
], - "Files": [
- {
- "Name": "/etc/foo/bar",
- "Ignore": [
- "To be ingored",
- "Also to be ignored"
]
}
], - "CommandID": 123,
- "Requirement": "MustMatch",
- "TemplateID": 123,
- "MatchType": "Phrase",
- "Value": "Foo",
- "CaseInsensitive": false,
- "DeviceID": 0,
- "Severity": "Low",
- "Remediation": {
- "Type": "None"
}, - "IgnoreLines": [
- "To be ingored",
- "Also to be ignored"
]
}
]
}
Create a new rule (note that policy's devices' compliance scores won't be updated)
id required | integer Policy ID |
Name | string Used to identify a rule in a report or email |
Type required | string Enum: "Configuration" "FirmwareVersion" "RuntimeCommand" "ScheduledActionOutput" Whether the rule applies to a configuration, software version, runtime command or the output of a scheduled action |
ConfigurationTypes | Array of strings List of configuration types to use if this rule's |
Array of objects List of applicable files for multi-file configurations, e.g. TGZ archives if this rule's | |
CommandID | integer ID of a Device Control command to run for rules of |
Requirement required | string Enum: "MustMatch" "MustNotMatch" "MustMatchTemplate" When will this rule be applied |
TemplateID | integer If |
MatchType | string Default: "Phrase" Enum: "Phrase" "Regex" "LuaFunction" "Device" The |
Value | string Either a phrase, regular expression or Lua function that is being used depending on the |
CaseInsensitive | boolean Default: false Whether to match a "Phrase" or "Regex" ignoring upper and lower case |
DeviceID | integer If |
Severity | string Default: "Low" Enum: "None" "Low" "Medium" "High" Severity is used by the related policy's |
object Default: {"Type":"None"} Remediation is an action to be performed when a compliance rule is not met, generally intended to rectify the violation | |
IgnoreLines | Array of strings If |
ID | integer Policy rule ID |
PolicyID | integer ID of Policy this rule belongs to |
Name | string Used to identify a rule in a report or email |
Type required | string Enum: "Configuration" "FirmwareVersion" "RuntimeCommand" "ScheduledActionOutput" Whether the rule applies to a configuration, software version, runtime command or the output of a scheduled action |
ConfigurationTypes | Array of strings List of configuration types to use if this rule's |
Array of objects List of applicable files for multi-file configurations, e.g. TGZ archives if this rule's | |
CommandID | integer ID of a Device Control command to run for rules of |
Requirement required | string Enum: "MustMatch" "MustNotMatch" "MustMatchTemplate" When will this rule be applied |
TemplateID | integer If |
MatchType | string Default: "Phrase" Enum: "Phrase" "Regex" "LuaFunction" "Device" The |
Value | string Either a phrase, regular expression or Lua function that is being used depending on the |
CaseInsensitive | boolean Default: false Whether to match a "Phrase" or "Regex" ignoring upper and lower case |
DeviceID | integer If |
Severity | string Default: "Low" Enum: "None" "Low" "Medium" "High" Severity is used by the related policy's |
object Default: {"Type":"None"} Remediation is an action to be performed when a compliance rule is not met, generally intended to rectify the violation | |
IgnoreLines | Array of strings If |
{- "Name": "Version",
- "Type": "Configuration",
- "ConfigurationTypes": [
- "startup",
- "running",
- "vtp"
], - "Files": [
- {
- "Name": "/etc/foo/bar",
- "Ignore": [
- "To be ingored",
- "Also to be ignored"
]
}
], - "CommandID": 123,
- "Requirement": "MustMatch",
- "TemplateID": 123,
- "MatchType": "Phrase",
- "Value": "Foo",
- "CaseInsensitive": false,
- "DeviceID": 0,
- "Severity": "Low",
- "Remediation": {
- "Type": "None"
}, - "IgnoreLines": [
- "To be ingored",
- "Also to be ignored"
]
}
{- "ID": 123,
- "PolicyID": 123,
- "Name": "Version",
- "Type": "Configuration",
- "ConfigurationTypes": [
- "startup",
- "running",
- "vtp"
], - "Files": [
- {
- "Name": "/etc/foo/bar",
- "Ignore": [
- "To be ingored",
- "Also to be ignored"
]
}
], - "CommandID": 123,
- "Requirement": "MustMatch",
- "TemplateID": 123,
- "MatchType": "Phrase",
- "Value": "Foo",
- "CaseInsensitive": false,
- "DeviceID": 0,
- "Severity": "Low",
- "Remediation": {
- "Type": "None"
}, - "IgnoreLines": [
- "To be ingored",
- "Also to be ignored"
]
}
Retrieve a single rule
rule_id required | integer Rule ID |
id required | integer Policy ID |
ID | integer Policy rule ID |
PolicyID | integer ID of Policy this rule belongs to |
Name | string Used to identify a rule in a report or email |
Type required | string Enum: "Configuration" "FirmwareVersion" "RuntimeCommand" "ScheduledActionOutput" Whether the rule applies to a configuration, software version, runtime command or the output of a scheduled action |
ConfigurationTypes | Array of strings List of configuration types to use if this rule's |
Array of objects List of applicable files for multi-file configurations, e.g. TGZ archives if this rule's | |
CommandID | integer ID of a Device Control command to run for rules of |
Requirement required | string Enum: "MustMatch" "MustNotMatch" "MustMatchTemplate" When will this rule be applied |
TemplateID | integer If |
MatchType | string Default: "Phrase" Enum: "Phrase" "Regex" "LuaFunction" "Device" The |
Value | string Either a phrase, regular expression or Lua function that is being used depending on the |
CaseInsensitive | boolean Default: false Whether to match a "Phrase" or "Regex" ignoring upper and lower case |
DeviceID | integer If |
Severity | string Default: "Low" Enum: "None" "Low" "Medium" "High" Severity is used by the related policy's |
object Default: {"Type":"None"} Remediation is an action to be performed when a compliance rule is not met, generally intended to rectify the violation | |
IgnoreLines | Array of strings If |
{- "ID": 123,
- "PolicyID": 123,
- "Name": "Version",
- "Type": "Configuration",
- "ConfigurationTypes": [
- "startup",
- "running",
- "vtp"
], - "Files": [
- {
- "Name": "/etc/foo/bar",
- "Ignore": [
- "To be ingored",
- "Also to be ignored"
]
}
], - "CommandID": 123,
- "Requirement": "MustMatch",
- "TemplateID": 123,
- "MatchType": "Phrase",
- "Value": "Foo",
- "CaseInsensitive": false,
- "DeviceID": 0,
- "Severity": "Low",
- "Remediation": {
- "Type": "None"
}, - "IgnoreLines": [
- "To be ingored",
- "Also to be ignored"
]
}
Update a rule (note that policy's devices' compliance scores won't be updated)
rule_id required | integer Rule ID |
id required | integer Policy ID |
Name | string Used to identify a rule in a report or email |
Type required | string Enum: "Configuration" "FirmwareVersion" "RuntimeCommand" "ScheduledActionOutput" Whether the rule applies to a configuration, software version, runtime command or the output of a scheduled action |
ConfigurationTypes | Array of strings List of configuration types to use if this rule's |
Array of objects List of applicable files for multi-file configurations, e.g. TGZ archives if this rule's | |
CommandID | integer ID of a Device Control command to run for rules of |
Requirement required | string Enum: "MustMatch" "MustNotMatch" "MustMatchTemplate" When will this rule be applied |
TemplateID | integer If |
MatchType | string Default: "Phrase" Enum: "Phrase" "Regex" "LuaFunction" "Device" The |
Value | string Either a phrase, regular expression or Lua function that is being used depending on the |
CaseInsensitive | boolean Default: false Whether to match a "Phrase" or "Regex" ignoring upper and lower case |
DeviceID | integer If |
Severity | string Default: "Low" Enum: "None" "Low" "Medium" "High" Severity is used by the related policy's |
object Default: {"Type":"None"} Remediation is an action to be performed when a compliance rule is not met, generally intended to rectify the violation | |
IgnoreLines | Array of strings If |
ID | integer Policy rule ID |
PolicyID | integer ID of Policy this rule belongs to |
Name | string Used to identify a rule in a report or email |
Type required | string Enum: "Configuration" "FirmwareVersion" "RuntimeCommand" "ScheduledActionOutput" Whether the rule applies to a configuration, software version, runtime command or the output of a scheduled action |
ConfigurationTypes | Array of strings List of configuration types to use if this rule's |
Array of objects List of applicable files for multi-file configurations, e.g. TGZ archives if this rule's | |
CommandID | integer ID of a Device Control command to run for rules of |
Requirement required | string Enum: "MustMatch" "MustNotMatch" "MustMatchTemplate" When will this rule be applied |
TemplateID | integer If |
MatchType | string Default: "Phrase" Enum: "Phrase" "Regex" "LuaFunction" "Device" The |
Value | string Either a phrase, regular expression or Lua function that is being used depending on the |
CaseInsensitive | boolean Default: false Whether to match a "Phrase" or "Regex" ignoring upper and lower case |
DeviceID | integer If |
Severity | string Default: "Low" Enum: "None" "Low" "Medium" "High" Severity is used by the related policy's |
object Default: {"Type":"None"} Remediation is an action to be performed when a compliance rule is not met, generally intended to rectify the violation | |
IgnoreLines | Array of strings If |
{- "Name": "Version",
- "Type": "Configuration",
- "ConfigurationTypes": [
- "startup",
- "running",
- "vtp"
], - "Files": [
- {
- "Name": "/etc/foo/bar",
- "Ignore": [
- "To be ingored",
- "Also to be ignored"
]
}
], - "CommandID": 123,
- "Requirement": "MustMatch",
- "TemplateID": 123,
- "MatchType": "Phrase",
- "Value": "Foo",
- "CaseInsensitive": false,
- "DeviceID": 0,
- "Severity": "Low",
- "Remediation": {
- "Type": "None"
}, - "IgnoreLines": [
- "To be ingored",
- "Also to be ignored"
]
}
{- "ID": 123,
- "PolicyID": 123,
- "Name": "Version",
- "Type": "Configuration",
- "ConfigurationTypes": [
- "startup",
- "running",
- "vtp"
], - "Files": [
- {
- "Name": "/etc/foo/bar",
- "Ignore": [
- "To be ingored",
- "Also to be ignored"
]
}
], - "CommandID": 123,
- "Requirement": "MustMatch",
- "TemplateID": 123,
- "MatchType": "Phrase",
- "Value": "Foo",
- "CaseInsensitive": false,
- "DeviceID": 0,
- "Severity": "Low",
- "Remediation": {
- "Type": "None"
}, - "IgnoreLines": [
- "To be ingored",
- "Also to be ignored"
]
}
Delete a rule (note that policy's devices' compliance scores won't be updated)
rule_id required | integer Rule ID |
id required | integer Policy ID |
{- "message": "Rule does not exit",
- "errors": {
- "ID": [
- "Rule with ID 123 does not exist"
]
}
}
Policy variables can be used in compliance rules as variable replacements, referenced with the $replace$
format,
where replace
is the variable name you have defined. This enables you to use a variable as shorthand
for configuration elements, that are likely to be referenced multiple times.
For instance, if you create a definition of Gateway
, and assign it a Value of 192.168.0.1
, you can then use
it in a compliance rule, e.g. a Configuration rule the Must Contain the Regex ip default-gateway $Gateway$
.
This rule will be expanded to ip default-gateway 192.168.0.1
. If later, the gateway address changes, simply
change the Value
of the Gateway variable definition, and all rules that use the $Gateway$
variable will be
updated automatically.
Retrieve all variables
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
fulltext | string Only return records matching the search term. Must have at least 3 characters |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
object The search parameters used to filter items | |
Array of objects The sorting parameters used to sort items | |
Array of objects (Variable) The returned items |
{- "offset": 0,
- "limit": 50,
- "total": 0,
- "search": {
- "fulltext": "some text"
}, - "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "Name": "Foo",
- "Value": "Bar"
}
]
}
Create a new variable
Name required | string The name of the variable. A variable name can only consist of letters, numbers, and the underscore character |
Value required | string The value that replaces this variables |
ID | integer Policy variable ID |
Name required | string The name of the variable. A variable name can only consist of letters, numbers, and the underscore character |
Value required | string The value that replaces this variables |
{- "Name": "Foo",
- "Value": "Bar"
}
{- "ID": 123,
- "Name": "Foo",
- "Value": "Bar"
}
Retrieve a single variable
id required | integer Variable ID |
ID | integer Policy variable ID |
Name required | string The name of the variable. A variable name can only consist of letters, numbers, and the underscore character |
Value required | string The value that replaces this variables |
{- "ID": 123,
- "Name": "Foo",
- "Value": "Bar"
}
Update a variable
id required | integer Variable ID |
Name required | string The name of the variable. A variable name can only consist of letters, numbers, and the underscore character |
Value required | string The value that replaces this variables |
ID | integer Policy variable ID |
Name required | string The name of the variable. A variable name can only consist of letters, numbers, and the underscore character |
Value required | string The value that replaces this variables |
{- "Name": "Foo",
- "Value": "Bar"
}
{- "ID": 123,
- "Name": "Foo",
- "Value": "Bar"
}
Import one or more policy variables
overwrite | boolean Default: false Overwrite existing variables |
file | string CSV data (see Export for format) |
NumberImported | integer Number of variables that have been imported |
{- "NumberImported": 123
}
Export one or more policy variables in a CSV file
VariableIDs required |
Content-Disposition | string Example: "attachment; filename=\"RestorepointComplianceDefinitions.csv\"" |
name,replacement wiggle,wiggle foo,bar
Plugins have a number of device specific settings that are required for creating a functional device configurations for backup, restore or running commands.
Retrieve all plugins
fields | string Example: fields=key,name Comma separated list of fields to return in the list operation. Those will then be the only fields returned. |
fields | Array of strings The filtered fields |
Array of objects (Plugin) List of plugins |
{- "fields": [
- "string"
], - "data": [
- {
- "Key": "cisco_ios",
- "Name": "Cisco IOS",
- "Manufacturer": "Cisco",
- "Model": "IOS/IOS-XE Switches/Routers",
- "Documentation": "<h1>Cisco IOS/IOS-XE</h1><ul><li>Foo</li><li>Bar</li><li>Baz</li></ul>",
- "Protocols": [
- "scp",
- "telnet/tftp"
], - "FullProtocols": [
- "ssh/tftp",
- "ssh/scp"
], - "Fields": [
- "username",
- "password",
- "password2",
- "nat_bc",
- "vlan.dat_file"
], - "Options": {
- "extra_files": {
- "Name": "Additional Files",
- "Type": "textarea",
- "Section": "configurations"
}, - "type": {
- "Name": "Backup Type",
- "Type": "radio",
- "Values": [
- "Config Only",
- "Full"
], - "Section": "configurations"
}
}, - "ConfigTypes": [
- {
- "Name": "startup",
- "Type": "txt",
- "CanRestore": [
- "startup"
], - "Nicename": "Startup Config",
- "Extension": "startup-config"
}, - {
- "Name": "running",
- "Type": "txt",
- "CanRestore": [
- "startup"
], - "Nicename": "Running Config",
- "Extension": "running-config"
}, - {
- "Name": "vtp",
- "Type": "bin",
- "CanRestore": [
- "vtp"
], - "Nicename": "VTP Database",
- "Extension": "vtp-config"
}
], - "InfoTypes": [
- {
- "Function": "interfaces",
- "Name": "Interfaces"
}, - {
- "Function": "routes",
- "Name": "Static Routes"
}, - {
- "Function": "version",
- "Name": "Show Version"
}
], - "Functions": [
- "backup",
- "restore",
- "reset",
- "login",
- "firmware",
- "location",
- "model",
- "serial",
- "upgrade",
- "interfaces",
- "routes",
- "version"
], - "Port": 22,
- "TransferProtocol": "ssh",
- "CanRestore": false,
- "IsPush": false,
- "NoMultiDiff": false,
- "SyslogTriggers": true,
- "Revision": "1234"
}
]
}
Retrieve a single plugin
key required | string plugin key |
Key | string Plugin identifier |
Name | string Plugin name |
Manufacturer | string To which device manufacturer the policy applies |
Model | string To which device model the policy applies |
Documentation | string A plugin's documentation in HTML format |
Protocols | Array of strings List of supported connection protocols |
FullProtocols | Array of strings List of supported full connection protocols. Contains both the direct connection and the back-connection protocol. |
Fields | Array of strings List of additional fields required by a plugin. These have to be passed via a device's PluginFields array. |
object A list of additional properties a plugin might require. Internal use only. | |
Array of objects Configuration types supported by a device | |
Array of objects Additional device information functions. See AdditionalInformation field on a device. | |
Functions | Array of strings List of available functions (backup, restore, serial, etc.) |
Port | integer Default backup port |
TransferProtocol | string Default transfer protocol |
CanRestore | boolean Default: false Denotes if this type of device can be restored |
IsPush | boolean Default: false If a device is push only, meaning it has to be manually configured to send its backup to Restorepoint |
NoMultiDiff | boolean Default: false Internal use |
SyslogTriggers | boolean This is set for devices that support real-time change detection. Please note: In order to use this feature, you must configure a device to send its logs to Restorepoint using syslog. |
Revision | string Internal plugin version |
{- "Key": "cisco_ios",
- "Name": "Cisco IOS",
- "Manufacturer": "Cisco",
- "Model": "IOS/IOS-XE Switches/Routers",
- "Documentation": "<h1>Cisco IOS/IOS-XE</h1><ul><li>Foo</li><li>Bar</li><li>Baz</li></ul>",
- "Protocols": [
- "scp",
- "telnet/tftp"
], - "FullProtocols": [
- "ssh/tftp",
- "ssh/scp"
], - "Fields": [
- "username",
- "password",
- "password2",
- "nat_bc",
- "vlan.dat_file"
], - "Options": {
- "extra_files": {
- "Name": "Additional Files",
- "Type": "textarea",
- "Section": "configurations"
}, - "type": {
- "Name": "Backup Type",
- "Type": "radio",
- "Values": [
- "Config Only",
- "Full"
], - "Section": "configurations"
}
}, - "ConfigTypes": [
- {
- "Name": "startup",
- "Type": "txt",
- "CanRestore": [
- "startup"
], - "Nicename": "Startup Config",
- "Extension": "startup-config"
}, - {
- "Name": "running",
- "Type": "txt",
- "CanRestore": [
- "startup"
], - "Nicename": "Running Config",
- "Extension": "running-config"
}, - {
- "Name": "vtp",
- "Type": "bin",
- "CanRestore": [
- "vtp"
], - "Nicename": "VTP Database",
- "Extension": "vtp-config"
}
], - "InfoTypes": [
- {
- "Function": "interfaces",
- "Name": "Interfaces"
}, - {
- "Function": "routes",
- "Name": "Static Routes"
}, - {
- "Function": "version",
- "Name": "Show Version"
}
], - "Functions": [
- "backup",
- "restore",
- "reset",
- "login",
- "firmware",
- "location",
- "model",
- "serial",
- "upgrade",
- "interfaces",
- "routes",
- "version"
], - "Port": 22,
- "TransferProtocol": "ssh",
- "CanRestore": false,
- "IsPush": false,
- "NoMultiDiff": false,
- "SyslogTriggers": true,
- "Revision": "1234"
}
Preferences are a set of user specific settings, tied to the UI, that should be persisted on the database side and should reflect on the UI by default.
In addition to the standard built-in roles (Admin
, Backup
, and View Only
), which cannot be edited,
it is possible to define granular, custom roles, which specify in detail which product elements are accessible to
the user.
Please note: Custom roles are only available with an Enterprise licence.
Retrieve all roles
fields | string Example: fields=key,name Comma separated list of fields to return in the list operation. Those will then be the only fields returned. |
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
search | string TODO |
fields | Array of strings The filtered fields |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
search | string The search parameters used to filter items |
Array of objects The sorting parameters used to sort items | |
Array of objects (Role) The returned items |
{- "fields": [
- "string"
], - "offset": 0,
- "limit": 50,
- "total": 0,
- "search": "string",
- "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "Name": "View Only",
- "PermissionIDs": [
- 1,
- 2,
- 3
], - "UserIDs": [
- 1,
- 2,
- 3
]
}
]
}
Create a new role
Name required | string Role name |
PermissionIDs required | Array of integers List of Permission IDs for this role |
ID | integer Role ID |
Name required | string Role name |
PermissionIDs required | Array of integers List of Permission IDs for this role |
UserIDs |
{- "Name": "View Only",
- "PermissionIDs": [
- 1,
- 2,
- 3
]
}
{- "ID": 123,
- "Name": "View Only",
- "PermissionIDs": [
- 1,
- 2,
- 3
], - "UserIDs": [
- 1,
- 2,
- 3
]
}
Retrieve a single role
id required | integer Role ID |
ID | integer Role ID |
Name required | string Role name |
PermissionIDs required | Array of integers List of Permission IDs for this role |
UserIDs |
{- "ID": 123,
- "Name": "View Only",
- "PermissionIDs": [
- 1,
- 2,
- 3
], - "UserIDs": [
- 1,
- 2,
- 3
]
}
Update a role
id required | integer Role ID |
Name required | string Role name |
PermissionIDs required | Array of integers List of Permission IDs for this role |
ID | integer Role ID |
Name required | string Role name |
PermissionIDs required | Array of integers List of Permission IDs for this role |
UserIDs |
{- "Name": "View Only",
- "PermissionIDs": [
- 1,
- 2,
- 3
]
}
{- "ID": 123,
- "Name": "View Only",
- "PermissionIDs": [
- 1,
- 2,
- 3
], - "UserIDs": [
- 1,
- 2,
- 3
]
}
Allows a view of the next occurence of all scheduled events including device backups, Restorepoint archival, device discovery as well as reporting.
Retrieve all schedules
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
fields | string Example: fields=key,name Comma separated list of fields to return in the list operation. Those will then be the only fields returned. |
deviceid | integer Example: deviceid=123&deviceid=2875&deviceid=3 Device id to limit the log output to. |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
required | object The search parameters used to filter items |
required | Array of objects The sorting parameters used to sort items |
fields | Array of strings The filtered fields |
required | Array of objects (Schedule) List of schedules |
{- "offset": 0,
- "limit": 50,
- "search": {
- "deviceid": 123
}, - "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "fields": [
- "string"
], - "data": [
- {
- "Due": "2222-02-22T22:22:22.000Z",
- "Event": "Backup device",
- "Description": "device",
- "Object": "device",
- "ObjectID": 123
}
]
}
Calculates the next time a schedule would run for a given cron-like expression
Schedule | string A cron-like expression to calculte the next due time for |
NextDue | string Timestamp in RFC3339 format of the cron expression |
{- "Schedule": "0 0 */6 * * * *"
}
{- "NextDue": "2222-02-22T22:22:22.000Z"
}
Postpone a list of schedules
Array of objects List of schedules to postpone |
{- "Schedules": [
- {
- "ObjectID": 123,
- "Object": "device"
}
]
}
{- "message": "Input validation failed",
- "errors": {
- "Schedules[0]": [
- "User is not permitted to postpone discovery schedule"
]
}
}
Get alert settings
Enabled | boolean Default: false Enable email alerts |
From | string An email address to use in the |
To | string Default notification address to send email alerts to. Must be set to a valid email address if enabled |
Hostname | string Hostname to be used in email alerts. Defaults to the appliance's hostname |
PlainText | boolean Default: false Send emails as text/plain instead of HTML formatted |
object Outgoing SMTP server settings. Your mail server must be configured to allow Restorepoint to relay to internal and external recipients. Must be set if enabled |
{- "Enabled": true,
- "From": "restorepoint@example.com",
- "To": "admin@example.com",
- "Hostname": "restorepoint.example.com",
- "PlainText": false,
- "SMTP": {
- "Host": "smtp.example.com",
- "Port": 25,
- "Username": "afox",
- "Password": "Sunbreeze123"
}
}
Update alert settings
Enabled | boolean Default: false Enable email alerts |
From | string An email address to use in the |
To | string Default notification address to send email alerts to. Must be set to a valid email address if enabled |
Hostname | string Hostname to be used in email alerts. Defaults to the appliance's hostname |
PlainText | boolean Default: false Send emails as text/plain instead of HTML formatted |
object Outgoing SMTP server settings. Your mail server must be configured to allow Restorepoint to relay to internal and external recipients. Must be set if enabled |
Enabled | boolean Default: false Enable email alerts |
From | string An email address to use in the |
To | string Default notification address to send email alerts to. Must be set to a valid email address if enabled |
Hostname | string Hostname to be used in email alerts. Defaults to the appliance's hostname |
PlainText | boolean Default: false Send emails as text/plain instead of HTML formatted |
object Outgoing SMTP server settings. Your mail server must be configured to allow Restorepoint to relay to internal and external recipients. Must be set if enabled |
{- "Enabled": true,
- "From": "restorepoint@example.com",
- "To": "admin@example.com",
- "Hostname": "restorepoint.example.com",
- "PlainText": false,
- "SMTP": {
- "Host": "smtp.example.com",
- "Port": 25,
- "Username": "afox",
- "Password": "Sunbreeze123"
}
}
{- "Enabled": true,
- "From": "restorepoint@example.com",
- "To": "admin@example.com",
- "Hostname": "restorepoint.example.com",
- "PlainText": false,
- "SMTP": {
- "Host": "smtp.example.com",
- "Port": 25,
- "Username": "afox",
- "Password": "Sunbreeze123"
}
}
Tests alert settings by sending a dummy email
Success required | boolean If test was successful |
Message | string Test result |
{- "Success": true
}
Allows you to set general appliance settings as well as triggering global appliance actions.
Get appliance settings
RebootPolicy | string Default: "RunDueSchedule" Enum: "RunDueSchedule" "RecalculateSchedules" Which action to take after restarting Restorepoint, rebooting or powering on this appliance. You can
|
Offline | boolean Default: false Will disable any automatic checks to the Restorepoint update server and will require manual updates |
AutomaticVersionUpgrades | boolean Default: true By default Restorepoint will update automatically, even for major version updates ( |
AutomaticMinorUpdate | boolean Default: true By default Restorepoint will update automatically for minor version updates ( |
DateTime | string Timestamp in RFC3339 format to set the appliance date and time |
Timezone | string TZ database timezone name |
UseNTP | |
NTPHost1 | string Hostname of the primary NTP server to use for automatic date/time settings |
NTPHost2 | string Hostname of a secondary, fallback NTP server to use for automatic date/time settings |
LogLevel | string Enum: "info" "debug" "trace" Current internal log level |
{- "RebootPolicy": "RecalculateSchedules",
- "Offline": true,
- "AutomaticVersionUpgrades": true,
- "AutomaticMinorUpdate": true,
- "DateTime": "2222-02-22T22:22:22.000Z",
- "Timezone": "Europe/London",
- "UseNTP": true,
- "NTPHost1": "0.uk.pool.ntp.org",
- "NTPHost2": "1.uk.pool.ntp.org",
- "LogLevel": "debug"
}
Update appliance settings
RebootPolicy | string Default: "RunDueSchedule" Enum: "RunDueSchedule" "RecalculateSchedules" Which action to take after restarting Restorepoint, rebooting or powering on this appliance. You can
|
Offline | boolean Default: false Will disable any automatic checks to the Restorepoint update server and will require manual updates |
AutomaticVersionUpgrades | boolean Default: true By default Restorepoint will update automatically, even for major version updates ( |
AutomaticMinorUpdate | boolean Default: true By default Restorepoint will update automatically for minor version updates ( |
DateTime | string Timestamp in RFC3339 format to set the appliance date and time |
Timezone | string TZ database timezone name |
UseNTP | |
NTPHost1 | string Hostname of the primary NTP server to use for automatic date/time settings |
NTPHost2 | string Hostname of a secondary, fallback NTP server to use for automatic date/time settings |
RebootPolicy | string Default: "RunDueSchedule" Enum: "RunDueSchedule" "RecalculateSchedules" Which action to take after restarting Restorepoint, rebooting or powering on this appliance. You can
|
Offline | boolean Default: false Will disable any automatic checks to the Restorepoint update server and will require manual updates |
AutomaticVersionUpgrades | boolean Default: true By default Restorepoint will update automatically, even for major version updates ( |
AutomaticMinorUpdate | boolean Default: true By default Restorepoint will update automatically for minor version updates ( |
DateTime | string Timestamp in RFC3339 format to set the appliance date and time |
Timezone | string TZ database timezone name |
UseNTP | |
NTPHost1 | string Hostname of the primary NTP server to use for automatic date/time settings |
NTPHost2 | string Hostname of a secondary, fallback NTP server to use for automatic date/time settings |
LogLevel | string Enum: "info" "debug" "trace" Current internal log level |
{- "RebootPolicy": "RecalculateSchedules",
- "Offline": true,
- "AutomaticVersionUpgrades": true,
- "AutomaticMinorUpdate": true,
- "DateTime": "2222-02-22T22:22:22.000Z",
- "Timezone": "Europe/London",
- "UseNTP": true,
- "NTPHost1": "0.uk.pool.ntp.org",
- "NTPHost2": "1.uk.pool.ntp.org"
}
{- "RebootPolicy": "RecalculateSchedules",
- "Offline": true,
- "AutomaticVersionUpgrades": true,
- "AutomaticMinorUpdate": true,
- "DateTime": "2222-02-22T22:22:22.000Z",
- "Timezone": "Europe/London",
- "UseNTP": true,
- "NTPHost1": "0.uk.pool.ntp.org",
- "NTPHost2": "1.uk.pool.ntp.org",
- "LogLevel": "debug"
}
Install the appliance. If appliance is offline, return an appliance key to register offline appliance
Company required | string Company name |
Contact required | string Contact name |
Email required | string Contact email |
Phone required | string Contact phone number |
Address required | string Customer or Business Unit address |
Reseller required | string Reseller name |
ActivationCode | string Only applies to appliances with no serial number, usually virtual machines |
Offline | boolean Default: false True if the box should be installed offline |
ApplianceKey | string Appliance key that should be user to register an offline appliance |
{- "Company": "Foo inc",
- "Contact": "John Doe",
- "Email": "afox@restorepoint.com",
- "Phone": "+44 844 571 8120",
- "Address": "4 Tannery Ln, Send, Woking GU23 7EF",
- "Reseller": "Foo inc",
- "ActivationCode": "some888_eval",
- "Offline": true
}
{- "ApplianceKey": "RPV5U2F5hags6"
}
Checks existing installation status
IsInstalled required | boolean Whether or not the appliance is already installed |
Errors required | Array of strings All the errors that occurred during installation |
{- "IsInstalled": false,
- "Errors": [
- "Appliance update failed: Something happened"
]
}
Checks existing update status
Version | string Currently installed version |
AvailableVersion | string Version of currently available update (if available) |
Changelog | string HTML changelog of changes between current and available version (if available) |
UpdateKey | string Encrypted key for manual updates |
{- "Version": "5.4:20220222222222",
- "AvailableVersion": "5.4:20230323232323",
- "Changelog": "<h1>Changelog 5.4:20230323<h1>\n<h2>Fixes</h2>\n<ul>\n <li>Foo</li>\n <li>Bar</li>\n <li>Baz</li>\n</ul>\n",
- "UpdateKey": "RPV5..."
}
You can prepare for disaster recovery scenarios by archiving the Restorepoint configuration. This allows you to back up the Restorepoint appliance automatically, to up to two remote servers, including all device configurations stored on Restorepoint.
Get archive settings
ArchiveCerts | boolean Default: false True if archive should contain certs and keys |
Schedule | string Default: "" A cron-like expression to schedule appliance backup intervals.
An empty value |
LastArchived | string <date-time> Timestamp in RFC3339 format when an archive was last taken |
NextDue | string <date-time> Timestamp in RFC3339 format when an archive will be taken next |
FailoverMode | boolean Default: false If true, failover to secondary archive server if primary fails. Set to false to always use both servers |
RetryAfter | integer Default: 0 Retry interval in hours. '0' means no retry. '-1' means to revert to manual archive. |
required | object Primary archive settings |
object Secondary archive settings |
{- "ArchiveCerts": true,
- "Schedule": "15 * * * *",
- "LastArchived": "2222-02-22T22:22:22.000Z",
- "NextDue": "2222-02-22T22:22:22.000Z",
- "FailoverMode": true,
- "RetryAfter": 0,
- "Primary": {
- "FileserverID": 123,
- "Retain": 5,
- "MaxBackups": 3
}, - "Secondary": {
- "FileserverID": 124,
- "Retain": 5,
- "MaxBackups": 3
}
}
Update archive settings
ArchiveCerts | boolean Default: false True if archive should contain certs and keys |
Schedule | string Default: "" A cron-like expression to schedule appliance backup intervals.
An empty value |
FailoverMode | boolean Default: false If true, failover to secondary archive server if primary fails. Set to false to always use both servers |
RetryAfter | integer Default: 0 Retry interval in hours. '0' means no retry. '-1' means to revert to manual archive. |
required | object Primary archive settings |
object Secondary archive settings |
ArchiveCerts | boolean Default: false True if archive should contain certs and keys |
Schedule | string Default: "" A cron-like expression to schedule appliance backup intervals.
An empty value |
LastArchived | string <date-time> Timestamp in RFC3339 format when an archive was last taken |
NextDue | string <date-time> Timestamp in RFC3339 format when an archive will be taken next |
FailoverMode | boolean Default: false If true, failover to secondary archive server if primary fails. Set to false to always use both servers |
RetryAfter | integer Default: 0 Retry interval in hours. '0' means no retry. '-1' means to revert to manual archive. |
required | object Primary archive settings |
object Secondary archive settings |
{- "ArchiveCerts": true,
- "Schedule": "15 * * * *",
- "FailoverMode": true,
- "RetryAfter": 0,
- "Primary": {
- "FileserverID": 123,
- "Retain": 5,
- "MaxBackups": 3
}, - "Secondary": {
- "FileserverID": 124,
- "Retain": 5,
- "MaxBackups": 3
}
}
{- "ArchiveCerts": true,
- "Schedule": "15 * * * *",
- "LastArchived": "2222-02-22T22:22:22.000Z",
- "NextDue": "2222-02-22T22:22:22.000Z",
- "FailoverMode": true,
- "RetryAfter": 0,
- "Primary": {
- "FileserverID": 123,
- "Retain": 5,
- "MaxBackups": 3
}, - "Secondary": {
- "FileserverID": 124,
- "Retain": 5,
- "MaxBackups": 3
}
}
Starts a manual appliance backup using the current appliance archive settings
Returns a list of appliance backups from primary and secondary servers
Array of objects List of appliance backups |
{- "data": [
- {
- "Created": "2222-02-22T22:22:22.000Z",
- "FileserverID": 123,
- "Secondary": true,
- "Key": "restorepoint_archive_RP00000123_20220222222222",
- "Serial": "RP00000123"
}
]
}
Restores Restorepoint from a given archive
FileserverID required | |
Key required | string Default: "" Identifier of the backup to be used for restoring an archive |
Password | string Default: "" Backup's admin user password. Required if backup is from a different appliance |
EncryptionPassword | string Default: "" Backup's admin encryption password. Required if backup is from a different appliance |
{- "FileserverID": 123,
- "Key": "restorepoint_archive_RP00000123_20220222222222",
- "Password": "password123",
- "EncryptionPassword": "password456"
}
{- "message": "Input validation failed",
- "errors": {
- "FileserverID": [
- "Fileserver with ID 123 does not exist"
]
}
}
Configure device asset information fields including location, asset tag, and serial number.
Retrieve all assetfields
all | integer Default: 0 Example: all=1 Return all asset fields, including built-in, non-editable ones. |
fields | string Example: fields=key,name Comma separated list of fields to return in the list operation. Those will then be the only fields returned. |
fields | Array of strings The filtered fields |
Array of objects (Assetfield) List of asset fields |
{- "fields": [
- "string"
], - "data": [
- {
- "ID": 123,
- "Name": "Service Tag",
- "Type": "date",
- "BuiltIn": true
}
]
}
Create a new assetfield
Name required | string Asset field name |
Type required | string Enum: "text" "textarea" "date" "daten" "daten30" "daten60" "file" "filen" The type of the asset field. The following types are supported:
|
ID | integer Asset field ID |
Name required | string Asset field name |
Type required | string Enum: "text" "textarea" "date" "daten" "daten30" "daten60" "file" "filen" The type of the asset field. The following types are supported:
|
BuiltIn | boolean Factory default asset fields are not editable and have this flag set to |
{- "Name": "Service Tag",
- "Type": "date"
}
{- "ID": 123,
- "Name": "Service Tag",
- "Type": "date",
- "BuiltIn": true
}
Retrieve a single assetfield
id required | integer Asset field ID |
ID | integer Asset field ID |
Name required | string Asset field name |
Type required | string Enum: "text" "textarea" "date" "daten" "daten30" "daten60" "file" "filen" The type of the asset field. The following types are supported:
|
BuiltIn | boolean Factory default asset fields are not editable and have this flag set to |
{- "ID": 123,
- "Name": "Service Tag",
- "Type": "date",
- "BuiltIn": true
}
Update an asset field
id required | integer Asset field ID |
Name required | string Asset field name |
Type required | string Enum: "text" "textarea" "date" "daten" "daten30" "daten60" "file" "filen" The type of the asset field. The following types are supported:
|
ID | integer Asset field ID |
Name required | string Asset field name |
Type required | string Enum: "text" "textarea" "date" "daten" "daten30" "daten60" "file" "filen" The type of the asset field. The following types are supported:
|
BuiltIn | boolean Factory default asset fields are not editable and have this flag set to |
{- "Name": "Service Tag",
- "Type": "date"
}
{- "ID": 123,
- "Name": "Service Tag",
- "Type": "date",
- "BuiltIn": true
}
Retrieve asset notification settings
NotifyDeviceOwner | boolean Default: false If true will notify the device owner of changes on assets, taking precedence over NotifyAddress |
NotifyAddress | string Default: "" Asset notify address, only has effect if NotifyDeviceOwner is disabled. Must be empty or a valid email address |
{- "NotifyDeviceOwner": true,
- "NotifyAddress": "admin@restorepoint.com"
}
Update asset notification settings
NotifyDeviceOwner | boolean Default: false If true will notify the device owner of changes on assets, taking precedence over NotifyAddress |
NotifyAddress | string Default: "" Asset notify address, only has effect if NotifyDeviceOwner is disabled. Must be empty or a valid email address |
{- "NotifyDeviceOwner": true,
- "NotifyAddress": "admin@restorepoint.com"
}
{- "message": "Input validation failed",
- "errors": {
- "NotifyAddress": [
- "Must be a valid email address or empty"
]
}
}
Allows you to configure additional authentication methods for Restorepoint. Supported methods are:
Get authentication settings
object Use RADIUS authentication | |
object SAML authentication settings | |
object LDAP (Active Directory) authentication settings |
{- "RADIUS": {
- "NASIdentifier": "foo",
- "CaseInsensitive": false,
- "Primary": {
- "Host": "radius1.example.com",
- "Port": 1812,
- "Secret": "Sunbreeze123"
}, - "Secondary": {
- "Host": "radius2.example.com",
- "Port": 1812,
- "Secret": "Sunbreeze123"
}
}, - "SAML": {
}, - "LDAP": {
- "CaseInsensitive": false,
- "Base": "dc=ldap,dc=example,dc=com",
- "UserSearch": {
- "Base": "cn=users,dc=company,dc=local",
- "UsernameField": "uid"
}, - "GroupSearch": {
- "Base": "cn=security groups,dc=company,dc=local",
- "Search": "objectClass=Group",
- "GroupMembersAttr": "memberuid"
}, - "Primary": {
- "Host": "ad1.example.com",
- "Port": 636,
- "BindDN": "cn=Administrator,cn=Users,dc=company,dc=local",
- "BindPassword": "Sunbreeze123",
- "UseTLS": "TLS"
}, - "Secondary": {
- "Host": "ad2.example.com",
- "Port": 636,
- "BindDN": "cn=Administrator,cn=Users,dc=company,dc=local",
- "BindPassword": "Sunbreeze123",
- "UseTLS": "TLS"
}
}
}
Update authentication settings
object Use RADIUS authentication | |
object SAML authentication settings | |
object LDAP (Active Directory) authentication settings |
object Use RADIUS authentication | |
object SAML authentication settings | |
object LDAP (Active Directory) authentication settings |
{- "RADIUS": {
- "NASIdentifier": "foo",
- "CaseInsensitive": false,
- "Primary": {
- "Host": "radius1.example.com",
- "Port": 1812,
- "Secret": "Sunbreeze123"
}, - "Secondary": {
- "Host": "radius2.example.com",
- "Port": 1812,
- "Secret": "Sunbreeze123"
}
}, - "SAML": {
- "Metadata": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<EntityDescriptor entityID=\"https://client.mydomain.com:443/webconsole\" xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\">\n <SPSSODescriptor protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\" WantAssertionsSigned=\"true\">\n <AssertionConsumerService isDefault=\"true\" index=\"0\" Location=\"https://client.mydomain.com:443/webconsole/samlAcsIdpInitCallback.do?samlAppKey=NjZEOUQ1RDRCQjE1NEI0\" Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"/>\n <md:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\" https://client.mydomain.com:443/webconsole/server/SAMLSingleLogout?samlAppKey=MzU2MkNDQTFBQzczNEZG\" ResponseLocation=\"https://client.mydomain.com:443/webconsole/server/SAMLSingleLogout\"/>\n <md:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\" Location=\" https://client.mydomain.com:443/webconsole/server/SAMLSingleLogout?samlAppKey=MzU2MkNDQTFBQzczNEZG\"ResponseLocation=\"https://client.mydomain.com:443/webconsole/server/SAMLSingleLogout\"/>\n <KeyDescriptor>\n <ds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\">\n <ds:X509Data>\n <ds:X509Certificate>encoded_certificate</ds:X509Certificate>\n </ds:X509Data>\n </ds:KeyInfo>\n </KeyDescriptor>\n <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:entity</NameIDFormat>\n </SPSSODescriptor>\n</EntityDescriptor>\n"
}, - "LDAP": {
- "CaseInsensitive": false,
- "Base": "dc=ldap,dc=example,dc=com",
- "UserSearch": {
- "Base": "cn=users,dc=company,dc=local",
- "UsernameField": "uid"
}, - "GroupSearch": {
- "Base": "cn=security groups,dc=company,dc=local",
- "Search": "objectClass=Group",
- "GroupMembersAttr": "memberuid"
}, - "Primary": {
- "Host": "ad1.example.com",
- "Port": 636,
- "BindDN": "cn=Administrator,cn=Users,dc=company,dc=local",
- "BindPassword": "Sunbreeze123",
- "UseTLS": "TLS"
}, - "Secondary": {
- "Host": "ad2.example.com",
- "Port": 636,
- "BindDN": "cn=Administrator,cn=Users,dc=company,dc=local",
- "BindPassword": "Sunbreeze123",
- "UseTLS": "TLS"
}
}
}
{- "RADIUS": {
- "NASIdentifier": "foo",
- "CaseInsensitive": false,
- "Primary": {
- "Host": "radius1.example.com",
- "Port": 1812,
- "Secret": "Sunbreeze123"
}, - "Secondary": {
- "Host": "radius2.example.com",
- "Port": 1812,
- "Secret": "Sunbreeze123"
}
}, - "SAML": {
}, - "LDAP": {
- "CaseInsensitive": false,
- "Base": "dc=ldap,dc=example,dc=com",
- "UserSearch": {
- "Base": "cn=users,dc=company,dc=local",
- "UsernameField": "uid"
}, - "GroupSearch": {
- "Base": "cn=security groups,dc=company,dc=local",
- "Search": "objectClass=Group",
- "GroupMembersAttr": "memberuid"
}, - "Primary": {
- "Host": "ad1.example.com",
- "Port": 636,
- "BindDN": "cn=Administrator,cn=Users,dc=company,dc=local",
- "BindPassword": "Sunbreeze123",
- "UseTLS": "TLS"
}, - "Secondary": {
- "Host": "ad2.example.com",
- "Port": 636,
- "BindDN": "cn=Administrator,cn=Users,dc=company,dc=local",
- "BindPassword": "Sunbreeze123",
- "UseTLS": "TLS"
}
}
}
Tests LDAP (Active Directory) server by running a search
Type | string Default: "User" Enum: "Group" "Manual" Type of test |
Host required | string Primary LDAP server name or IP address |
Port | integer Default: 389 UDP port used by the LDAP server (usually |
Base required | string The top-level LDAP DN. This is usually (but not always) the DNS domain name |
required | object Settings to search for LDAP users |
required | object Settings to search for LDAP groups |
ManualSearch | string Manual search filter. Required if Type is 'Manual' |
BindDN required | string DN to bind the LDAP with |
BindPassword required | string LDAP Bind password |
UseTLS | string Default: "None" Enum: "None" "TLS" "STARTTLS" Whether to require encrypted connections to the LDAP Server |
Array of objects LDAP search results |
{- "Type": "Manual",
- "Host": "ad1.example.com",
- "Port": 636,
- "Base": "dc=ldap,dc=example,dc=com",
- "UserSearch": {
- "Base": "cn=users,dc=company,dc=local",
- "UsernameField": "uid"
}, - "GroupSearch": {
- "Base": "cn=security groups,dc=company,dc=local",
- "Search": "objectClass=Group"
}, - "ManualSearch": "(objectclass=*)",
- "BindDN": "cn=Administrator,cn=Users,dc=company,dc=local",
- "BindPassword": "Sunbreeze123",
- "UseTLS": "TLS"
}
{- "Results": [
- {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}
]
}
Allows you to set default device settings that are inherited whenever a new device is added but can be overriden.
Retrieve default device settings
required | object Default retention policy for all new devices |
required | object Defaults for configuration filenames |
required | object Default failure policy for all new devices |
required | object Default settings for device monitoring |
required | object Default notification settings for email alerts |
{- "RetentionPolicy": {
- "RetainVersions": 10,
- "RetainDays": 7,
- "DeleteDays": 30,
- "ConfigTypes": [
- "_default"
]
}, - "ConfigFilename": {
- "Prefix": "foo",
- "IncludeID": true,
- "IncludeName": true
}, - "FailurePolicy": {
- "Retries": 0,
- "Action": "Revert",
- "Alerts": 0,
- "RetryInterval": 15
}, - "Monitoring": {
- "Enabled": true,
- "AlertFail": 2,
- "IsPing": true,
- "AlertEmail": false,
- "AlertEmailUp": true
}, - "Notifications": {
- "OnConfigChange": true,
- "OnBackupStart": false,
- "OnBackupEnd": false
}
}
Update default device settings
required | object Default retention policy for all new devices |
required | object Defaults for configuration filenames |
required | object Default failure policy for all new devices |
required | object Default settings for device monitoring |
required | object Default notification settings for email alerts |
required | object Default retention policy for all new devices |
required | object Defaults for configuration filenames |
required | object Default failure policy for all new devices |
required | object Default settings for device monitoring |
required | object Default notification settings for email alerts |
{- "RetentionPolicy": {
- "RetainVersions": 10,
- "RetainDays": 7,
- "DeleteDays": 30,
- "ConfigTypes": [
- "_default"
]
}, - "ConfigFilename": {
- "Prefix": "foo",
- "IncludeID": true,
- "IncludeName": true
}, - "FailurePolicy": {
- "Retries": 0,
- "Action": "Revert",
- "Alerts": 0,
- "RetryInterval": 15
}, - "Monitoring": {
- "Enabled": true,
- "AlertFail": 2,
- "IsPing": true,
- "AlertEmail": false,
- "AlertEmailUp": true
}, - "Notifications": {
- "OnConfigChange": true,
- "OnBackupStart": false,
- "OnBackupEnd": false
}
}
{- "RetentionPolicy": {
- "RetainVersions": 10,
- "RetainDays": 7,
- "DeleteDays": 30,
- "ConfigTypes": [
- "_default"
]
}, - "ConfigFilename": {
- "Prefix": "foo",
- "IncludeID": true,
- "IncludeName": true
}, - "FailurePolicy": {
- "Retries": 0,
- "Action": "Revert",
- "Alerts": 0,
- "RetryInterval": 15
}, - "Monitoring": {
- "Enabled": true,
- "AlertFail": 2,
- "IsPing": true,
- "AlertEmail": false,
- "AlertEmailUp": true
}, - "Notifications": {
- "OnConfigChange": true,
- "OnBackupStart": false,
- "OnBackupEnd": false
}
}
Allows you to set device discovery settings for manual or scheduled device discovery runs.
Get device discovery settings
Schedule required | string Default: "" A cron-like expression for running device discovery periodically. Leave blank to disable |
LastRun | string Timestamp in RFC3339 format when discovery last ran |
Notify | boolean Default: false Send a notification every time new devices are discovered |
required | Array of objects Network ranges to include in scan, either directly or via agent. Ranges can also be defined as to be ignored |
required | Array of objects List of SNMP communities to use for SNMP fingerprinting |
required | Array of objects List of rules to override detected plugins based on hostname patters |
AutoAssignDomain | |
UseAutoImport | |
required | Array of objects Automatically assign credentials and simple backup schedule to imported devices based on patterns |
{- "Schedule": "15 * * * *",
- "LastRun": "2222-02-22T22:22:22.000Z",
- "Notify": true,
- "SearchRanges": [
- {
- "Range": "192.0.2.0/24",
- "AgentID": 0
}, - {
- "Range": "192.0.2.0/24",
- "AgentID": 123
}, - {
- "Range": "192.0.2.123",
- "Ignored": true
}
], - "SNMPCommunities": [
- {
- "Version": "1",
- "Community": "public"
}, - {
- "Version": "1",
- "Community": "publicv1"
}, - {
- "Version": "2c",
- "Community": "publicv1"
}
], - "PluginRules": [
- {
- "Pattern": "ASA",
- "PluginKey": "cisco_asa"
}, - {
- "Pattern": "CSC",
- "PluginKey": "cisco_ios"
}
], - "AutoAssignDomain": true,
- "UseAutoImport": true,
- "AutoImportRules": [
- {
- "Type": "DeviceType",
- "Value": "cisco_ios",
- "CredentialID": 123,
- "ScheduleName": "Daily"
}, - {
- "Type": "AddressRange",
- "Value": "192.0.2.0/24",
- "CredentialID": 0,
- "ScheduleName": "Hourly"
}, - {
- "Type": "HostnamePattern",
- "Value": "^[A-F][A-F][A-F][0-9]+$",
- "CredentialID": 124,
- "ScheduleName": "Monthly"
}, - {
- "Type": "Domain",
- "Value": "123",
- "CredentialID": 125,
- "ScheduleName": "Manual"
}, - {
- "Type": "Location",
- "Value": "home",
- "CredentialID": 0,
- "ScheduleName": "Weekly"
}
]
}
Update discovery settings
Schedule required | string Default: "" A cron-like expression for running device discovery periodically. Leave blank to disable |
Notify | boolean Default: false Send a notification every time new devices are discovered |
required | Array of objects Network ranges to include in scan, either directly or via agent. Ranges can also be defined as to be ignored |
required | Array of objects List of SNMP communities to use for SNMP fingerprinting |
required | Array of objects List of rules to override detected plugins based on hostname patters |
AutoAssignDomain | |
UseAutoImport | |
required | Array of objects Automatically assign credentials and simple backup schedule to imported devices based on patterns |
Schedule required | string Default: "" A cron-like expression for running device discovery periodically. Leave blank to disable |
LastRun | string Timestamp in RFC3339 format when discovery last ran |
Notify | boolean Default: false Send a notification every time new devices are discovered |
required | Array of objects Network ranges to include in scan, either directly or via agent. Ranges can also be defined as to be ignored |
required | Array of objects List of SNMP communities to use for SNMP fingerprinting |
required | Array of objects List of rules to override detected plugins based on hostname patters |
AutoAssignDomain | |
UseAutoImport | |
required | Array of objects Automatically assign credentials and simple backup schedule to imported devices based on patterns |
{- "Schedule": "15 * * * *",
- "Notify": true,
- "SearchRanges": [
- {
- "Range": "192.0.2.0/24",
- "AgentID": 0
}, - {
- "Range": "192.0.2.0/24",
- "AgentID": 123
}, - {
- "Range": "192.0.2.123",
- "Ignored": true
}
], - "SNMPCommunities": [
- {
- "Version": "1",
- "Community": "public"
}, - {
- "Version": "1",
- "Community": "publicv1"
}, - {
- "Version": "2c",
- "Community": "publicv1"
}
], - "PluginRules": [
- {
- "Pattern": "ASA",
- "PluginKey": "cisco_asa"
}, - {
- "Pattern": "CSC",
- "PluginKey": "cisco_ios"
}
], - "AutoAssignDomain": true,
- "UseAutoImport": true,
- "AutoImportRules": [
- {
- "Type": "DeviceType",
- "Value": "cisco_ios",
- "CredentialID": 123,
- "ScheduleName": "Daily"
}, - {
- "Type": "AddressRange",
- "Value": "192.0.2.0/24",
- "CredentialID": 0,
- "ScheduleName": "Hourly"
}, - {
- "Type": "HostnamePattern",
- "Value": "^[A-F][A-F][A-F][0-9]+$",
- "CredentialID": 124,
- "ScheduleName": "Monthly"
}, - {
- "Type": "Domain",
- "Value": "123",
- "CredentialID": 125,
- "ScheduleName": "Manual"
}, - {
- "Type": "Location",
- "Value": "home",
- "CredentialID": 0,
- "ScheduleName": "Weekly"
}
]
}
{- "Schedule": "15 * * * *",
- "LastRun": "2222-02-22T22:22:22.000Z",
- "Notify": true,
- "SearchRanges": [
- {
- "Range": "192.0.2.0/24",
- "AgentID": 0
}, - {
- "Range": "192.0.2.0/24",
- "AgentID": 123
}, - {
- "Range": "192.0.2.123",
- "Ignored": true
}
], - "SNMPCommunities": [
- {
- "Version": "1",
- "Community": "public"
}, - {
- "Version": "1",
- "Community": "publicv1"
}, - {
- "Version": "2c",
- "Community": "publicv1"
}
], - "PluginRules": [
- {
- "Pattern": "ASA",
- "PluginKey": "cisco_asa"
}, - {
- "Pattern": "CSC",
- "PluginKey": "cisco_ios"
}
], - "AutoAssignDomain": true,
- "UseAutoImport": true,
- "AutoImportRules": [
- {
- "Type": "DeviceType",
- "Value": "cisco_ios",
- "CredentialID": 123,
- "ScheduleName": "Daily"
}, - {
- "Type": "AddressRange",
- "Value": "192.0.2.0/24",
- "CredentialID": 0,
- "ScheduleName": "Hourly"
}, - {
- "Type": "HostnamePattern",
- "Value": "^[A-F][A-F][A-F][0-9]+$",
- "CredentialID": 124,
- "ScheduleName": "Monthly"
}, - {
- "Type": "Domain",
- "Value": "123",
- "CredentialID": 125,
- "ScheduleName": "Manual"
}, - {
- "Type": "Location",
- "Value": "home",
- "CredentialID": 0,
- "ScheduleName": "Weekly"
}
]
}
High Availability (HA) provides a way to minimise the effects of hardware failure, by configuring two Restorepoint appliances in a cluster.
Under normal operating conditions, the primary cluster member is active and the secondary is in standby mode; the active appliance performs all network operations, and replicates all settings and device configurations to the standby appliance. Restorepoint replicates data both incrementally (for instance, just after a backup is retrieved from a device) and by performing full synchronisations on a regular basis.
Should the primary member become unavailable because of hardware failure, other network problem, or losing power, the secondary member will automatically become Active, and carry on as normal. If the primary recovers, it will automatically take over from the secondary and become active.
HA does not require the appliance to be installed on the same network, as long as the traffic requirements are met (see below).
Software updates and upgrades are managed at the cluster level; updating the active appliance will automatically update the standby appliance.
Get high availability settings
IsActive | boolean Default: false Enable or disable clustering (if enabled for the appliance) |
IsPrimary | boolean Default: false Denotes if this appliance is the Primary or not |
PrimaryAddress | string Primary's IP address |
SecondaryAddress | string Secondary's IP address (if one has joined) |
Secret required | string Cluster secret |
{- "IsActive": true,
- "IsPrimary": true,
- "PrimaryAddress": "198.51.100.1",
- "SecondaryAddress": "198.51.100.2",
- "Secret": "Sunbreeze123"
}
Update high availability settings
IsActive | boolean Default: false Enable or disable clustering (if enabled for the appliance) |
IsPrimary | boolean Default: false Denotes if this appliance is the Primary or not |
PrimaryAddress | string Primary's IP address |
Secret required | string Cluster secret |
IsActive | boolean Default: false Enable or disable clustering (if enabled for the appliance) |
IsPrimary | boolean Default: false Denotes if this appliance is the Primary or not |
PrimaryAddress | string Primary's IP address |
SecondaryAddress | string Secondary's IP address (if one has joined) |
Secret required | string Cluster secret |
{- "IsActive": true,
- "IsPrimary": true,
- "Secret": "Sunbreeze123"
}
{- "IsActive": true,
- "IsPrimary": true,
- "PrimaryAddress": "198.51.100.1",
- "SecondaryAddress": "198.51.100.2",
- "Secret": "Sunbreeze123"
}
Get high availability cluster status
Active | boolean Set to |
ClusterStatus | string A description of a high availability cluster status |
{- "Active": true,
- "ClusterStatus": "Last sync: 2s ago"
}
Get log settings
DeleteAfter | string Default: "1 month" Enum: "15 days" "1 month" "2 months" "3 months" "6 months" "12 months" "Never" Number of days or months to keep logs for. Log entries older than this value will be removed automatically every 12 hours |
required | object Syslog settings |
required | object SNMP settings |
{- "DeleteAfter": "1 month",
- "Syslog": {
- "Enabled": true,
- "Primary": {
- "Host": "syslog1.example.com",
- "Port": 514
}, - "Secondary": {
- "Host": "syslog2.example.com",
- "Port": 514
}, - "Facility": "local0"
}, - "SNMP": {
- "Enabled": true,
- "Host": "snmp.example.com",
- "Version": "1",
- "Community": "public"
}
}
Update log settings
DeleteAfter | string Default: "1 month" Enum: "15 days" "1 month" "2 months" "3 months" "6 months" "12 months" "Never" Number of days or months to keep logs for. Log entries older than this value will be removed automatically every 12 hours |
required | object Syslog settings |
required | object SNMP settings |
DeleteAfter | string Default: "1 month" Enum: "15 days" "1 month" "2 months" "3 months" "6 months" "12 months" "Never" Number of days or months to keep logs for. Log entries older than this value will be removed automatically every 12 hours |
required | object Syslog settings |
required | object SNMP settings |
{- "DeleteAfter": "1 month",
- "Syslog": {
- "Enabled": true,
- "Primary": {
- "Host": "syslog1.example.com",
- "Port": 514
}, - "Secondary": {
- "Host": "syslog2.example.com",
- "Port": 514
}, - "Facility": "local0"
}, - "SNMP": {
- "Enabled": true,
- "Host": "snmp.example.com",
- "Version": "1",
- "Community": "public"
}
}
{- "DeleteAfter": "1 month",
- "Syslog": {
- "Enabled": true,
- "Primary": {
- "Host": "syslog1.example.com",
- "Port": 514
}, - "Secondary": {
- "Host": "syslog2.example.com",
- "Port": 514
}, - "Facility": "local0"
}, - "SNMP": {
- "Enabled": true,
- "Host": "snmp.example.com",
- "Version": "1",
- "Community": "public"
}
}
Allows you to set network settings such as the IP address and static routes.
Restorepoint may use back-connections (typically TFTP or FTP) to backup certain devices. If Restorepoint is accessing a device using back connections through a NAT router or firewall, back-connections will fail, because the device will attempt to connect to the original, untranslated IP address. To avoid this problem, proceed as follows:
NatAddress
field. The system-wide NAT IP address defined
here can be overridden in the Domain settings, or in each individual device's settingsRestorepoint supports multiple NAT addresses; the NAT IP address defined in this page can be overridden by the Domain or Device NAT IP setting.
Changing the IP address to a different one will result in aborted connections.
Get network settings
required | Array of objects List of interface settings |
Gateway required | string Gateway address |
DNS1 required | string Address of the primary DNS server |
DNS2 | string Address of the secondary DNS server |
DNS3 | string Address of the IPv6 DNS server |
DomainName required | string Domain name to use for name resolution |
required | object Restorepoint needs Internet access (HTTP/HTTPS) in order to retrieve software and plugin updates |
NatAddress | |
ScpThrottle | integer Default: 0 Limit the network bandwidth for SCP/SFTP to this field's value in kbps ( |
{- "Interfaces": [
- {
- "Name": "eth0",
- "UseDHCP": true,
- "Address": "192.168.1.1",
- "Mask": "255.255.255.0",
- "SpeedDuplex": {
- "Speed": "1000Mb/s",
- "Duplex": "Full Duplex"
}, - "AutoNegotiation": true,
- "SupportedSpeeds": [
- {
- "Speed": "1000Mb/s",
- "Duplex": "Full Duplex"
}
], - "IPV6Init": true,
- "IPV6Autoconf": true,
- "DHCPV6": true,
- "IPV6Address": "2001:db8::250:56ff:febd:a472/64",
- "IPV6DefaultGateway": "2001:db8::250:56ff:febd:a472"
}
], - "Gateway": "192.168.1.254",
- "DNS1": "192.168.1.252",
- "DNS2": "192.168.1.253",
- "DNS3": "2001:db8::250:56ff:febd:a472",
- "DomainName": "corp.example.com",
- "Proxy": {
- "Enabled": false,
- "Address": "192.168.1.251",
- "Port": 8080,
- "Username": "afox",
- "Password": "Sunbreeze123"
}, - "NatAddress": "198.51.100.123",
- "ScpThrottle": 0
}
Update network settings
required | Array of objects List of interface settings |
Gateway required | string Gateway address |
DNS1 required | string Address of the primary DNS server |
DNS2 | string Address of the secondary DNS server |
DNS3 | string Address of the IPv6 DNS server |
DomainName required | string Domain name to use for name resolution |
required | object Restorepoint needs Internet access (HTTP/HTTPS) in order to retrieve software and plugin updates |
NatAddress | |
ScpThrottle | integer Default: 0 Limit the network bandwidth for SCP/SFTP to this field's value in kbps ( |
required | Array of objects List of interface settings |
Gateway required | string Gateway address |
DNS1 required | string Address of the primary DNS server |
DNS2 | string Address of the secondary DNS server |
DNS3 | string Address of the IPv6 DNS server |
DomainName required | string Domain name to use for name resolution |
required | object Restorepoint needs Internet access (HTTP/HTTPS) in order to retrieve software and plugin updates |
NatAddress | |
ScpThrottle | integer Default: 0 Limit the network bandwidth for SCP/SFTP to this field's value in kbps ( |
{- "Interfaces": [
- {
- "Name": "eth0",
- "UseDHCP": true,
- "Address": "192.168.1.1",
- "Mask": "255.255.255.0",
- "SpeedDuplex": {
- "Speed": "1000Mb/s",
- "Duplex": "Full Duplex"
}, - "AutoNegotiation": true,
- "IPV6Init": true,
- "IPV6Autoconf": true,
- "DHCPV6": true,
- "IPV6Address": "2001:db8::250:56ff:febd:a472/64",
- "IPV6DefaultGateway": "2001:db8::250:56ff:febd:a472"
}
], - "Gateway": "192.168.1.254",
- "DNS1": "192.168.1.252",
- "DNS2": "192.168.1.253",
- "DNS3": "2001:db8::250:56ff:febd:a472",
- "DomainName": "corp.example.com",
- "Proxy": {
- "Enabled": false,
- "Address": "192.168.1.251",
- "Port": 8080,
- "Username": "afox",
- "Password": "Sunbreeze123"
}, - "NatAddress": "198.51.100.123",
- "ScpThrottle": 0
}
{- "Interfaces": [
- {
- "Name": "eth0",
- "UseDHCP": true,
- "Address": "192.168.1.1",
- "Mask": "255.255.255.0",
- "SpeedDuplex": {
- "Speed": "1000Mb/s",
- "Duplex": "Full Duplex"
}, - "AutoNegotiation": true,
- "SupportedSpeeds": [
- {
- "Speed": "1000Mb/s",
- "Duplex": "Full Duplex"
}
], - "IPV6Init": true,
- "IPV6Autoconf": true,
- "DHCPV6": true,
- "IPV6Address": "2001:db8::250:56ff:febd:a472/64",
- "IPV6DefaultGateway": "2001:db8::250:56ff:febd:a472"
}
], - "Gateway": "192.168.1.254",
- "DNS1": "192.168.1.252",
- "DNS2": "192.168.1.253",
- "DNS3": "2001:db8::250:56ff:febd:a472",
- "DomainName": "corp.example.com",
- "Proxy": {
- "Enabled": false,
- "Address": "192.168.1.251",
- "Port": 8080,
- "Username": "afox",
- "Password": "Sunbreeze123"
}, - "NatAddress": "198.51.100.123",
- "ScpThrottle": 0
}
Add a static route
Network required | string Network address/netmask in CIDR notation |
Gateway required | string Gateway address |
{- "Network": "10.0.0.0/8",
- "Gateway": "127.0.0.2"
}
{- "message": "Input validation failed",
- "errors": {
- "Network": [
- "Must not be blank",
- "Range '255.255.255.255/255' is not a valid network range in CIDR notatation"
], - "Gateway": [
- "Must not be blank",
- "IP '256.256.256.256' is not a valid IP address"
]
}
}
Delete a static route
Network required | string Network address/netmask in CIDR notation |
{- "Network": "10.0.0.0/8"
}
{- "message": "Input validation failed",
- "errors": {
- "Network": [
- "Must not be blank",
- "Range '255.255.255.255/255' is not a valid network range in CIDR notatation",
- "Network '1.1.1.1/1' does not exist"
]
}
}
Password policies allow you to configure various rules for enforcing password strength, for both devices and users. These settings are used in the strength meter displayed in all password fields: the background of the field will change colour, from red for an unacceptable password, to yellow for a weak password, to green for a good password.
Get password settings
required | object Device password settings |
required | object User password settings |
{- "DevicePasswords": {
- "MinimumLength": 8,
- "GoodLength": 14,
- "RejectCommonPasswords": true,
- "RejectDictionaryWords": true,
- "MustMixCase": true,
- "MustIncludeNumbers": true,
- "MustIncludeSymbols": true
}, - "UserPasswords": {
- "MinimumLength": 8,
- "GoodLength": 14,
- "RejectCommonPasswords": true,
- "RejectDictionaryWords": true,
- "MustMixCase": true,
- "MustIncludeNumbers": true,
- "MustIncludeSymbols": true,
- "Expiration": 183
}
}
Update password settings
required | object Device password settings |
required | object User password settings |
required | object Device password settings |
required | object User password settings |
{- "DevicePasswords": {
- "MinimumLength": 8,
- "GoodLength": 14,
- "RejectCommonPasswords": true,
- "RejectDictionaryWords": true,
- "MustMixCase": true,
- "MustIncludeNumbers": true,
- "MustIncludeSymbols": true
}, - "UserPasswords": {
- "MinimumLength": 8,
- "GoodLength": 14,
- "RejectCommonPasswords": true,
- "RejectDictionaryWords": true,
- "MustMixCase": true,
- "MustIncludeNumbers": true,
- "MustIncludeSymbols": true,
- "Expiration": 183
}
}
{- "DevicePasswords": {
- "MinimumLength": 8,
- "GoodLength": 14,
- "RejectCommonPasswords": true,
- "RejectDictionaryWords": true,
- "MustMixCase": true,
- "MustIncludeNumbers": true,
- "MustIncludeSymbols": true
}, - "UserPasswords": {
- "MinimumLength": 8,
- "GoodLength": 14,
- "RejectCommonPasswords": true,
- "RejectDictionaryWords": true,
- "MustMixCase": true,
- "MustIncludeNumbers": true,
- "MustIncludeSymbols": true,
- "Expiration": 183
}
}
Returns the default public keys for your appliance that can be used for public key authentication with devices that support it.
Configure various global settings to mandate a higher level of network security for the Restorepoint appliance. Setting some of these options may cause compatibility problems with legacy devices and clients.
Get security settings
required | object TLS security settings |
required | object Timeout settings |
required | object Service security settings |
AllowedNetworks | Array of strings Default: [] List of network masks admin users are allowed to connect from |
MaxLoginAttemptsPerMinute | integer Default: 0 Limit on the amount of login attempts that can be made from the same IP address. 0 means no limit will be applied |
required | object SSH ciphers, MACs and key exchange algorithms for clients and servers, as well as additional SSH port |
{- "TLS": {
- "ClientVersion": 769,
- "RestorepointVersion": 769,
- "EnableRSA": false,
- "EnableCBC": false,
- "EnableRC4": false,
- "Enable3DES": false
}, - "Timeouts": {
- "UserInterface": 10,
- "Console": 15
}, - "Services": {
- "EnableHTTP": true,
- "EnableFTP": true,
- "EnableTFTP": true
}, - "AllowedNetworks": [
- "192.168.1.0/24",
- "192.168.2.0/24",
- "192.168.3.0/24"
], - "MaxLoginAttemptsPerMinute": 0,
- "SSH": {
- "Available": {
- "Ciphers": [
- "3des-cbc",
- "aes128-cbc",
- "aes192-cbc",
- "aes256-cbc",
- "rijndael-cbc@lysator.liu.se",
- "aes128-ctr",
- "aes192-ctr",
- "aes256-ctr",
- "aes128-gcm@openssh.com",
- "aes256-gcm@openssh.com",
- "chacha20-poly1305@openssh.com"
], - "MACs": [
- "hmac-sha1",
- "hmac-sha1-96",
- "hmac-sha2-256",
- "hmac-sha2-512",
- "hmac-md5",
- "hmac-md5-96",
- "umac-64@openssh.com",
- "umac-128@openssh.com",
- "hmac-sha1-etm@openssh.com",
- "hmac-sha1-96-etm@openssh.com",
- "hmac-sha2-256-etm@openssh.com",
- "hmac-sha2-512-etm@openssh.com",
- "hmac-md5-etm@openssh.com",
- "hmac-md5-96-etm@openssh.com",
- "umac-64-etm@openssh.com",
- "umac-128-etm@openssh.com"
], - "KexAlgorithms": [
- "diffie-hellman-group1-sha1",
- "diffie-hellman-group14-sha1",
- "diffie-hellman-group14-sha256",
- "diffie-hellman-group16-sha512",
- "diffie-hellman-group18-sha512",
- "diffie-hellman-group-exchange-sha1",
- "diffie-hellman-group-exchange-sha256",
- "ecdh-sha2-nistp256",
- "ecdh-sha2-nistp384",
- "ecdh-sha2-nistp521",
- "curve25519-sha256",
- "curve25519-sha256@libssh.org",
- "sntrup4591761x25519-sha512@tinyssh.org"
]
}, - "Client": {
- "Ciphers": [
- "3des-cbc",
- "aes128-cbc",
- "aes192-cbc",
- "aes256-cbc",
- "rijndael-cbc@lysator.liu.se",
- "aes128-ctr",
- "aes192-ctr",
- "aes256-ctr",
- "aes128-gcm@openssh.com",
- "aes256-gcm@openssh.com",
- "chacha20-poly1305@openssh.com"
], - "MACs": [
- "hmac-sha1",
- "hmac-sha1-96",
- "hmac-sha2-256",
- "hmac-sha2-512",
- "hmac-md5",
- "hmac-md5-96",
- "umac-64@openssh.com",
- "umac-128@openssh.com",
- "hmac-sha1-etm@openssh.com",
- "hmac-sha1-96-etm@openssh.com",
- "hmac-sha2-256-etm@openssh.com",
- "hmac-sha2-512-etm@openssh.com",
- "hmac-md5-etm@openssh.com",
- "hmac-md5-96-etm@openssh.com",
- "umac-64-etm@openssh.com",
- "umac-128-etm@openssh.com"
], - "KexAlgorithms": [
- "diffie-hellman-group1-sha1",
- "diffie-hellman-group14-sha1",
- "diffie-hellman-group14-sha256",
- "diffie-hellman-group16-sha512",
- "diffie-hellman-group18-sha512",
- "diffie-hellman-group-exchange-sha1",
- "diffie-hellman-group-exchange-sha256",
- "ecdh-sha2-nistp256",
- "ecdh-sha2-nistp384",
- "ecdh-sha2-nistp521",
- "curve25519-sha256",
- "curve25519-sha256@libssh.org",
- "sntrup4591761x25519-sha512@tinyssh.org"
]
}, - "Server": {
- "Ciphers": [
- "chacha20-poly1305@openssh.com",
- "aes128-ctr",
- "aes192-ctr",
- "aes256-ctr",
- "aes128-gcm@openssh.com",
- "aes256-gcm@openssh.com"
], - "MACs": [
- "umac-64-etm@openssh.com",
- "umac-128-etm@openssh.com",
- "hmac-sha2-256-etm@openssh.com",
- "hmac-sha2-512-etm@openssh.com",
- "hmac-sha1-etm@openssh.com",
- "umac-64@openssh.com",
- "umac-128@openssh.com",
- "hmac-sha2-256",
- "hmac-sha2-512",
- "hmac-sha1"
], - "KexAlgorithms": [
- "curve25519-sha256",
- "curve25519-sha256@libssh.org",
- "ecdh-sha2-nistp256",
- "ecdh-sha2-nistp384",
- "ecdh-sha2-nistp521",
- "diffie-hellman-group-exchange-sha256",
- "diffie-hellman-group16-sha512",
- "diffie-hellman-group18-sha512",
- "diffie-hellman-group14-sha256",
- "diffie-hellman-group14-sha1"
], - "AdditionalPort": 2022
}
}
}
Update security settings
required | object TLS security settings |
required | object Timeout settings |
required | object Service security settings |
AllowedNetworks | Array of strings Default: [] List of network masks admin users are allowed to connect from |
MaxLoginAttemptsPerMinute | integer Default: 0 Limit on the amount of login attempts that can be made from the same IP address. 0 means no limit will be applied |
required | object SSH ciphers, MACs and key exchange algorithms for clients and servers, as well as additional SSH port |
required | object TLS security settings |
required | object Timeout settings |
required | object Service security settings |
AllowedNetworks | Array of strings Default: [] List of network masks admin users are allowed to connect from |
MaxLoginAttemptsPerMinute | integer Default: 0 Limit on the amount of login attempts that can be made from the same IP address. 0 means no limit will be applied |
required | object SSH ciphers, MACs and key exchange algorithms for clients and servers, as well as additional SSH port |
{- "TLS": {
- "ClientVersion": 769,
- "RestorepointVersion": 769,
- "EnableRSA": false,
- "EnableCBC": false,
- "EnableRC4": false,
- "Enable3DES": false
}, - "Timeouts": {
- "UserInterface": 10,
- "Console": 15
}, - "Services": {
- "EnableHTTP": true,
- "EnableFTP": true,
- "EnableTFTP": true
}, - "AllowedNetworks": [
- "192.168.1.0/24",
- "192.168.2.0/24",
- "192.168.3.0/24"
], - "MaxLoginAttemptsPerMinute": 0,
- "SSH": {
- "Client": {
- "Ciphers": [
- "3des-cbc",
- "aes128-cbc",
- "aes192-cbc",
- "aes256-cbc",
- "rijndael-cbc@lysator.liu.se",
- "aes128-ctr",
- "aes192-ctr",
- "aes256-ctr",
- "aes128-gcm@openssh.com",
- "aes256-gcm@openssh.com",
- "chacha20-poly1305@openssh.com"
], - "MACs": [
- "hmac-sha1",
- "hmac-sha1-96",
- "hmac-sha2-256",
- "hmac-sha2-512",
- "hmac-md5",
- "hmac-md5-96",
- "umac-64@openssh.com",
- "umac-128@openssh.com",
- "hmac-sha1-etm@openssh.com",
- "hmac-sha1-96-etm@openssh.com",
- "hmac-sha2-256-etm@openssh.com",
- "hmac-sha2-512-etm@openssh.com",
- "hmac-md5-etm@openssh.com",
- "hmac-md5-96-etm@openssh.com",
- "umac-64-etm@openssh.com",
- "umac-128-etm@openssh.com"
], - "KexAlgorithms": [
- "diffie-hellman-group1-sha1",
- "diffie-hellman-group14-sha1",
- "diffie-hellman-group14-sha256",
- "diffie-hellman-group16-sha512",
- "diffie-hellman-group18-sha512",
- "diffie-hellman-group-exchange-sha1",
- "diffie-hellman-group-exchange-sha256",
- "ecdh-sha2-nistp256",
- "ecdh-sha2-nistp384",
- "ecdh-sha2-nistp521",
- "curve25519-sha256",
- "curve25519-sha256@libssh.org",
- "sntrup4591761x25519-sha512@tinyssh.org"
]
}, - "Server": {
- "Ciphers": [
- "chacha20-poly1305@openssh.com",
- "aes128-ctr",
- "aes192-ctr",
- "aes256-ctr",
- "aes128-gcm@openssh.com",
- "aes256-gcm@openssh.com"
], - "MACs": [
- "umac-64-etm@openssh.com",
- "umac-128-etm@openssh.com",
- "hmac-sha2-256-etm@openssh.com",
- "hmac-sha2-512-etm@openssh.com",
- "hmac-sha1-etm@openssh.com",
- "umac-64@openssh.com",
- "umac-128@openssh.com",
- "hmac-sha2-256",
- "hmac-sha2-512",
- "hmac-sha1"
], - "KexAlgorithms": [
- "curve25519-sha256",
- "curve25519-sha256@libssh.org",
- "ecdh-sha2-nistp256",
- "ecdh-sha2-nistp384",
- "ecdh-sha2-nistp521",
- "diffie-hellman-group-exchange-sha256",
- "diffie-hellman-group16-sha512",
- "diffie-hellman-group18-sha512",
- "diffie-hellman-group14-sha256",
- "diffie-hellman-group14-sha1"
], - "AdditionalPort": 2022
}
}
}
{- "TLS": {
- "ClientVersion": 769,
- "RestorepointVersion": 769,
- "EnableRSA": false,
- "EnableCBC": false,
- "EnableRC4": false,
- "Enable3DES": false
}, - "Timeouts": {
- "UserInterface": 10,
- "Console": 15
}, - "Services": {
- "EnableHTTP": true,
- "EnableFTP": true,
- "EnableTFTP": true
}, - "AllowedNetworks": [
- "192.168.1.0/24",
- "192.168.2.0/24",
- "192.168.3.0/24"
], - "MaxLoginAttemptsPerMinute": 0,
- "SSH": {
- "Available": {
- "Ciphers": [
- "3des-cbc",
- "aes128-cbc",
- "aes192-cbc",
- "aes256-cbc",
- "rijndael-cbc@lysator.liu.se",
- "aes128-ctr",
- "aes192-ctr",
- "aes256-ctr",
- "aes128-gcm@openssh.com",
- "aes256-gcm@openssh.com",
- "chacha20-poly1305@openssh.com"
], - "MACs": [
- "hmac-sha1",
- "hmac-sha1-96",
- "hmac-sha2-256",
- "hmac-sha2-512",
- "hmac-md5",
- "hmac-md5-96",
- "umac-64@openssh.com",
- "umac-128@openssh.com",
- "hmac-sha1-etm@openssh.com",
- "hmac-sha1-96-etm@openssh.com",
- "hmac-sha2-256-etm@openssh.com",
- "hmac-sha2-512-etm@openssh.com",
- "hmac-md5-etm@openssh.com",
- "hmac-md5-96-etm@openssh.com",
- "umac-64-etm@openssh.com",
- "umac-128-etm@openssh.com"
], - "KexAlgorithms": [
- "diffie-hellman-group1-sha1",
- "diffie-hellman-group14-sha1",
- "diffie-hellman-group14-sha256",
- "diffie-hellman-group16-sha512",
- "diffie-hellman-group18-sha512",
- "diffie-hellman-group-exchange-sha1",
- "diffie-hellman-group-exchange-sha256",
- "ecdh-sha2-nistp256",
- "ecdh-sha2-nistp384",
- "ecdh-sha2-nistp521",
- "curve25519-sha256",
- "curve25519-sha256@libssh.org",
- "sntrup4591761x25519-sha512@tinyssh.org"
]
}, - "Client": {
- "Ciphers": [
- "3des-cbc",
- "aes128-cbc",
- "aes192-cbc",
- "aes256-cbc",
- "rijndael-cbc@lysator.liu.se",
- "aes128-ctr",
- "aes192-ctr",
- "aes256-ctr",
- "aes128-gcm@openssh.com",
- "aes256-gcm@openssh.com",
- "chacha20-poly1305@openssh.com"
], - "MACs": [
- "hmac-sha1",
- "hmac-sha1-96",
- "hmac-sha2-256",
- "hmac-sha2-512",
- "hmac-md5",
- "hmac-md5-96",
- "umac-64@openssh.com",
- "umac-128@openssh.com",
- "hmac-sha1-etm@openssh.com",
- "hmac-sha1-96-etm@openssh.com",
- "hmac-sha2-256-etm@openssh.com",
- "hmac-sha2-512-etm@openssh.com",
- "hmac-md5-etm@openssh.com",
- "hmac-md5-96-etm@openssh.com",
- "umac-64-etm@openssh.com",
- "umac-128-etm@openssh.com"
], - "KexAlgorithms": [
- "diffie-hellman-group1-sha1",
- "diffie-hellman-group14-sha1",
- "diffie-hellman-group14-sha256",
- "diffie-hellman-group16-sha512",
- "diffie-hellman-group18-sha512",
- "diffie-hellman-group-exchange-sha1",
- "diffie-hellman-group-exchange-sha256",
- "ecdh-sha2-nistp256",
- "ecdh-sha2-nistp384",
- "ecdh-sha2-nistp521",
- "curve25519-sha256",
- "curve25519-sha256@libssh.org",
- "sntrup4591761x25519-sha512@tinyssh.org"
]
}, - "Server": {
- "Ciphers": [
- "chacha20-poly1305@openssh.com",
- "aes128-ctr",
- "aes192-ctr",
- "aes256-ctr",
- "aes128-gcm@openssh.com",
- "aes256-gcm@openssh.com"
], - "MACs": [
- "umac-64-etm@openssh.com",
- "umac-128-etm@openssh.com",
- "hmac-sha2-256-etm@openssh.com",
- "hmac-sha2-512-etm@openssh.com",
- "hmac-sha1-etm@openssh.com",
- "umac-64@openssh.com",
- "umac-128@openssh.com",
- "hmac-sha2-256",
- "hmac-sha2-512",
- "hmac-sha1"
], - "KexAlgorithms": [
- "curve25519-sha256",
- "curve25519-sha256@libssh.org",
- "ecdh-sha2-nistp256",
- "ecdh-sha2-nistp384",
- "ecdh-sha2-nistp521",
- "diffie-hellman-group-exchange-sha256",
- "diffie-hellman-group16-sha512",
- "diffie-hellman-group18-sha512",
- "diffie-hellman-group14-sha256",
- "diffie-hellman-group14-sha1"
], - "AdditionalPort": 2022
}
}
}
Get TLS certificate
Country required | string Country code of the issuer (C) |
CommonName required | string Common name of the issuer (CN) |
Organization required | string Organization name of the issuer (O) |
OrganizationalUnit required | string Organizational unit of the issuer (OU) |
State required | string State of the issuer (ST) |
Locality required | string Locality of the issuer (L) |
EmailAddress required | string Email address of the issuer |
EmailAddresses | Array of strings List of subject email addresses |
IPAddresses | Array of strings List of subject IP addresses |
DNSNames | Array of strings List of subject DNS names |
Certificate | string Current certificate in use or generated CSR |
{- "Country": "GB",
- "CommonName": "Restorepoint Ltd",
- "Organization": "Restorepoint Ltd",
- "OrganizationalUnit": "Engineering",
- "State": "Surrey",
- "Locality": "Woking",
- "EmailAddress": "support@restorepoint.com",
- "EmailAddresses": [
- "support@restorepoint.com"
], - "IPAddresses": [
- "192.168.1.1"
], - "DNSNames": [
- "restorepoint.com"
], - "Certificate": "string"
}
Create a self-signed certificate
Country required | string Country code of the issuer (C) |
CommonName required | string Common name of the issuer (CN) |
Organization required | string Organization name of the issuer (O) |
OrganizationalUnit required | string Organizational unit of the issuer (OU) |
State required | string State of the issuer (ST) |
Locality required | string Locality of the issuer (L) |
EmailAddress required | string Email address of the issuer |
EmailAddresses | Array of strings List of subject email addresses |
IPAddresses | Array of strings List of subject IP addresses |
DNSNames | Array of strings List of subject DNS names |
KeyLength | integer Default: 2048 RSA key length |
Country required | string Country code of the issuer (C) |
CommonName required | string Common name of the issuer (CN) |
Organization required | string Organization name of the issuer (O) |
OrganizationalUnit required | string Organizational unit of the issuer (OU) |
State required | string State of the issuer (ST) |
Locality required | string Locality of the issuer (L) |
EmailAddress required | string Email address of the issuer |
EmailAddresses | Array of strings List of subject email addresses |
IPAddresses | Array of strings List of subject IP addresses |
DNSNames | Array of strings List of subject DNS names |
Certificate | string Current certificate in use or generated CSR |
{- "Country": "GB",
- "CommonName": "Restorepoint Ltd",
- "Organization": "Restorepoint Ltd",
- "OrganizationalUnit": "Engineering",
- "State": "Surrey",
- "Locality": "Woking",
- "EmailAddress": "support@restorepoint.com",
- "EmailAddresses": [
- "support@restorepoint.com"
], - "IPAddresses": [
- "192.168.1.1"
], - "DNSNames": [
- "restorepoint.com"
], - "KeyLength": 2048
}
{- "Country": "GB",
- "CommonName": "Restorepoint Ltd",
- "Organization": "Restorepoint Ltd",
- "OrganizationalUnit": "Engineering",
- "State": "Surrey",
- "Locality": "Woking",
- "EmailAddress": "support@restorepoint.com",
- "EmailAddresses": [
- "support@restorepoint.com"
], - "IPAddresses": [
- "192.168.1.1"
], - "DNSNames": [
- "restorepoint.com"
], - "Certificate": "string"
}
Replace TLS certificate and key
Certificate required | string TLS Certificate |
Key required | string RSA Key |
{- "Certificate": "string",
- "Key": "string"
}
{- "message": "Input validation failed",
- "errors": {
- "Certificate": [
- "Must not be blank"
], - "Key": [
- "Must not be blank"
]
}
}
Replace TLS certificate
Certificate required | string TLS Certificate |
{- "Certificate": "string"
}
{- "message": "Input validation failed",
- "errors": {
- "Certificate": [
- "Must not be blank"
]
}
}
Generate new RSA key
KeyLength required | integer TLS key lenght |
{- "KeyLength": 0
}
{- "message": "Input validation failed",
- "errors": {
- "KeyLength": [
- "Must be equal or higher than 2048"
]
}
}
Generate a TLS CSR (Certificate Signing Request)
Country required | string Country code of the issuer (C) |
CommonName required | string Common name of the issuer (CN) |
Organization required | string Organization name of the issuer (O) |
OrganizationalUnit required | string Organizational unit of the issuer (OU) |
State required | string State of the issuer (ST) |
Locality required | string Locality of the issuer (L) |
EmailAddress required | string Email address of the issuer |
EmailAddresses | Array of strings List of subject email addresses |
IPAddresses | Array of strings List of subject IP addresses |
DNSNames | Array of strings List of subject DNS names |
KeyLength | integer Default: 2048 RSA key length |
Content required | string Encoded raw content of the certificate request |
{- "Country": "GB",
- "CommonName": "Restorepoint Ltd",
- "Organization": "Restorepoint Ltd",
- "OrganizationalUnit": "Engineering",
- "State": "Surrey",
- "Locality": "Woking",
- "EmailAddress": "support@restorepoint.com",
- "EmailAddresses": [
- "support@restorepoint.com"
], - "IPAddresses": [
- "192.168.1.1"
], - "DNSNames": [
- "restorepoint.com"
], - "KeyLength": 2048
}
{- "Content": "-----BEGIN CERTIFICATE REQUEST-----\nMIIC9zCCAd..."
}
If your network has a Network Management System, you can use SNMP to perform some basic monitoring of the Restorepoint appliance. Restorepoint supports SNMP v1, v2c, and v3.
Get SNMP settings
SNMPv1 | boolean Default: true Enable SNMP v1 |
SNMPv2c | boolean Default: true Enable SNMP v2c |
SNMPv3 | boolean Default: false Enable SNMP v3 |
Contact required | string SNMP System contact |
Name required | string SNMP System name |
Location required | string SNMP System location |
Community | string Default: "public" If SNMP v1 or v2c are enabled a community string must be set |
Username | string If SNMP v3 is enabled, you have to set a username string |
SecurityLevel | string Enum: "noAuthNoPriv" "authNoPriv" "authPriv" When using SNMPv3, you can set the security level. |
AuthenticationProtocol | string Enum: "MD5" "SHA1" Authentication protocol for SNMPv3 with SecurityLevel set to |
AuthenticationPassword | string Password to send for SNMPv3 with SecurityLevel set to |
PrivProtocol | string Enum: "AES" "DES" Priv protocol to use for SNMPv3 and SecurityLevel set to |
PrivPassword | string Priv password to use for SNMPv3 and SecurityLevel set to |
{- "SNMPv1": true,
- "SNMPv2c": true,
- "SNMPv3": false,
- "Contact": "Restorepoint <support@restorepoint.com>",
- "Name": "Restorepoint Appliance",
- "Location": "vsphere.example.com",
- "Community": "public",
- "Username": "afox",
- "SecurityLevel": "authPriv",
- "AuthenticationProtocol": "MD5",
- "AuthenticationPassword": "Sunbreeze123",
- "PrivProtocol": "AES",
- "PrivPassword": "Sunbreeze123"
}
Update SNMP settings
SNMPv1 | boolean Default: true Enable SNMP v1 |
SNMPv2c | boolean Default: true Enable SNMP v2c |
SNMPv3 | boolean Default: false Enable SNMP v3 |
Contact required | string SNMP System contact |
Name required | string SNMP System name |
Location required | string SNMP System location |
Community | string Default: "public" If SNMP v1 or v2c are enabled a community string must be set |
Username | string If SNMP v3 is enabled, you have to set a username string |
SecurityLevel | string Enum: "noAuthNoPriv" "authNoPriv" "authPriv" When using SNMPv3, you can set the security level. |
AuthenticationProtocol | string Enum: "MD5" "SHA1" Authentication protocol for SNMPv3 with SecurityLevel set to |
AuthenticationPassword | string Password to send for SNMPv3 with SecurityLevel set to |
PrivProtocol | string Enum: "AES" "DES" Priv protocol to use for SNMPv3 and SecurityLevel set to |
PrivPassword | string Priv password to use for SNMPv3 and SecurityLevel set to |
SNMPv1 | boolean Default: true Enable SNMP v1 |
SNMPv2c | boolean Default: true Enable SNMP v2c |
SNMPv3 | boolean Default: false Enable SNMP v3 |
Contact required | string SNMP System contact |
Name required | string SNMP System name |
Location required | string SNMP System location |
Community | string Default: "public" If SNMP v1 or v2c are enabled a community string must be set |
Username | string If SNMP v3 is enabled, you have to set a username string |
SecurityLevel | string Enum: "noAuthNoPriv" "authNoPriv" "authPriv" When using SNMPv3, you can set the security level. |
AuthenticationProtocol | string Enum: "MD5" "SHA1" Authentication protocol for SNMPv3 with SecurityLevel set to |
AuthenticationPassword | string Password to send for SNMPv3 with SecurityLevel set to |
PrivProtocol | string Enum: "AES" "DES" Priv protocol to use for SNMPv3 and SecurityLevel set to |
PrivPassword | string Priv password to use for SNMPv3 and SecurityLevel set to |
{- "SNMPv1": true,
- "SNMPv2c": true,
- "SNMPv3": false,
- "Contact": "Restorepoint <support@restorepoint.com>",
- "Name": "Restorepoint Appliance",
- "Location": "vsphere.example.com",
- "Community": "public",
- "Username": "afox",
- "SecurityLevel": "authPriv",
- "AuthenticationProtocol": "MD5",
- "AuthenticationPassword": "Sunbreeze123",
- "PrivProtocol": "AES",
- "PrivPassword": "Sunbreeze123"
}
{- "SNMPv1": true,
- "SNMPv2c": true,
- "SNMPv3": false,
- "Contact": "Restorepoint <support@restorepoint.com>",
- "Name": "Restorepoint Appliance",
- "Location": "vsphere.example.com",
- "Community": "public",
- "Username": "afox",
- "SecurityLevel": "authPriv",
- "AuthenticationProtocol": "MD5",
- "AuthenticationPassword": "Sunbreeze123",
- "PrivProtocol": "AES",
- "PrivPassword": "Sunbreeze123"
}
Retrieve system status information
object Appliance related information | |
object Disk usage (all values in bytes) | |
object Operating system meta data |
{- "Appliance": {
- "Expiration": "Feb 22 2022",
- "Version": "5.4",
- "Build": "20220222",
- "Serial": "RP12345678",
- "MaxDevices": 500
}, - "Storage": {
- "Total": 1234567890,
- "Used": 123456789,
- "Available": 1111111101,
- "Backup": 12345678,
- "Index": 123456,
- "Cache": 1234567,
- "Debug": 123456,
- "Other": 123456
}, - "System": {
- "Release": "centos-release-8.2-2.2004.0.2.el8.x86_64",
- "Uptime": 123456,
- "Load": [
- 0.005859375,
- 0.00390625,
- 0
], - "FilesOpen": 123,
- "Processes": 123,
- "LocalIP": "198.51.100.1",
- "Memory": {
- "Total": 1234567890,
- "Used": 123456789,
- "Available": 123345678,
- "Swap": 1234567
}
}
}
Check the current status of the server
{- "EncryptionStatus": "Decrypting",
- "Status": "Updating",
- "message": "string",
- "errors": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}
}
These are the messages logged to the Restorepoint syslog service, by both the appliance itself and any devices configured to log to it.
Retrieve all syslogs
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
fulltext | string Only return records matching the search term. Must have at least 3 characters |
created_after | string Example: created_after=2020-01-02T15:04:05.999Z Timestamp (UTC) to include results after the updated date. |
created_before | string Example: created_before=2023-01-02T15:04:05.999Z Timestamp (UTC) to include results before the created date. |
source[] | Array of strings Example: source[]=1.1.1.1 List of sources to limit the log output to. |
not[source][] | Array of strings Example: not[source][]=2.2.2.2 List of sources to exclude from the returned log entries. |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
object The search parameters used to filter items | |
Array of objects The sorting parameters used to sort items | |
Array of objects (Syslog) The returned items |
{- "offset": 0,
- "limit": 50,
- "total": 0,
- "search": {
- "fulltext": "some text",
- "source": {
- "include": [
- "1.1.1.1"
], - "exclude": [
- "2.2.2.2"
]
}, - "created_after": "2020-01-02T15:04:05.999Z",
- "created_before": "2023-01-02T15:04:05.999Z"
}, - "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "Created": "2222-02-22T22:22:22.000Z",
- "Process": "run-parts(/etc/cron.hourly)[10678]",
- "Message": "starting 0anacron",
- "Level": "Info",
- "Facility": 1,
- "Source": "localhost"
}
]
}
Templates are specially marked-up configurations that can be pushed to multiple devices, for instance during a large deployment of similarly configured devices. Each template can contain parameters, which are substituted for entered values for each device pushed to. For instance, a section may be marked "IP Address", and this will then be prompted for when pushing to devices.
Retrieve all templates
fields | string Example: fields=key,name Comma separated list of fields to return in the list operation. Those will then be the only fields returned. |
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
search | string TODO |
fields | Array of strings The filtered fields |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
search | string The search parameters used to filter items |
Array of objects The sorting parameters used to sort items | |
Array of objects (Template) The returned items |
{- "fields": [
- "string"
], - "offset": 0,
- "limit": 50,
- "total": 0,
- "search": "string",
- "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "Name": "Cisco IOS baseline",
- "Comment": "Base configuration for all Cisco IOS devices",
- "DeviceName": "Demo device",
- "PluginName": "Cisco IOS",
- "ConfigurationType": "startup",
- "Variables": [
- {
- "Name": "DNS",
- "Start": 744,
- "Finish": 757
}
]
}
]
}
Create a new template
Name required | string Template name |
Comment | string Comment attached to template |
BackupID required | integer ID of a Device Backup to use as template |
ConfigurationType | string Identifier of a configuration type as part of a backup (if a device supports it) |
Array of objects List of variable markers that will be replaced when applying a template |
ID | integer Template ID |
Name required | string Template name |
Comment | string Comment attached to template |
DeviceName | string Name of a Device used to select a backup as template |
PluginName | string Name of Plugin used to select a backup as template |
ConfigurationType | string Identifier of a configuration type as part of a backup (if a device supports it) |
Array of objects List of variable markers that will be replaced when applying a template |
{- "Name": "Cisco IOS baseline",
- "Comment": "Base configuration for all Cisco IOS devices",
- "BackupID": 123,
- "ConfigurationType": "startup",
- "Variables": [
- {
- "Name": "DNS",
- "Start": 744,
- "Finish": 757
}
]
}
{- "ID": 123,
- "Name": "Cisco IOS baseline",
- "Comment": "Base configuration for all Cisco IOS devices",
- "DeviceName": "Demo device",
- "PluginName": "Cisco IOS",
- "ConfigurationType": "startup",
- "Variables": [
- {
- "Name": "DNS",
- "Start": 744,
- "Finish": 757
}
]
}
Retrieve a single template
id required | integer Template ID |
ID | integer Template ID |
Name required | string Template name |
Comment | string Comment attached to template |
DeviceName | string Name of a Device used to select a backup as template |
PluginName | string Name of Plugin used to select a backup as template |
ConfigurationType | string Identifier of a configuration type as part of a backup (if a device supports it) |
Array of objects List of variable markers that will be replaced when applying a template |
{- "ID": 123,
- "Name": "Cisco IOS baseline",
- "Comment": "Base configuration for all Cisco IOS devices",
- "DeviceName": "Demo device",
- "PluginName": "Cisco IOS",
- "ConfigurationType": "startup",
- "Variables": [
- {
- "Name": "DNS",
- "Start": 744,
- "Finish": 757
}
]
}
Update a template
id required | integer Template ID |
Name required | string Template name |
Comment | string Comment attached to template |
DeviceName | string Name of a Device used to select a backup as template |
PluginName | string Name of Plugin used to select a backup as template |
ConfigurationType | string Identifier of a configuration type as part of a backup (if a device supports it) |
Array of objects List of variable markers that will be replaced when applying a template |
ID | integer Template ID |
Name required | string Template name |
Comment | string Comment attached to template |
DeviceName | string Name of a Device used to select a backup as template |
PluginName | string Name of Plugin used to select a backup as template |
ConfigurationType | string Identifier of a configuration type as part of a backup (if a device supports it) |
Array of objects List of variable markers that will be replaced when applying a template |
{- "Name": "Cisco IOS baseline",
- "Comment": "Base configuration for all Cisco IOS devices",
- "DeviceName": "Demo device",
- "PluginName": "Cisco IOS",
- "ConfigurationType": "startup",
- "Variables": [
- {
- "Name": "DNS",
- "Start": 744,
- "Finish": 757
}
]
}
{- "ID": 123,
- "Name": "Cisco IOS baseline",
- "Comment": "Base configuration for all Cisco IOS devices",
- "DeviceName": "Demo device",
- "PluginName": "Cisco IOS",
- "ConfigurationType": "startup",
- "Variables": [
- {
- "Name": "DNS",
- "Start": 744,
- "Finish": 757
}
]
}
Download a template by providing values for variable replacements. If a replacement value for a defined variable marker is not provided, it will be replaced with an empty string.
id required | integer Template ID |
Array of objects List of variables |
A text file of the base backup (configuration) with all variable markers replaced by provided values
{- "Variables": [
- {
- "Name": "DNS",
- "Value": "127.0.0.1"
}
]
}
{- "message": "Input validation failed",
- "errors": {
- "Variables[0].Name": [
- "Must be set"
], - "Variables[0].Value": [
- "Must be set"
]
}
}
Push a template to one or more devices by providing values for variable replacements. If a replacement value for a defined variable marker is not provided, it will be replaced with an empty string.
id required | integer Template ID |
Array of objects List of Device and corresponding variable values to push a template to | |
Replace | boolean Default: false If true, backup will be restored on targeted devices |
{- "Devices": [
- {
- "DeviceID": 123,
- "Variables": [
- {
- "Name": "DNS",
- "Value": "127.0.0.1"
}
]
}
], - "Replace": true
}
{- "message": "Input validation failed",
- "errors": {
- "Devices[0].DeviceID": [
- "Device with ID 123 does not exist"
], - "Devices[0].Variables[0].Name": [
- "Must be set"
], - "Devices[0].Variables[0].Value": [
- "Must be set"
]
}
}
Personal access tokens are used to authenticate requests to the API. Tokens are tied to the user that created them. All API operations undertaken via a personal access token are linked to the user account that created it and will be logged under that account's username.
Tokens are passed as a Authorization
header in each request:
curl --header "Authorization: Custom <your_access_token>" "https://restorepoint.example.com/api/v2/tokens"
Retrieve all tokens
ModifyOwnTokens
ModifyAllTokens
) fields | string Example: fields=key,name Comma separated list of fields to return in the list operation. Those will then be the only fields returned. |
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
search | string TODO |
fields | Array of strings The filtered fields |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
search | string The search parameters used to filter items |
Array of objects The sorting parameters used to sort items | |
Array of objects (Token) The returned items |
{- "fields": [
- "string"
], - "offset": 0,
- "limit": 50,
- "total": 0,
- "search": "string",
- "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "Description": "An example token",
- "Token": "foobarbaz",
- "User": {
- "ID": 123,
- "FullName": "Anna Fox",
- "Username": "afox",
- "PasswordExpiry": 0,
- "RoleID": 1,
- "RoleName": "Admin",
- "Type": "Local",
- "UseRADIUS": false,
- "UseLDAP": false,
- "UseSAML": false,
- "Email": "afox@restorepoint.com",
- "Created": "2222-02-22T22:22:22.000Z",
- "Updated": "2222-02-22T22:22:22.000Z",
- "Active": false,
- "LastActive": "2222-02-22T22:22:22.000Z",
- "PasswordUpdated": "2222-02-22T22:22:22.000Z",
- "DomainIDs": [
- 1,
- 2,
- 3
], - "DomainNames": "Domain A, Domain B, Domain C",
- "LDAPGroupNames": [
- "Group A",
- "Group B",
- "Group C"
], - "Disabled": false,
- "AllowedNetworks": [
- "172.16.0.0/12",
- "172.17.0.0/12"
], - "Permissions": {
- "ViewDevices": 6,
- "ViewBackup": 8,
- "ViewAssets": 31
}, - "Address": "127.0.0.1",
- "UserAgent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)",
- "LoggedIn": "2222-02-22T22:22:22.000Z",
- "UseTOTP": false,
- "ActivationLink": "string",
- "Locked": false,
- "DomainRoles": [
- {
- "DomainID": 1,
- "RoleID": 3
}
], - "RolePermissions": [
- {
- "RoleID": 1,
- "Permissions": [
- [
- 1,
- 2,
- 3
]
]
}
]
}
}
]
}
Create a new token
Description required | string A short description of the token |
ID | integer Token ID |
Description required | string A short description of the token |
Token | string The token itself. This is generated by the system itself |
object Owner of the token |
{- "Description": "An example token"
}
{- "ID": 123,
- "Description": "An example token",
- "Token": "foobarbaz",
- "User": {
- "ID": 123,
- "FullName": "Anna Fox",
- "Username": "afox",
- "PasswordExpiry": 0,
- "RoleID": 1,
- "RoleName": "Admin",
- "Type": "Local",
- "UseRADIUS": false,
- "UseLDAP": false,
- "UseSAML": false,
- "Email": "afox@restorepoint.com",
- "Created": "2222-02-22T22:22:22.000Z",
- "Updated": "2222-02-22T22:22:22.000Z",
- "Active": false,
- "LastActive": "2222-02-22T22:22:22.000Z",
- "PasswordUpdated": "2222-02-22T22:22:22.000Z",
- "DomainIDs": [
- 1,
- 2,
- 3
], - "DomainNames": "Domain A, Domain B, Domain C",
- "LDAPGroupNames": [
- "Group A",
- "Group B",
- "Group C"
], - "Disabled": false,
- "AllowedNetworks": [
- "172.16.0.0/12",
- "172.17.0.0/12"
], - "Permissions": {
- "ViewDevices": 6,
- "ViewBackup": 8,
- "ViewAssets": 31
}, - "Address": "127.0.0.1",
- "UserAgent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)",
- "LoggedIn": "2222-02-22T22:22:22.000Z",
- "UseTOTP": false,
- "ActivationLink": "string",
- "Locked": false,
- "DomainRoles": [
- {
- "DomainID": 1,
- "RoleID": 3
}
], - "RolePermissions": [
- {
- "RoleID": 1,
- "Permissions": [
- [
- 1,
- 2,
- 3
]
]
}
]
}
}
Retrieve a single token
ModifyOwnTokens
ModifyAllTokens
) id required | integer token id |
ID | integer Token ID |
Description required | string A short description of the token |
Token | string The token itself. This is generated by the system itself |
object Owner of the token |
{- "ID": 123,
- "Description": "An example token",
- "Token": "foobarbaz",
- "User": {
- "ID": 123,
- "FullName": "Anna Fox",
- "Username": "afox",
- "PasswordExpiry": 0,
- "RoleID": 1,
- "RoleName": "Admin",
- "Type": "Local",
- "UseRADIUS": false,
- "UseLDAP": false,
- "UseSAML": false,
- "Email": "afox@restorepoint.com",
- "Created": "2222-02-22T22:22:22.000Z",
- "Updated": "2222-02-22T22:22:22.000Z",
- "Active": false,
- "LastActive": "2222-02-22T22:22:22.000Z",
- "PasswordUpdated": "2222-02-22T22:22:22.000Z",
- "DomainIDs": [
- 1,
- 2,
- 3
], - "DomainNames": "Domain A, Domain B, Domain C",
- "LDAPGroupNames": [
- "Group A",
- "Group B",
- "Group C"
], - "Disabled": false,
- "AllowedNetworks": [
- "172.16.0.0/12",
- "172.17.0.0/12"
], - "Permissions": {
- "ViewDevices": 6,
- "ViewBackup": 8,
- "ViewAssets": 31
}, - "Address": "127.0.0.1",
- "UserAgent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)",
- "LoggedIn": "2222-02-22T22:22:22.000Z",
- "UseTOTP": false,
- "ActivationLink": "string",
- "Locked": false,
- "DomainRoles": [
- {
- "DomainID": 1,
- "RoleID": 3
}
], - "RolePermissions": [
- {
- "RoleID": 1,
- "Permissions": [
- [
- 1,
- 2,
- 3
]
]
}
]
}
}
Update a token
id required | integer token id |
Description required | string A short description of the token |
ID | integer Token ID |
Description required | string A short description of the token |
Token | string The token itself. This is generated by the system itself |
object Owner of the token |
{- "Description": "An example token"
}
{- "ID": 123,
- "Description": "An example token",
- "Token": "foobarbaz",
- "User": {
- "ID": 123,
- "FullName": "Anna Fox",
- "Username": "afox",
- "PasswordExpiry": 0,
- "RoleID": 1,
- "RoleName": "Admin",
- "Type": "Local",
- "UseRADIUS": false,
- "UseLDAP": false,
- "UseSAML": false,
- "Email": "afox@restorepoint.com",
- "Created": "2222-02-22T22:22:22.000Z",
- "Updated": "2222-02-22T22:22:22.000Z",
- "Active": false,
- "LastActive": "2222-02-22T22:22:22.000Z",
- "PasswordUpdated": "2222-02-22T22:22:22.000Z",
- "DomainIDs": [
- 1,
- 2,
- 3
], - "DomainNames": "Domain A, Domain B, Domain C",
- "LDAPGroupNames": [
- "Group A",
- "Group B",
- "Group C"
], - "Disabled": false,
- "AllowedNetworks": [
- "172.16.0.0/12",
- "172.17.0.0/12"
], - "Permissions": {
- "ViewDevices": 6,
- "ViewBackup": 8,
- "ViewAssets": 31
}, - "Address": "127.0.0.1",
- "UserAgent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)",
- "LoggedIn": "2222-02-22T22:22:22.000Z",
- "UseTOTP": false,
- "ActivationLink": "string",
- "Locked": false,
- "DomainRoles": [
- {
- "DomainID": 1,
- "RoleID": 3
}
], - "RolePermissions": [
- {
- "RoleID": 1,
- "Permissions": [
- [
- 1,
- 2,
- 3
]
]
}
]
}
}
Restorepoint supports three levels of user access:
Please note: Administrators authenticating using RADIUS, LDAP or SAML cannot decrypt the system after a reboot.
Retrieve all users
fields | string Example: fields=key,name Comma separated list of fields to return in the list operation. Those will then be the only fields returned. |
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
fulltext | string Only return records matching the search term. Must have at least 3 characters |
created_after | string Example: created_after=2020-01-02T15:04:05.999Z Timestamp (UTC) to include results after the updated date. |
created_before | string Example: created_before=2023-01-02T15:04:05.999Z Timestamp (UTC) to include results before the created date. |
active | boolean Active status to include in the results |
type[] | Array of strings Example: type[]=RADIUS List of user types to include in the results |
not[type][] | Array of strings Example: not[type][]=LDAP List of user types to exclude from the results |
fields | Array of strings The filtered fields |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total | integer The total number of items |
object The search parameters used to filter items | |
Array of objects The sorting parameters used to sort items | |
Array of objects (User) The returned items |
{- "fields": [
- "string"
], - "offset": 0,
- "limit": 50,
- "total": 0,
- "search": {
- "fulltext": "some text",
- "active": true,
- "type": {
- "include": [
- "Local",
- "RADIUS"
], - "exclude": [
- "LDAP"
]
}, - "created_after": "2020-01-02T15:04:05.999Z",
- "created_before": "2023-01-02T15:04:05.999Z"
}, - "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "FullName": "Anna Fox",
- "Username": "afox",
- "PasswordExpiry": 0,
- "RoleID": 1,
- "RoleName": "Admin",
- "Type": "Local",
- "UseRADIUS": false,
- "UseLDAP": false,
- "UseSAML": false,
- "Email": "afox@restorepoint.com",
- "Created": "2222-02-22T22:22:22.000Z",
- "Updated": "2222-02-22T22:22:22.000Z",
- "Active": false,
- "LastActive": "2222-02-22T22:22:22.000Z",
- "PasswordUpdated": "2222-02-22T22:22:22.000Z",
- "DomainIDs": [
- 1,
- 2,
- 3
], - "DomainNames": "Domain A, Domain B, Domain C",
- "LDAPGroupNames": [
- "Group A",
- "Group B",
- "Group C"
], - "Disabled": false,
- "AllowedNetworks": [
- "172.16.0.0/12",
- "172.17.0.0/12"
], - "Permissions": {
- "ViewDevices": 6,
- "ViewBackup": 8,
- "ViewAssets": 31
}, - "Address": "127.0.0.1",
- "UserAgent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)",
- "LoggedIn": "2222-02-22T22:22:22.000Z",
- "UseTOTP": false,
- "ActivationLink": "string",
- "Locked": false,
- "DomainRoles": [
- {
- "DomainID": 1,
- "RoleID": 3
}
], - "RolePermissions": [
- {
- "RoleID": 1,
- "Permissions": [
- [
- 1,
- 2,
- 3
]
]
}
]
}
]
}
Create a new user
FullName required | string Full name of the user |
Username required | string Username for logging in. It is recommended to user only lower-case characters and numbers |
EmailActivationLink | boolean Default: false Email activation link to user upon creation or update |
Password | string A user's password. The system password policy affects the values that will be accepted. Only required if 'EmailActivationLink' is false |
EncryptionPassword | string A user's password used to decrypt appliance, that only applies to admin users. The system password policy affects the values that will be accepted. Only required if 'EmailActivationLink' is false |
PasswordExpiry | integer Default: 0 Enum: -1 0 30 60 90 183 365 Expire user's password after this many days. Pass |
RoleID | integer ID of the Role this user is assigned to |
object Set a Recovery Question / Answer to allow password recovery for admin users | |
UseRADIUS | boolean Default: false Use RADIUS authentication (if configured) for this user |
UseLDAP | boolean Default: false Use LDAP authentication (if configured) for this user |
Email required | string Email address of this user |
DomainIDs | |
Disabled | boolean Default: false Block a user from logging in. Currently logged in users being set as disabled will be logged out. |
AllowedNetworks | Array of strings Default: [] Only allows the user to connect to Restorepoint from given subnets. Use CIDR notation |
UseTOTP | boolean Default: false Use TOTP authentication (if configured) for this user |
Locked | boolean Default: false Whether or not the user is locked (reached the maximum number of login attempts) |
required | Array of objects List of DomainRole objects which link DomainIDs to the RoleID applicable to them. Most users will only have one role per domain, but e.g. LDAP users might have more if they belong to multiple groups that have a role for the same domain, in which case the user's permissions will be a union of those roles' permissions. |
Array of objects List of permissions that are assigned to the user's roles |
ID | integer User ID |
FullName required | string Full name of the user |
Username required | string Username for logging in. It is recommended to user only lower-case characters and numbers |
PasswordExpiry | integer Default: 0 Enum: -1 0 30 60 90 183 365 Expire user's password after this many days. Pass |
RoleID | integer ID of the Role this user is assigned to |
RoleName | string Name of the Role this user is assigned to |
Type | string Default: "Local" Enum: "Local" "RADIUS" "LDAP" "SAML" Type of user as determined by the system |
UseRADIUS | boolean Default: false Use RADIUS authentication (if configured) for this user |
UseLDAP | boolean Default: false Use LDAP authentication (if configured) for this user |
UseSAML | boolean Default: false Use SAML authentication (if configured) for this user. This is set by the system |
Email required | string Email address of this user |
Created | string Timestamp in RFC3339 format when user was created |
Updated | string Timestamp in RFC3339 format when user was last updated |
Active | boolean Logged in status of this user |
LastActive | string Timestamp in RFC3339 format when user was last active |
PasswordUpdated | string Timestamp in RFC3339 format when user's password was last updated |
DomainIDs | |
DomainNames | string Human readable field that concatenates all domains a user is assigned to |
LDAPGroupNames | Array of strings Default: [] List of all LDAP groups' names an LDAP user is assigned to |
Disabled | boolean Default: false Block a user from logging in. Currently logged in users being set as disabled will be logged out. |
AllowedNetworks | Array of strings Default: [] Only allows the user to connect to Restorepoint from given subnets. Use CIDR notation |
Address | string IP address of user's device used for login |
UserAgent | string Device identification of user's device used for login |
LoggedIn | string Timestamp in RFC3339 format when user has logged in |
UseTOTP | boolean Default: false Use TOTP authentication (if configured) for this user |
ActivationLink | string Activation Link. It is only returned when creating a new user |
Locked | boolean Default: false Whether or not the user is locked (reached the maximum number of login attempts) |
required | Array of objects List of DomainRole objects which link DomainIDs to the RoleID applicable to them. Most users will only have one role per domain, but e.g. LDAP users might have more if they belong to multiple groups that have a role for the same domain, in which case the user's permissions will be a union of those roles' permissions. |
Array of objects List of permissions that are assigned to the user's roles |
{- "FullName": "Anna Fox",
- "Username": "afox",
- "EmailActivationLink": false,
- "Password": "Sunbreeze123",
- "EncryptionPassword": "Sunbreeze456",
- "PasswordExpiry": 0,
- "RoleID": 1,
- "Recovery": {
- "Question": "Do you prefer cats or dogs?",
- "Answer": "cats"
}, - "UseRADIUS": false,
- "UseLDAP": false,
- "Email": "afox@restorepoint.com",
- "DomainIDs": [
- 1,
- 2,
- 3
], - "Disabled": false,
- "AllowedNetworks": [
- "172.16.0.0/12",
- "172.17.0.0/12"
], - "UseTOTP": false,
- "Locked": false,
- "DomainRoles": [
- {
- "DomainID": 1,
- "RoleID": 3
}
], - "RolePermissions": [
- {
- "RoleID": 1,
- "Permissions": [
- [
- 1,
- 2,
- 3
]
]
}
]
}
{- "ID": 123,
- "FullName": "Anna Fox",
- "Username": "afox",
- "PasswordExpiry": 0,
- "RoleID": 1,
- "RoleName": "Admin",
- "Type": "Local",
- "UseRADIUS": false,
- "UseLDAP": false,
- "UseSAML": false,
- "Email": "afox@restorepoint.com",
- "Created": "2222-02-22T22:22:22.000Z",
- "Updated": "2222-02-22T22:22:22.000Z",
- "Active": false,
- "LastActive": "2222-02-22T22:22:22.000Z",
- "PasswordUpdated": "2222-02-22T22:22:22.000Z",
- "DomainIDs": [
- 1,
- 2,
- 3
], - "DomainNames": "Domain A, Domain B, Domain C",
- "LDAPGroupNames": [
- "Group A",
- "Group B",
- "Group C"
], - "Disabled": false,
- "AllowedNetworks": [
- "172.16.0.0/12",
- "172.17.0.0/12"
], - "Permissions": {
- "ViewDevices": 6,
- "ViewBackup": 8,
- "ViewAssets": 31
}, - "Address": "127.0.0.1",
- "UserAgent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)",
- "LoggedIn": "2222-02-22T22:22:22.000Z",
- "UseTOTP": false,
- "ActivationLink": "string",
- "Locked": false,
- "DomainRoles": [
- {
- "DomainID": 1,
- "RoleID": 3
}
], - "RolePermissions": [
- {
- "RoleID": 1,
- "Permissions": [
- [
- 1,
- 2,
- 3
]
]
}
]
}
Sends a message to a list of users by email
IDs | Array of numbers List of user IDs for the message to be broadcast to. |
Message | string Message to be broadcast |
{- "IDs": [
- 1,
- 2
], - "Message": "Hello world"
}
Retrieve a single user
id required | integer User ID |
ID | integer User ID |
FullName required | string Full name of the user |
Username required | string Username for logging in. It is recommended to user only lower-case characters and numbers |
PasswordExpiry | integer Default: 0 Enum: -1 0 30 60 90 183 365 Expire user's password after this many days. Pass |
RoleID | integer ID of the Role this user is assigned to |
RoleName | string Name of the Role this user is assigned to |
Type | string Default: "Local" Enum: "Local" "RADIUS" "LDAP" "SAML" Type of user as determined by the system |
UseRADIUS | boolean Default: false Use RADIUS authentication (if configured) for this user |
UseLDAP | boolean Default: false Use LDAP authentication (if configured) for this user |
UseSAML | boolean Default: false Use SAML authentication (if configured) for this user. This is set by the system |
Email required | string Email address of this user |
Created | string Timestamp in RFC3339 format when user was created |
Updated | string Timestamp in RFC3339 format when user was last updated |
Active | boolean Logged in status of this user |
LastActive | string Timestamp in RFC3339 format when user was last active |
PasswordUpdated | string Timestamp in RFC3339 format when user's password was last updated |
DomainIDs | |
DomainNames | string Human readable field that concatenates all domains a user is assigned to |
LDAPGroupNames | Array of strings Default: [] List of all LDAP groups' names an LDAP user is assigned to |
Disabled | boolean Default: false Block a user from logging in. Currently logged in users being set as disabled will be logged out. |
AllowedNetworks | Array of strings Default: [] Only allows the user to connect to Restorepoint from given subnets. Use CIDR notation |
Address | string IP address of user's device used for login |
UserAgent | string Device identification of user's device used for login |
LoggedIn | string Timestamp in RFC3339 format when user has logged in |
UseTOTP | boolean Default: false Use TOTP authentication (if configured) for this user |
ActivationLink | string Activation Link. It is only returned when creating a new user |
Locked | boolean Default: false Whether or not the user is locked (reached the maximum number of login attempts) |
required | Array of objects List of DomainRole objects which link DomainIDs to the RoleID applicable to them. Most users will only have one role per domain, but e.g. LDAP users might have more if they belong to multiple groups that have a role for the same domain, in which case the user's permissions will be a union of those roles' permissions. |
Array of objects List of permissions that are assigned to the user's roles |
{- "ID": 123,
- "FullName": "Anna Fox",
- "Username": "afox",
- "PasswordExpiry": 0,
- "RoleID": 1,
- "RoleName": "Admin",
- "Type": "Local",
- "UseRADIUS": false,
- "UseLDAP": false,
- "UseSAML": false,
- "Email": "afox@restorepoint.com",
- "Created": "2222-02-22T22:22:22.000Z",
- "Updated": "2222-02-22T22:22:22.000Z",
- "Active": false,
- "LastActive": "2222-02-22T22:22:22.000Z",
- "PasswordUpdated": "2222-02-22T22:22:22.000Z",
- "DomainIDs": [
- 1,
- 2,
- 3
], - "DomainNames": "Domain A, Domain B, Domain C",
- "LDAPGroupNames": [
- "Group A",
- "Group B",
- "Group C"
], - "Disabled": false,
- "AllowedNetworks": [
- "172.16.0.0/12",
- "172.17.0.0/12"
], - "Permissions": {
- "ViewDevices": 6,
- "ViewBackup": 8,
- "ViewAssets": 31
}, - "Address": "127.0.0.1",
- "UserAgent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)",
- "LoggedIn": "2222-02-22T22:22:22.000Z",
- "UseTOTP": false,
- "ActivationLink": "string",
- "Locked": false,
- "DomainRoles": [
- {
- "DomainID": 1,
- "RoleID": 3
}
], - "RolePermissions": [
- {
- "RoleID": 1,
- "Permissions": [
- [
- 1,
- 2,
- 3
]
]
}
]
}
Update a user
id required | integer User ID |
FullName required | string Full name of the user |
Username required | string Username for logging in. It is recommended to user only lower-case characters and numbers |
EmailActivationLink | boolean Default: false Email activation link to user upon creation or update |
Password | string A user's password. The system password policy affects the values that will be accepted. Only required if 'EmailActivationLink' is false |
EncryptionPassword | string A user's password used to decrypt appliance, that only applies to admin users. The system password policy affects the values that will be accepted. Only required if 'EmailActivationLink' is false |
PasswordExpiry | integer Default: 0 Enum: -1 0 30 60 90 183 365 Expire user's password after this many days. Pass |
RoleID | integer ID of the Role this user is assigned to |
object Set a Recovery Question / Answer to allow password recovery for admin users | |
UseRADIUS | boolean Default: false Use RADIUS authentication (if configured) for this user |
UseLDAP | boolean Default: false Use LDAP authentication (if configured) for this user |
Email required | string Email address of this user |
DomainIDs | |
Disabled | boolean Default: false Block a user from logging in. Currently logged in users being set as disabled will be logged out. |
AllowedNetworks | Array of strings Default: [] Only allows the user to connect to Restorepoint from given subnets. Use CIDR notation |
UseTOTP | boolean Default: false Use TOTP authentication (if configured) for this user |
Locked | boolean Default: false Whether or not the user is locked (reached the maximum number of login attempts) |
required | Array of objects List of DomainRole objects which link DomainIDs to the RoleID applicable to them. Most users will only have one role per domain, but e.g. LDAP users might have more if they belong to multiple groups that have a role for the same domain, in which case the user's permissions will be a union of those roles' permissions. |
Array of objects List of permissions that are assigned to the user's roles |
ID | integer User ID |
FullName required | string Full name of the user |
Username required | string Username for logging in. It is recommended to user only lower-case characters and numbers |
PasswordExpiry | integer Default: 0 Enum: -1 0 30 60 90 183 365 Expire user's password after this many days. Pass |
RoleID | integer ID of the Role this user is assigned to |
RoleName | string Name of the Role this user is assigned to |
Type | string Default: "Local" Enum: "Local" "RADIUS" "LDAP" "SAML" Type of user as determined by the system |
UseRADIUS | boolean Default: false Use RADIUS authentication (if configured) for this user |
UseLDAP | boolean Default: false Use LDAP authentication (if configured) for this user |
UseSAML | boolean Default: false Use SAML authentication (if configured) for this user. This is set by the system |
Email required | string Email address of this user |
Created | string Timestamp in RFC3339 format when user was created |
Updated | string Timestamp in RFC3339 format when user was last updated |
Active | boolean Logged in status of this user |
LastActive | string Timestamp in RFC3339 format when user was last active |
PasswordUpdated | string Timestamp in RFC3339 format when user's password was last updated |
DomainIDs | |
DomainNames | string Human readable field that concatenates all domains a user is assigned to |
LDAPGroupNames | Array of strings Default: [] List of all LDAP groups' names an LDAP user is assigned to |
Disabled | boolean Default: false Block a user from logging in. Currently logged in users being set as disabled will be logged out. |
AllowedNetworks | Array of strings Default: [] Only allows the user to connect to Restorepoint from given subnets. Use CIDR notation |
Address | string IP address of user's device used for login |
UserAgent | string Device identification of user's device used for login |
LoggedIn | string Timestamp in RFC3339 format when user has logged in |
UseTOTP | boolean Default: false Use TOTP authentication (if configured) for this user |
ActivationLink | string Activation Link. It is only returned when creating a new user |
Locked | boolean Default: false Whether or not the user is locked (reached the maximum number of login attempts) |
required | Array of objects List of DomainRole objects which link DomainIDs to the RoleID applicable to them. Most users will only have one role per domain, but e.g. LDAP users might have more if they belong to multiple groups that have a role for the same domain, in which case the user's permissions will be a union of those roles' permissions. |
Array of objects List of permissions that are assigned to the user's roles |
{- "FullName": "Anna Fox",
- "Username": "afox",
- "EmailActivationLink": false,
- "Password": "Sunbreeze123",
- "EncryptionPassword": "Sunbreeze456",
- "PasswordExpiry": 0,
- "RoleID": 1,
- "Recovery": {
- "Question": "Do you prefer cats or dogs?",
- "Answer": "cats"
}, - "UseRADIUS": false,
- "UseLDAP": false,
- "Email": "afox@restorepoint.com",
- "DomainIDs": [
- 1,
- 2,
- 3
], - "Disabled": false,
- "AllowedNetworks": [
- "172.16.0.0/12",
- "172.17.0.0/12"
], - "UseTOTP": false,
- "Locked": false,
- "DomainRoles": [
- {
- "DomainID": 1,
- "RoleID": 3
}
], - "RolePermissions": [
- {
- "RoleID": 1,
- "Permissions": [
- [
- 1,
- 2,
- 3
]
]
}
]
}
{- "ID": 123,
- "FullName": "Anna Fox",
- "Username": "afox",
- "PasswordExpiry": 0,
- "RoleID": 1,
- "RoleName": "Admin",
- "Type": "Local",
- "UseRADIUS": false,
- "UseLDAP": false,
- "UseSAML": false,
- "Email": "afox@restorepoint.com",
- "Created": "2222-02-22T22:22:22.000Z",
- "Updated": "2222-02-22T22:22:22.000Z",
- "Active": false,
- "LastActive": "2222-02-22T22:22:22.000Z",
- "PasswordUpdated": "2222-02-22T22:22:22.000Z",
- "DomainIDs": [
- 1,
- 2,
- 3
], - "DomainNames": "Domain A, Domain B, Domain C",
- "LDAPGroupNames": [
- "Group A",
- "Group B",
- "Group C"
], - "Disabled": false,
- "AllowedNetworks": [
- "172.16.0.0/12",
- "172.17.0.0/12"
], - "Permissions": {
- "ViewDevices": 6,
- "ViewBackup": 8,
- "ViewAssets": 31
}, - "Address": "127.0.0.1",
- "UserAgent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)",
- "LoggedIn": "2222-02-22T22:22:22.000Z",
- "UseTOTP": false,
- "ActivationLink": "string",
- "Locked": false,
- "DomainRoles": [
- {
- "DomainID": 1,
- "RoleID": 3
}
], - "RolePermissions": [
- {
- "RoleID": 1,
- "Permissions": [
- [
- 1,
- 2,
- 3
]
]
}
]
}
For LDAP users to be able to login to Restorepoint, they need to be a member of a group and the group has to be added to Restorepoint (with domains and roles assigned). LDAP users inherit their groups' domains and roles.
Retrieve all LDAP groups
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
fulltext | string Only return records matching the search term. Must have at least 3 characters |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total required | integer The total number of items |
required | object The search parameters used to filter items |
required | Array of objects The sorting parameters used to sort items |
required | Array of objects (Persisted LDAP group) The returned items |
{- "offset": 0,
- "limit": 50,
- "total": 0,
- "search": {
- "fulltext": "some text"
}, - "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 1,
- "DN": "cn=Restorepoint_Engineering,ou=Group,dc=restorepoint,dc=local",
- "Name": "Restorepoint Engineering",
- "RestorepointMembers": [
- "admin"
], - "DomainRoles": [
- {
- "DomainID": 1,
- "RoleID": 3
}
]
}
]
}
Create an LDAP group
DN required | string A distinguished name that uniquely identifies a group |
required | Array of objects List of DomainRole objects which link DomainIDs to the RoleID applicable to them. |
ID required | integer Default: 0 ID of a persisted LDAP group |
DN required | string Distinguished name that uniquely identifies a group |
Name required | string Name of a group |
RestorepointMembers required | Array of strings List of Restorepoint users' usernames who are LDAP group members |
required | Array of objects List of DomainRole objects which link DomainIDs to the RoleID applicable to them. |
{- "DN": "cn=Restorepoint_Engineering,ou=Group,dc=restorepoint,dc=local",
- "DomainRoles": [
- {
- "DomainID": 1,
- "RoleID": 3
}
]
}
{- "ID": 1,
- "DN": "cn=Restorepoint_Engineering,ou=Group,dc=restorepoint,dc=local",
- "Name": "Restorepoint Engineering",
- "RestorepointMembers": [
- "admin"
], - "DomainRoles": [
- {
- "DomainID": 1,
- "RoleID": 3
}
]
}
Update an LDAP group
id required | integer LDAP group ID |
required | Array of objects List of DomainRole objects which link DomainIDs to the RoleID applicable to them. |
ID required | integer Default: 0 ID of a persisted LDAP group |
DN required | string Distinguished name that uniquely identifies a group |
Name required | string Name of a group |
RestorepointMembers required | Array of strings List of Restorepoint users' usernames who are LDAP group members |
required | Array of objects List of DomainRole objects which link DomainIDs to the RoleID applicable to them. |
{- "DomainRoles": [
- {
- "DomainID": 1,
- "RoleID": 3
}
]
}
{- "ID": 1,
- "DN": "cn=Restorepoint_Engineering,ou=Group,dc=restorepoint,dc=local",
- "Name": "Restorepoint Engineering",
- "RestorepointMembers": [
- "admin"
], - "DomainRoles": [
- {
- "DomainID": 1,
- "RoleID": 3
}
]
}
Delete an LDAP group
id required | integer LDAP group ID |
{- "EncryptionStatus": "Decrypting",
- "Status": "Updating",
- "message": "string",
- "errors": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}
}
Delete a output group
id required | integer Command output group ID |
{- "EncryptionStatus": "Decrypting",
- "Status": "Updating",
- "message": "string",
- "errors": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}
}
Retrieve all outputs, grouping the ones from the same group
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
fulltext | string Only return records matching the search term. Must have at least 3 characters |
created_after | string Example: created_after=2020-01-02T15:04:05.999Z Timestamp (UTC) to include results after the updated date. |
created_before | string Example: created_before=2023-01-02T15:04:05.999Z Timestamp (UTC) to include results before the created date. |
offset required | integer >= 0 Default: 0 The number of items skipped |
limit required | integer >= 1 Default: 50 The numbers of items returned |
total required | integer The total number of items |
object The search parameters used to filter items | |
Array of objects The sorting parameters used to sort items | |
Array of objects (Grouped Command Output) The returned items |
{- "offset": 0,
- "limit": 50,
- "total": 0,
- "search": {
- "fulltext": "some text",
- "created_after": "2020-01-02T15:04:05.999Z",
- "created_before": "2023-01-02T15:04:05.999Z"
}, - "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "CommandOutputGroupID": 123,
- "CommandOutputIDs": [
- 123,
- 213,
- 312
], - "DeviceIDs": [
- 123,
- 213,
- 312
], - "DeviceNames": [
- "Device A",
- "Device B",
- "Device C"
], - "CommandID": 123,
- "CommandName": "Show version",
- "CommandScheduleID": 123,
- "Created": "2222-02-22T22:22:22.000Z",
- "Output": "Foo device\nfirst line\nsecond line\nthird line\nBar device\nfirst line\nsecond line\nBaz device\nfirst line\n",
- "HashID": 321
}
]
}
Retrieve a single grouped output
id required | integer Command output group ID |
CommandOutputGroupID required | integer ID of the Command Output Group this output is a part of |
CommandOutputIDs required | |
DeviceIDs required | |
DeviceNames required | |
CommandID required | integer ID of the Command this output was recorded for |
CommandName required | string Name of the Command this output was recorded for |
CommandScheduleID required | integer ID of the Command Schedule that triggered the recording of this output |
Created required | string Timestamp in RFC3339 format when the output was recorded |
Output required | string The recorded output in plain text if not grouped; concatenated with device names for grouped outputs |
HashID | integer HashID of the data response for the Command Output Groups |
{- "CommandOutputGroupID": 123,
- "CommandOutputIDs": [
- 123,
- 213,
- 312
], - "DeviceIDs": [
- 123,
- 213,
- 312
], - "DeviceNames": [
- "Device A",
- "Device B",
- "Device C"
], - "CommandID": 123,
- "CommandName": "Show version",
- "CommandScheduleID": 123,
- "Created": "2222-02-22T22:22:22.000Z",
- "Output": "Foo device\nfirst line\nsecond line\nthird line\nBar device\nfirst line\nsecond line\nBaz device\nfirst line\n",
- "HashID": 321
}
List table views
fields | string Example: fields=key,name Comma separated list of fields to return in the list operation. Those will then be the only fields returned. |
table_name | string Name of the table for which the table views are requested |
fields required | Array of strings The filtered fields |
total required | integer The total number of table views returned |
required | Array of objects (Persisted table view) The returned table views |
{- "fields": [
- "string"
], - "total": 0,
- "data": [
- {
- "ID": 123,
- "UserID": 123,
- "TableName": "devices",
- "ViewName": "My view",
- "Columns": [
- "Name"
], - "SortColumn": "Name",
- "SortOrder": "desc",
- "Filter": { },
- "Selected": true
}
]
}
Create a table view
TableName required | string Name of the table the table view refers to |
ViewName required | string Name of the table view |
Columns | Array of strings Columns to show in specific order |
SortColumn | string Name of the column to sort by |
SortOrder | string Enum: "asc" "desc" Sort order, ascending or descending |
Filter | object Filter params |
ID required | integer ID of the table view |
UserID required | integer ID of the user the table view belongs to |
TableName required | string Name of the table the table view refers to |
ViewName required | string Name of the table view |
Columns required | Array of strings Columns to show in specific order |
SortColumn required | string Name of the column to sort by |
SortOrder required | string Enum: "asc" "desc" Sort order, ascending or descending |
Filter required | object Filter params |
Selected required | boolean Flag defining whether the table view is the selected one |
{- "TableName": "devices",
- "ViewName": "My view",
- "Columns": [
- "Name"
], - "SortColumn": "Name",
- "SortOrder": "desc",
- "Filter": { }
}
{- "ID": 123,
- "UserID": 123,
- "TableName": "devices",
- "ViewName": "My view",
- "Columns": [
- "Name"
], - "SortColumn": "Name",
- "SortOrder": "desc",
- "Filter": { },
- "Selected": true
}
Get a table view
id required | integer ID of the table view |
ID required | integer ID of the table view |
UserID required | integer ID of the user the table view belongs to |
TableName required | string Name of the table the table view refers to |
ViewName required | string Name of the table view |
Columns required | Array of strings Columns to show in specific order |
SortColumn required | string Name of the column to sort by |
SortOrder required | string Enum: "asc" "desc" Sort order, ascending or descending |
Filter required | object Filter params |
Selected required | boolean Flag defining whether the table view is the selected one |
{- "ID": 123,
- "UserID": 123,
- "TableName": "devices",
- "ViewName": "My view",
- "Columns": [
- "Name"
], - "SortColumn": "Name",
- "SortOrder": "desc",
- "Filter": { },
- "Selected": true
}
Update table view
id required | integer ID of the table view |
Columns | Array of strings Columns to show in specific order |
SortColumn | string Name of the column to sort by |
SortOrder | string Enum: "asc" "desc" Sort order, ascending or descending |
Filter | object Filter params |
Selected | boolean Flag defining whether the table view is the selected one |
ID required | integer ID of the table view |
UserID required | integer ID of the user the table view belongs to |
TableName required | string Name of the table the table view refers to |
ViewName required | string Name of the table view |
Columns required | Array of strings Columns to show in specific order |
SortColumn required | string Name of the column to sort by |
SortOrder required | string Enum: "asc" "desc" Sort order, ascending or descending |
Filter required | object Filter params |
Selected required | boolean Flag defining whether the table view is the selected one |
{- "Columns": [
- "Name"
], - "SortColumn": "Name",
- "SortOrder": "desc",
- "Filter": { },
- "Selected": true
}
{- "ID": 123,
- "UserID": 123,
- "TableName": "devices",
- "ViewName": "My view",
- "Columns": [
- "Name"
], - "SortColumn": "Name",
- "SortOrder": "desc",
- "Filter": { },
- "Selected": true
}
List table views
fields | string Example: fields=key,name Comma separated list of fields to return in the list operation. Those will then be the only fields returned. |
table_name | string Name of the table for which the table views are requested |
fields required | Array of strings The filtered fields |
total required | integer The total number of table views returned |
required | Array of objects (Persisted table view) The returned table views |
{- "fields": [
- "string"
], - "total": 0,
- "data": [
- {
- "ID": 123,
- "UserID": 123,
- "TableName": "devices",
- "ViewName": "My view",
- "Columns": [
- "Name"
], - "SortColumn": "Name",
- "SortOrder": "desc",
- "Filter": { },
- "Selected": true
}
]
}
Create a table view
TableName required | string Name of the table the table view refers to |
ViewName required | string Name of the table view |
Columns | Array of strings Columns to show in specific order |
SortColumn | string Name of the column to sort by |
SortOrder | string Enum: "asc" "desc" Sort order, ascending or descending |
Filter | object Filter params |
ID required | integer ID of the table view |
UserID required | integer ID of the user the table view belongs to |
TableName required | string Name of the table the table view refers to |
ViewName required | string Name of the table view |
Columns required | Array of strings Columns to show in specific order |
SortColumn required | string Name of the column to sort by |
SortOrder required | string Enum: "asc" "desc" Sort order, ascending or descending |
Filter required | object Filter params |
Selected required | boolean Flag defining whether the table view is the selected one |
{- "TableName": "devices",
- "ViewName": "My view",
- "Columns": [
- "Name"
], - "SortColumn": "Name",
- "SortOrder": "desc",
- "Filter": { }
}
{- "ID": 123,
- "UserID": 123,
- "TableName": "devices",
- "ViewName": "My view",
- "Columns": [
- "Name"
], - "SortColumn": "Name",
- "SortOrder": "desc",
- "Filter": { },
- "Selected": true
}
Get a table view
id required | integer ID of the table view |
ID required | integer ID of the table view |
UserID required | integer ID of the user the table view belongs to |
TableName required | string Name of the table the table view refers to |
ViewName required | string Name of the table view |
Columns required | Array of strings Columns to show in specific order |
SortColumn required | string Name of the column to sort by |
SortOrder required | string Enum: "asc" "desc" Sort order, ascending or descending |
Filter required | object Filter params |
Selected required | boolean Flag defining whether the table view is the selected one |
{- "ID": 123,
- "UserID": 123,
- "TableName": "devices",
- "ViewName": "My view",
- "Columns": [
- "Name"
], - "SortColumn": "Name",
- "SortOrder": "desc",
- "Filter": { },
- "Selected": true
}
Update table view
id required | integer ID of the table view |
Columns | Array of strings Columns to show in specific order |
SortColumn | string Name of the column to sort by |
SortOrder | string Enum: "asc" "desc" Sort order, ascending or descending |
Filter | object Filter params |
Selected | boolean Flag defining whether the table view is the selected one |
ID required | integer ID of the table view |
UserID required | integer ID of the user the table view belongs to |
TableName required | string Name of the table the table view refers to |
ViewName required | string Name of the table view |
Columns required | Array of strings Columns to show in specific order |
SortColumn required | string Name of the column to sort by |
SortOrder required | string Enum: "asc" "desc" Sort order, ascending or descending |
Filter required | object Filter params |
Selected required | boolean Flag defining whether the table view is the selected one |
{- "Columns": [
- "Name"
], - "SortColumn": "Name",
- "SortOrder": "desc",
- "Filter": { },
- "Selected": true
}
{- "ID": 123,
- "UserID": 123,
- "TableName": "devices",
- "ViewName": "My view",
- "Columns": [
- "Name"
], - "SortColumn": "Name",
- "SortOrder": "desc",
- "Filter": { },
- "Selected": true
}
Recovery password reset
Username required | string User's username |
RecoveryToken required | string User's recovery token |
RecoveryAnswer required | string User's answer to their recovery question |
NewPassword required | string User's new password |
NewEncryptionPassword required | string User's new encryption password |
{- "Username": "admin",
- "RecoveryToken": "28j12jd21f138hf3802hfhf23hf23fv2433v34",
- "RecoveryAnswer": "Tarrega",
- "NewPassword": "nd281hf280r12u80ca0duasf",
- "NewEncryptionPassword": "dj12f13280gh2g230gj2330g"
}
{- "message": "Unable to decode request body"
}
Get recovery question
username required | string Username of the user whose question is requested |
Question required | string User's recovery question |
{- "Question": "Favourite musician?"
}
List reports
fields | string Example: fields=key,name Comma separated list of fields to return in the list operation. Those will then be the only fields returned. |
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
fulltext | string Only return records matching the search term. Must have at least 3 characters |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
fields required | Array of strings The filtered fields |
offset required | integer >= 0 Default: 0 The number of reports skipped |
limit required | integer >= 1 Default: 50 The number of reports returned |
total required | integer The total number of reports returned |
object The search parameters used to filter reports | |
Array of objects The sorting parameters used to sort reports | |
required | Array of objects (Reports) The returned reports |
{- "fields": [
- "string"
], - "offset": 0,
- "limit": 50,
- "total": 0,
- "search": {
- "fulltext": "devices"
}, - "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "Title": "Devices report",
- "DataType": "devices",
- "SecondaryDataType": "configurationcompliancefull",
- "Fields": [
- "Name"
], - "Filters": [
- {
- "ID": 123,
- "Parameter": "label_id[]",
- "Operator": "=",
- "Values": [
- "string"
]
}
], - "TimePeriod": "",
- "TimeSinceValue": 1,
- "TimeSinceUnit": "",
- "TimeFrom": "2222-02-22T22:22:22.000Z",
- "TimeTo": "2222-06-22T22:22:22.000Z",
- "SortFieldName": "Name",
- "SortOrder": ""
}
]
}
Create a report
ID | integer Report ID |
Title required | string Report title |
DataType required | string Enum: "devices" "backups" "agents" "domains" "credentials" "commands" "commandschedules" "devicepolicies" "policyvariables" "exportpolicies" "fileservers" "users" "roles" "logs" "syslogs" "assets" "configurationcompliance" "passwordcompliance" Report data type |
SecondaryDataType | string Enum: "configurationcompliancefull" "configurationcompliancelatest" "configurationcompliancesummary" "configurationbaselines" "currentconfigurationbaselines" "complianceviolations" "compliancedevicepasswords" "complianceuserpasswords" Report secondary data type |
Fields required | Array of strings Data type fields to include in the report |
Array of objects (ReportFilter) Data type filters used to filter the report data | |
TimePeriod | string Enum: "" "alltime" "last24hours" "thisweek" "thismonth" "thisyear" "since" "fromto" Time period determining which data to include in the report |
TimeSinceValue | integer Value for the "since" time period |
TimeSinceUnit | string Enum: "" "hours" "days" "weeks" "months" "years" Unit for the "since" time period |
TimeFrom | string Start timestamp in RFC3339 for the "fromto" time period |
TimeTo | string End timestamp in RFC3339 for the "fromto" time period |
SortFieldName | string Field name to sort by |
SortOrder | string Enum: "" "asc" "desc" Order to sort by |
ID | integer Report ID |
Title required | string Report title |
DataType required | string Enum: "devices" "backups" "agents" "domains" "credentials" "commands" "commandschedules" "devicepolicies" "policyvariables" "exportpolicies" "fileservers" "users" "roles" "logs" "syslogs" "assets" "configurationcompliance" "passwordcompliance" Report data type |
SecondaryDataType | string Enum: "configurationcompliancefull" "configurationcompliancelatest" "configurationcompliancesummary" "configurationbaselines" "currentconfigurationbaselines" "complianceviolations" "compliancedevicepasswords" "complianceuserpasswords" Report secondary data type |
Fields required | Array of strings Data type fields to include in the report |
Array of objects (ReportFilter) Data type filters used to filter the report data | |
TimePeriod | string Enum: "" "alltime" "last24hours" "thisweek" "thismonth" "thisyear" "since" "fromto" Time period determining which data to include in the report |
TimeSinceValue | integer Value for the "since" time period |
TimeSinceUnit | string Enum: "" "hours" "days" "weeks" "months" "years" Unit for the "since" time period |
TimeFrom | string Start timestamp in RFC3339 for the "fromto" time period |
TimeTo | string End timestamp in RFC3339 for the "fromto" time period |
SortFieldName | string Field name to sort by |
SortOrder | string Enum: "" "asc" "desc" Order to sort by |
{- "ID": 123,
- "Title": "Devices report",
- "DataType": "devices",
- "SecondaryDataType": "configurationcompliancefull",
- "Fields": [
- "Name"
], - "Filters": [
- {
- "ID": 123,
- "Parameter": "label_id[]",
- "Operator": "=",
- "Values": [
- "string"
]
}
], - "TimePeriod": "",
- "TimeSinceValue": 1,
- "TimeSinceUnit": "",
- "TimeFrom": "2222-02-22T22:22:22.000Z",
- "TimeTo": "2222-06-22T22:22:22.000Z",
- "SortFieldName": "Name",
- "SortOrder": ""
}
{- "ID": 123,
- "Title": "Devices report",
- "DataType": "devices",
- "SecondaryDataType": "configurationcompliancefull",
- "Fields": [
- "Name"
], - "Filters": [
- {
- "ID": 123,
- "Parameter": "label_id[]",
- "Operator": "=",
- "Values": [
- "string"
]
}
], - "TimePeriod": "",
- "TimeSinceValue": 1,
- "TimeSinceUnit": "",
- "TimeFrom": "2222-02-22T22:22:22.000Z",
- "TimeTo": "2222-06-22T22:22:22.000Z",
- "SortFieldName": "Name",
- "SortOrder": ""
}
Generate an ad-hoc report
required | object (Reports) Report model |
Format required | string Enum: "csv" "pdf" Format to generate the report in |
{- "Report": {
- "ID": 123,
- "Title": "Devices report",
- "DataType": "devices",
- "SecondaryDataType": "configurationcompliancefull",
- "Fields": [
- "Name"
], - "Filters": [
- {
- "ID": 123,
- "Parameter": "label_id[]",
- "Operator": "=",
- "Values": [
- "string"
]
}
], - "TimePeriod": "",
- "TimeSinceValue": 1,
- "TimeSinceUnit": "",
- "TimeFrom": "2222-02-22T22:22:22.000Z",
- "TimeTo": "2222-06-22T22:22:22.000Z",
- "SortFieldName": "Name",
- "SortOrder": ""
}, - "Format": "csv"
}
{- "message": "Input validation failed",
- "errors": {
- "Title": [
- "Must not be blank"
], - "DataType": [
- "Must not be blank",
- "Must be a valid data type"
], - "SecondaryDataType": [
- "Must be a valid data type"
], - "Fields": [
- "Must not be empty"
], - "Filters[0].Parameter": [
- "Must not be blank"
], - "Filters[0].Values": [
- "Must not be empty"
], - "Filters[0].Operator": [
- "Must be one of: =, !=, >, >=, <, <="
], - "TimePeriod": [
- "Must not be blank",
- "Must be one of: alltime, last24hours, thisweek, thismonth, thisyear, since, fromto"
], - "TimeSinceValue": [
- "Must be a positive integer"
], - "TimeSinceUnit": [
- "Must be one of: hours, days, weeks, months, years"
], - "TimeFrom": [
- "Must be set if period is from/to"
], - "TimeTo": [
- "Must be set if period is from/to"
], - "SortOrder": [
- "Must be either asc or desc"
], - "Format": [
- "Must be either csv or pdf"
]
}
}
Get a report
id required | integer Report ID |
ID | integer Report ID |
Title required | string Report title |
DataType required | string Enum: "devices" "backups" "agents" "domains" "credentials" "commands" "commandschedules" "devicepolicies" "policyvariables" "exportpolicies" "fileservers" "users" "roles" "logs" "syslogs" "assets" "configurationcompliance" "passwordcompliance" Report data type |
SecondaryDataType | string Enum: "configurationcompliancefull" "configurationcompliancelatest" "configurationcompliancesummary" "configurationbaselines" "currentconfigurationbaselines" "complianceviolations" "compliancedevicepasswords" "complianceuserpasswords" Report secondary data type |
Fields required | Array of strings Data type fields to include in the report |
Array of objects (ReportFilter) Data type filters used to filter the report data | |
TimePeriod | string Enum: "" "alltime" "last24hours" "thisweek" "thismonth" "thisyear" "since" "fromto" Time period determining which data to include in the report |
TimeSinceValue | integer Value for the "since" time period |
TimeSinceUnit | string Enum: "" "hours" "days" "weeks" "months" "years" Unit for the "since" time period |
TimeFrom | string Start timestamp in RFC3339 for the "fromto" time period |
TimeTo | string End timestamp in RFC3339 for the "fromto" time period |
SortFieldName | string Field name to sort by |
SortOrder | string Enum: "" "asc" "desc" Order to sort by |
{- "ID": 123,
- "Title": "Devices report",
- "DataType": "devices",
- "SecondaryDataType": "configurationcompliancefull",
- "Fields": [
- "Name"
], - "Filters": [
- {
- "ID": 123,
- "Parameter": "label_id[]",
- "Operator": "=",
- "Values": [
- "string"
]
}
], - "TimePeriod": "",
- "TimeSinceValue": 1,
- "TimeSinceUnit": "",
- "TimeFrom": "2222-02-22T22:22:22.000Z",
- "TimeTo": "2222-06-22T22:22:22.000Z",
- "SortFieldName": "Name",
- "SortOrder": ""
}
Update a report
id required | integer Report ID |
ID | integer Report ID |
Title required | string Report title |
DataType required | string Enum: "devices" "backups" "agents" "domains" "credentials" "commands" "commandschedules" "devicepolicies" "policyvariables" "exportpolicies" "fileservers" "users" "roles" "logs" "syslogs" "assets" "configurationcompliance" "passwordcompliance" Report data type |
SecondaryDataType | string Enum: "configurationcompliancefull" "configurationcompliancelatest" "configurationcompliancesummary" "configurationbaselines" "currentconfigurationbaselines" "complianceviolations" "compliancedevicepasswords" "complianceuserpasswords" Report secondary data type |
Fields required | Array of strings Data type fields to include in the report |
Array of objects (ReportFilter) Data type filters used to filter the report data | |
TimePeriod | string Enum: "" "alltime" "last24hours" "thisweek" "thismonth" "thisyear" "since" "fromto" Time period determining which data to include in the report |
TimeSinceValue | integer Value for the "since" time period |
TimeSinceUnit | string Enum: "" "hours" "days" "weeks" "months" "years" Unit for the "since" time period |
TimeFrom | string Start timestamp in RFC3339 for the "fromto" time period |
TimeTo | string End timestamp in RFC3339 for the "fromto" time period |
SortFieldName | string Field name to sort by |
SortOrder | string Enum: "" "asc" "desc" Order to sort by |
ID | integer Report ID |
Title required | string Report title |
DataType required | string Enum: "devices" "backups" "agents" "domains" "credentials" "commands" "commandschedules" "devicepolicies" "policyvariables" "exportpolicies" "fileservers" "users" "roles" "logs" "syslogs" "assets" "configurationcompliance" "passwordcompliance" Report data type |
SecondaryDataType | string Enum: "configurationcompliancefull" "configurationcompliancelatest" "configurationcompliancesummary" "configurationbaselines" "currentconfigurationbaselines" "complianceviolations" "compliancedevicepasswords" "complianceuserpasswords" Report secondary data type |
Fields required | Array of strings Data type fields to include in the report |
Array of objects (ReportFilter) Data type filters used to filter the report data | |
TimePeriod | string Enum: "" "alltime" "last24hours" "thisweek" "thismonth" "thisyear" "since" "fromto" Time period determining which data to include in the report |
TimeSinceValue | integer Value for the "since" time period |
TimeSinceUnit | string Enum: "" "hours" "days" "weeks" "months" "years" Unit for the "since" time period |
TimeFrom | string Start timestamp in RFC3339 for the "fromto" time period |
TimeTo | string End timestamp in RFC3339 for the "fromto" time period |
SortFieldName | string Field name to sort by |
SortOrder | string Enum: "" "asc" "desc" Order to sort by |
{- "ID": 123,
- "Title": "Devices report",
- "DataType": "devices",
- "SecondaryDataType": "configurationcompliancefull",
- "Fields": [
- "Name"
], - "Filters": [
- {
- "ID": 123,
- "Parameter": "label_id[]",
- "Operator": "=",
- "Values": [
- "string"
]
}
], - "TimePeriod": "",
- "TimeSinceValue": 1,
- "TimeSinceUnit": "",
- "TimeFrom": "2222-02-22T22:22:22.000Z",
- "TimeTo": "2222-06-22T22:22:22.000Z",
- "SortFieldName": "Name",
- "SortOrder": ""
}
{- "ID": 123,
- "Title": "Devices report",
- "DataType": "devices",
- "SecondaryDataType": "configurationcompliancefull",
- "Fields": [
- "Name"
], - "Filters": [
- {
- "ID": 123,
- "Parameter": "label_id[]",
- "Operator": "=",
- "Values": [
- "string"
]
}
], - "TimePeriod": "",
- "TimeSinceValue": 1,
- "TimeSinceUnit": "",
- "TimeFrom": "2222-02-22T22:22:22.000Z",
- "TimeTo": "2222-06-22T22:22:22.000Z",
- "SortFieldName": "Name",
- "SortOrder": ""
}
Delete a report
id required | integer Report ID |
{- "message": "Input validation failed",
- "errors": {
- "Title": [
- "Must not be blank"
], - "DataType": [
- "Must not be blank",
- "Must be a valid data type"
], - "SecondaryDataType": [
- "Must be a valid data type"
], - "Fields": [
- "Must not be empty"
], - "Filters[0].Parameter": [
- "Must not be blank"
], - "Filters[0].Values": [
- "Must not be empty"
], - "Filters[0].Operator": [
- "Must be one of: =, !=, >, >=, <, <="
], - "TimePeriod": [
- "Must not be blank",
- "Must be one of: alltime, last24hours, thisweek, thismonth, thisyear, since, fromto"
], - "TimeSinceValue": [
- "Must be a positive integer"
], - "TimeSinceUnit": [
- "Must be one of: hours, days, weeks, months, years"
], - "TimeFrom": [
- "Must be set if period is from/to"
], - "TimeTo": [
- "Must be set if period is from/to"
], - "SortOrder": [
- "Must be either asc or desc"
]
}
}
List report schedules
fields | string Example: fields=key,name Comma separated list of fields to return in the list operation. Those will then be the only fields returned. |
offset | integer >= 0 Default: 0 The number of items to skip before starting to collect the result set. Offset starts at |
limit | integer [ 1 .. 500 ] Default: 50 The numbers of items to return |
fulltext | string Only return records matching the search term. Must have at least 3 characters |
sort | string Example: sort=Date,-Name Comma-separated fields that should be used to order the items returned. The default ordering method is ascendant, and the prefix "-" inverts it to be descendant |
fields required | Array of strings The filtered fields |
offset required | integer >= 0 Default: 0 The number of report schedules skipped |
limit required | integer >= 1 Default: 50 The number of report schedules returned |
total required | integer The total number of report schedules returned |
object The search parameters used to filter report schedules | |
Array of objects The sorting parameters used to sort report schedules | |
required | Array of objects (Report schedules) The returned report schedules |
{- "fields": [
- "string"
], - "offset": 0,
- "limit": 50,
- "total": 0,
- "search": {
- "fulltext": "devices"
}, - "sort": [
- {
- "field": "string",
- "order": "asc"
}
], - "data": [
- {
- "ID": 123,
- "Cron": "15 * * * *",
- "FileserverID": 123,
- "Emails": [
- "john@example.com"
], - "EmailText": "Find the scheduled Restorepoint devices report attached",
- "ReportsFormat": "csv",
- "ReportsIDs": [
- 123
], - "LastRun": "2021-01-20T23:59:59.999Z",
- "Created": "2021-01-20T23:59:59.999Z",
- "CreatedByUsername": "admin"
}
]
}
Create a report schedule
ID | integer Report schedule ID |
Cron required | string A cron-like expression describing the report schedule |
FileserverID | integer ID of a fileserver to send the report to |
Emails required | Array of strings Email addresses to send the report to |
EmailText | string Text to include in the email containing the report |
ReportsFormat required | string Enum: "csv" "pdf" Format to use when sending the reports |
ReportsIDs required | Array of integers IDs of the reports the schedule applies to |
ID | integer Report schedule ID |
Cron required | string A cron-like expression describing the report schedule |
FileserverID | integer ID of a fileserver to send the report to |
Emails required | Array of strings Email addresses to send the report to |
EmailText | string Text to include in the email containing the report |
ReportsFormat required | string Enum: "csv" "pdf" Format to use when sending the reports |
ReportsIDs required | Array of integers IDs of the reports the schedule applies to |
LastRun | string Date time of last schedule run. |
Created | string Date time of when the schedule was created. |
CreatedByUsername | string Username of the user who created the schedule. |
{- "ID": 123,
- "Cron": "15 * * * *",
- "FileserverID": 123,
- "Emails": [
- "john@example.com"
], - "EmailText": "Find the scheduled Restorepoint devices report attached",
- "ReportsFormat": "csv",
- "ReportsIDs": [
- 123
]
}
{- "ID": 123,
- "Cron": "15 * * * *",
- "FileserverID": 123,
- "Emails": [
- "john@example.com"
], - "EmailText": "Find the scheduled Restorepoint devices report attached",
- "ReportsFormat": "csv",
- "ReportsIDs": [
- 123
], - "LastRun": "2021-01-20T23:59:59.999Z",
- "Created": "2021-01-20T23:59:59.999Z",
- "CreatedByUsername": "admin"
}
Get a report schedule
id required | integer Report schedule ID |
ID | integer Report schedule ID |
Cron required | string A cron-like expression describing the report schedule |
FileserverID | integer ID of a fileserver to send the report to |
Emails required | Array of strings Email addresses to send the report to |
EmailText | string Text to include in the email containing the report |
ReportsFormat required | string Enum: "csv" "pdf" Format to use when sending the reports |
ReportsIDs required | Array of integers IDs of the reports the schedule applies to |
LastRun | string Date time of last schedule run. |
Created | string Date time of when the schedule was created. |
CreatedByUsername | string Username of the user who created the schedule. |
{- "ID": 123,
- "Cron": "15 * * * *",
- "FileserverID": 123,
- "Emails": [
- "john@example.com"
], - "EmailText": "Find the scheduled Restorepoint devices report attached",
- "ReportsFormat": "csv",
- "ReportsIDs": [
- 123
], - "LastRun": "2021-01-20T23:59:59.999Z",
- "Created": "2021-01-20T23:59:59.999Z",
- "CreatedByUsername": "admin"
}
Update a report schedule
id required | integer Report schedule ID |
ID | integer Report schedule ID |
Cron required | string A cron-like expression describing the report schedule |
FileserverID | integer ID of a fileserver to send the report to |
Emails required | Array of strings Email addresses to send the report to |
EmailText | string Text to include in the email containing the report |
ReportsFormat required | string Enum: "csv" "pdf" Format to use when sending the reports |
ReportsIDs required | Array of integers IDs of the reports the schedule applies to |
ID | integer Report schedule ID |
Cron required | string A cron-like expression describing the report schedule |
FileserverID | integer ID of a fileserver to send the report to |
Emails required | Array of strings Email addresses to send the report to |
EmailText | string Text to include in the email containing the report |
ReportsFormat required | string Enum: "csv" "pdf" Format to use when sending the reports |
ReportsIDs required | Array of integers IDs of the reports the schedule applies to |
LastRun | string Date time of last schedule run. |
Created | string Date time of when the schedule was created. |
CreatedByUsername | string Username of the user who created the schedule. |
{- "ID": 123,
- "Cron": "15 * * * *",
- "FileserverID": 123,
- "Emails": [
- "john@example.com"
], - "EmailText": "Find the scheduled Restorepoint devices report attached",
- "ReportsFormat": "csv",
- "ReportsIDs": [
- 123
]
}
{- "ID": 123,
- "Cron": "15 * * * *",
- "FileserverID": 123,
- "Emails": [
- "john@example.com"
], - "EmailText": "Find the scheduled Restorepoint devices report attached",
- "ReportsFormat": "csv",
- "ReportsIDs": [
- 123
], - "LastRun": "2021-01-20T23:59:59.999Z",
- "Created": "2021-01-20T23:59:59.999Z",
- "CreatedByUsername": "admin"
}
Delete a report schedule
id required | integer Report schedule ID |
{- "message": "Input validation failed",
- "errors": {
- "Cron": [
- "Must not be blank",
- "Is not a valid Restorepoint schedule expression"
], - "FileserverID": [
- "Either a fileserver or emails need to be set"
], - "Emails": [
- "Either a fileserver or emails need to be set"
], - "EmailText": [
- "Must not be blank if Emails is not empty"
], - "ReportsFormat": [
- "Must not be blank",
- "Must be either csv or pdf"
]
}
}
Get advanced settings
FullTranscript | boolean Default: false Enable/Disable option to write entire transcript file or to max size buffer |
ClipProgress | number Default: 200 Number of characters to clip from the start and end of a progress message. |
LDAPNestedGroups | boolean Default: false Enable/Disable use of nested LDAP groups. |
MaxConcurrentMonitors | number Default: 300 Maximum number of rpmonitors that can be enabled. |
MaxReplicationBuffer | number Default: 20000 Maximum buffer size for jobs a replication worker can have. |
MaxJobs | number Default: 50 Maximum number of concurrent jobs that can be run. |
NoRedact | boolean Default: false Enable/Disable not redacting sensitive information such as passwords from log messages. |
{- "FullTranscript": false,
- "ClipProgress": 200,
- "LDAPNestedGroups": false,
- "MaxConcurrentMonitors": 300,
- "MaxReplicationBuffer": 20000,
- "MaxJobs": 50,
- "NoRedact": false
}
Update advanced settings
FullTranscript | boolean Default: false Enable/Disable option to write entire transcript file or to max size buffer |
ClipProgress | number Default: 200 Number of characters to clip from the start and end of a progress message. |
LDAPNestedGroups | boolean Default: false Enable/Disable use of nested LDAP groups. |
MaxConcurrentMonitors | number Default: 300 Maximum number of rpmonitors that can be enabled. |
MaxReplicationBuffer | number Default: 20000 Maximum buffer size for jobs a replication worker can have. |
MaxJobs | number Default: 50 Maximum number of concurrent jobs that can be run. |
NoRedact | boolean Default: false Enable/Disable not redacting sensitive information such as passwords from log messages. |
FullTranscript | boolean Default: false Enable/Disable option to write entire transcript file or to max size buffer |
ClipProgress | number Default: 200 Number of characters to clip from the start and end of a progress message. |
LDAPNestedGroups | boolean Default: false Enable/Disable use of nested LDAP groups. |
MaxConcurrentMonitors | number Default: 300 Maximum number of rpmonitors that can be enabled. |
MaxReplicationBuffer | number Default: 20000 Maximum buffer size for jobs a replication worker can have. |
MaxJobs | number Default: 50 Maximum number of concurrent jobs that can be run. |
NoRedact | boolean Default: false Enable/Disable not redacting sensitive information such as passwords from log messages. |
{- "FullTranscript": false,
- "ClipProgress": 200,
- "LDAPNestedGroups": false,
- "MaxConcurrentMonitors": 300,
- "MaxReplicationBuffer": 20000,
- "MaxJobs": 50,
- "NoRedact": false
}
{- "FullTranscript": false,
- "ClipProgress": 200,
- "LDAPNestedGroups": false,
- "MaxConcurrentMonitors": 300,
- "MaxReplicationBuffer": 20000,
- "MaxJobs": 50,
- "NoRedact": false
}