Backup and Restore v2.0
Created Mar 27, 2024 at 07:04 PM

Resource: backups

Backups

http://{device}/api/npm.backup/2.0/backups/server/{server_id}
  • JSON
  • {
      "completed": [ completed_backup ],
      "server_id": integer
    }
    Property Name Type Description Notes
    backups <object> Backups Required properties: [server_id, completed];
    backups.completed <array of <completed_backup>> List of completed backups
    backups.completed[items] <completed_backup> A backup stored on a server
    backups.server_id <integer> ID of the backup server (filer)

    Resource: completed_backup

    A backup stored on a server

    http://{device}/api/npm.backup/2.0/completed_backups/server/{server_id}/items/{id}
  • JSON
  • {
      "contents": content_info,
      "created_on": integer,
      "desc": string,
      "hostname": string,
      "id": string,
      "model": string,
      "name": string,
      "serial": string,
      "server_id": integer,
      "sid": string,
      "size": integer,
      "status": status,
      "sw_version": string
    }
    Property Name Type Description Notes
    completed_backup <object> A backup stored on a server Required properties: [id, name, desc, server_id, status, hostname, sw_version, model, serial, created_on, contents, size];
    completed_backup.contents <content_info> Content information describes what a backup contains and what a restore operation restores
    completed_backup.created_on <integer> Creation timestamp Read-only;
    completed_backup.desc <string> Description
    completed_backup.hostname <string> Hostname Read-only;
    completed_backup.id <string> ID (uuid) Read-only;
    completed_backup.model <string> Model Read-only;
    completed_backup.name <string> Name
    completed_backup.serial <string> Serial Read-only;
    completed_backup.server_id <integer> ID of the backup server (filer) Read-only;
    completed_backup.sid <string> ID of associated scheduled backup Read-only; Optional;
    completed_backup.size <integer> Size in bytes Read-only;
    completed_backup.status <status> Status description Values: started, completed, failed, aborted;
    completed_backup.sw_version <string> Software version Read-only;

    Resource: device_status

    Backup and Restore status

    http://{device}/api/npm.backup/2.0/device_status
  • JSON
  • {
      "available_backup_modules": [ module ],
      "available_restore_modules": [ module ],
      "current_operation": {
        "backup_details": operation_details_backup,
        "info": operation_info,
        "progress": {
          "completed": integer,
          "status_message": string,
          "total": integer
        },
        "restore_details": operation_details_restore
      },
      "latest_backup": operation_info,
      "latest_restore": operation_info,
      "system_id": string
    }
    Property Name Type Description Notes
    device_status <object> Backup and Restore status Required properties: [available_backup_modules, available_restore_modules, system_id];
    device_status.available_backup_modules <array of <module>>
    device_status.available_backup_modules
    [items]
    <module> A backup module
    device_status.available_restore_modules <array of <module>>
    device_status.available_restore_modules
    [items]
    <module> A backup module
    device_status.current_operation <object> Information about the current operation Required properties: [info, progress]; Optional;
    device_status.current_operation.
    backup_details
    <operation_details_backup> Backup operation details
    device_status.current_operation.info <operation_info> Backup operation information
    device_status.current_operation.progress <object> Progress report Required properties: [completed, total, status_message];
    device_status.current_operation.progress.
    completed
    <integer> Number of steps completed so far
    device_status.current_operation.progress.
    status_message
    <string> Information about the current step
    device_status.current_operation.progress.
    total
    <integer> Total number of steps
    device_status.current_operation.
    restore_details
    <operation_details_restore> Restore operation details
    device_status.current_operation.oneOf[0] <object> Required properties: [info, backup_details];
    device_status.current_operation.oneOf[0].
    backup_details
    <operation_details_backup> Backup operation details
    device_status.current_operation.oneOf[0].
    info
    <object> Required properties: [operation_type];
    device_status.current_operation.oneOf[0].
    info.operation_type
    <string> Values: backup;
    device_status.current_operation.oneOf[0].
    info.<prop>
    <any> Optional;
    device_status.current_operation.oneOf[0].
    <prop>
    <any> Optional;
    device_status.current_operation.oneOf[1] <object> Required properties: [info, restore_details];
    device_status.current_operation.oneOf[1].
    info
    <object> Required properties: [operation_type];
    device_status.current_operation.oneOf[1].
    info.operation_type
    <string> Values: restore;
    device_status.current_operation.oneOf[1].
    info.<prop>
    <any> Optional;
    device_status.current_operation.oneOf[1].
    restore_details
    <operation_details_restore> Restore operation details
    device_status.current_operation.oneOf[1].
    <prop>
    <any> Optional;
    device_status.latest_backup <operation_info> Backup operation information
    device_status.latest_restore <operation_info> Backup operation information
    device_status.system_id <string> System identifier

    Resource: scheduled_backup

    A schedule backup

    http://{device}/api/npm.backup/2.0/scheduled_backups/items/{id}
  • JSON
  • {
      "active": boolean,
      "contents": content_info,
      "desc": string,
      "id": string,
      "last_backup": integer,
      "name": string,
      "next_backup": integer,
      "retention": integer,
      "retry_attempts": integer,
      "retry_delay": integer,
      "rrule": recurrence_rule,
      "server_id": integer
    }
    Property Name Type Description Notes
    scheduled_backup <object> A schedule backup Required properties: [name, desc, active, retry_attempts, retry_delay, retention, server_id, contents, rrule];
    scheduled_backup.active <boolean> Scheduled backup is active
    scheduled_backup.contents <content_info> Content information describes what a backup contains and what a restore operation restores
    scheduled_backup.desc <string> Description
    scheduled_backup.id <string> ID (uuid) Read-only; Optional;
    scheduled_backup.last_backup <integer> Timestamp that backup last occurred Read-only; Optional;
    scheduled_backup.name <string> Name
    scheduled_backup.next_backup <integer> Timestamp that next backup will occur Read-only; Optional;
    scheduled_backup.retention <integer> Specifies number of backups to retain Range: 1 to 9999;
    scheduled_backup.retry_attempts <integer> Specifies number of times to retry failed backup attempts Range: 0 to 9999;
    scheduled_backup.retry_delay <integer> Specifies number of minutes between retry attempts Range: 0 to 9999;
    scheduled_backup.rrule <recurrence_rule> Recurrence rule specification for report schedule. Implements(incompletely) the Recurrence Rule Specification from iCalendar RFC - http://www.ietf.org/rfc/rfc2445.txt
    scheduled_backup.server_id <integer> ID of backup_server to send backup to

    Relations

    scheduled_backup: instances

    Related resource

    scheduled_backups

    Resource: scheduled_backups

    Scheduled backups

    http://{device}/api/npm.backup/2.0/scheduled_backups
  • JSON
  • {
      "items": [ scheduled_backup ]
    }
    Property Name Type Description Notes
    scheduled_backups <object> Scheduled backups
    scheduled_backups.items <array of <scheduled_backup>> List of scheduled backups Optional;
    scheduled_backups.items[items] <scheduled_backup> A schedule backup

    Resource: server

    Backup server (filer)

    http://{device}/api/npm.backup/2.0/servers/items/{id}
  • JSON
  • {
      "desc": string,
      "host": string,
      "id": integer,
      "name": string,
      "new_private_key": string,
      "path": string,
      "port": integer,
      "public_key": string,
      "user": string
    }
    Property Name Type Description Notes
    server <object> Backup server (filer) Required properties: [name, desc, host, port, path, user];
    server.desc <string> Description
    server.host <string> Host
    server.id <integer> ID Read-only; Optional;
    server.name <string> Name
    server.new_private_key <string> RSA Private Key. Set this during create or update to configure the key. If not set during create then a key will be generated automatically and will be returned in this field in the response. Optional;
    server.path <string> Path
    server.port <integer> Port
    server.public_key <string> RSA Public Key. The public key will be available every time the resource is queried. Read-only; Optional;
    server.user <string> User

    Relations

    server: instances

    Related resource

    servers

    Resource: servers

    Backup servers (filers)

    http://{device}/api/npm.backup/2.0/servers
  • JSON
  • {
      "items": [ server ]
    }
    Property Name Type Description Notes
    servers <object> Backup servers (filers)
    servers.items <array of <server>> List of servers Optional;
    servers.items[items] <server> Backup server (filer)

    Type: backup_size

    Backup size

  • JSON
  • {
      "data_size": [
        {
          "module": string,
          "size": integer,
          <prop>: any
        }
      ],
      "total_size": integer
    }
    Property Name Type Description Notes
    backup_size <object> Backup size Required properties: [total_size, data_size];
    backup_size.data_size <array of <object>>
    backup_size.data_size[items] <object>
    backup_size.data_size[items].module <string> Module short_name Optional;
    backup_size.data_size[items].size <integer> Size in kilobytes Optional;
    backup_size.data_size[items].<prop> <any> Optional;
    backup_size.total_size <integer> Total size

    Type: backup_status

    Information about a backup

  • JSON
  • {
      "backup_id": string,
      "name": string,
      "operation_type": string,
      "sbu_id": string,
      "server_name": string,
      <prop>: any
    }
    Property Name Type Description Notes
    backup_status <object> Information about a backup Required properties: [operation_type, name, server_name, backup_id];
    backup_status.backup_id <string> Backup ID
    backup_status.name <string> Name
    backup_status.operation_type <string> Values: backup;
    backup_status.sbu_id <string> SBU ID Optional;
    backup_status.server_name <string> Backup server (filer) name
    backup_status.<prop> <any> Optional;

    Type: content_info

    Content information describes what a backup contains and what a restore operation restores

  • JSON
  • {
      "config_only": boolean,
      "modules": module_list
    }
    Property Name Type Description Notes
    content_info <object> Content information describes what a backup contains and what a restore operation restores Required properties: [config_only];
    content_info.config_only <boolean> Configuration data only. When restoring, setting this flag to True will force a config-only restore. The flag has no effect if the backup is already config-only.
    content_info.modules <module_list>

    Type: factory_reset_status

    Information about a factory reset

  • JSON
  • {
      "operation_type": string,
      <prop>: any
    }
    Property Name Type Description Notes
    factory_reset_status <object> Information about a factory reset Required properties: [operation_type];
    factory_reset_status.operation_type <string> Values: reset-factory;
    factory_reset_status.<prop> <any> Optional;

    Type: module

    A backup module

  • JSON
  • {
      "desc": string,
      "group": string,
      "group_type": string,
      "short_name": string,
      "supported_options": [
        string
      ]
    }
    Property Name Type Description Notes
    module <object> A backup module Required properties: [short_name, group, desc, group_type, supported_options];
    module.desc <string> Description
    module.group <string> Module group
    module.group_type <string> Type of data (transaction, aggregate, etc)
    module.short_name <string> Short identifier Pattern: '[A-Za-z0-9]+';
    module.supported_options <array of <string>> List of available option names
    module.supported_options[items] <string>

    Type: module_list

  • JSON
  • [
      {
        "module": string,
        "options": [
          {
            "name": string,
            "value": string,
            <prop>: any
          }
        ]
      }
    ]
    Property Name Type Description Notes
    module_list <array of <object>>
    module_list[items] <object> Required properties: [module, options];
    module_list[items].module <string> Module short_name
    module_list[items].options <array of <object>> list of option names and values
    module_list[items].options[items] <object>
    module_list[items].options[items].name <string> Parameter name Optional;
    module_list[items].options[items].value <string> Parameter value Optional;
    module_list[items].options[items].<prop> <any> Optional;

    Type: operation_details_backup

    Backup operation details

  • JSON
  • {
      "contents": content_info,
      "size_estimate": backup_size
    }
    Property Name Type Description Notes
    operation_details_backup <object> Backup operation details Required properties: [size_estimate, contents];
    operation_details_backup.contents <content_info> Content information describes what a backup contains and what a restore operation restores
    operation_details_backup.size_estimate <backup_size> Backup size

    Type: operation_details_restore

    Restore operation details

  • JSON
  • {
      "size": integer
    }
    Property Name Type Description Notes
    operation_details_restore <object> Restore operation details Required properties: [size];
    operation_details_restore.size <integer> Size in bytes

    Type: operation_info

    Backup operation information

  • JSON
  • {
      "operation_type": string,
      "start_time": integer,
      "status": status,
      "status_message": string,
      <prop>: any
    }
    Property Name Type Description Notes
    operation_info <object> Backup operation information Required properties: [operation_type, start_time, status, status_message];
    operation_info.operation_type <string> Type of backup operation Values: backup, restore, reset-factory;
    operation_info.start_time <integer> Timestamp of the start time
    operation_info.status <status> Status description Values: started, completed, failed, aborted;
    operation_info.status_message <string> Status message
    operation_info.<prop> <any> Optional;
    operation_info.oneOf[0] <backup_status> Information about a backup
    operation_info.oneOf[1] <restore_status> Information about a restore
    operation_info.oneOf[2] <factory_reset_status> Information about a factory reset

    Type: recurrence_rule

    Recurrence rule specification for report schedule. Implements(incompletely) the Recurrence Rule Specification from iCalendar RFC - http://www.ietf.org/rfc/rfc2445.txt

  • JSON
  • {
      "byday": [
        string
      ],
      "byhour": [
        integer
      ],
      "byminute": [
        integer
      ],
      "bymonth": [
        integer
      ],
      "bymonthday": [
        integer
      ],
      "bysecond": [
        integer
      ],
      "bysetpos": [
        integer
      ],
      "count": integer,
      "dtstart": integer,
      "freq": string,
      "interval": integer,
      "timezone": string,
      "until": string
    }
    Property Name Type Description Notes
    recurrence_rule <object> Recurrence rule specification for report schedule. Implements(incompletely) the Recurrence Rule Specification from iCalendar RFC - http://www.ietf.org/rfc/rfc2445.txt Required properties: [freq];
    recurrence_rule.byday <array of <string>> Specifies days of the week. Optional;
    recurrence_rule.byday[items] <string> Values: SU, MO, TU, WE, TH, FR, SA;
    recurrence_rule.byhour <array of <integer>> Specifies hours of the day. Optional;
    recurrence_rule.byhour[items] <integer> Range: 0 to 23;
    recurrence_rule.byminute <array of <integer>> Specifies minutes within an hour. Optional;
    recurrence_rule.byminute[items] <integer> Minimum 0;
    recurrence_rule.bymonth <array of <integer>> Specifies array of the months of the year. Optional;
    recurrence_rule.bymonth[items] <integer> Range: 1 to 12;
    recurrence_rule.bymonthday <array of <integer>> Specifies array of days of the month. 0 is invalid value. Optional;
    recurrence_rule.bymonthday[items] <integer> Range: -31 to 31;
    recurrence_rule.bysecond <array of <integer>> Specifies seconds within a minute. Optional;
    recurrence_rule.bysecond[items] <integer> Range: 0 to 59;
    recurrence_rule.bysetpos <array of <integer>> Specifies the nth occurrence within the set of events specified by the rule. 0 is invalid value. It MUST only be used in conjunction with another BYxxx rule part. Optional;
    recurrence_rule.bysetpos[items] <integer> Range: -366 to 366;
    recurrence_rule.count <integer> # TODO enforce this in the schema Specifies the number of occurrences, either until or count must be specified, but not both. Optional; Minimum 1;
    recurrence_rule.dtstart <integer> Specifies when the recurrence begins. High precision timestamp relative to the Unix Epoch. Optional;
    recurrence_rule.freq <string> Type of recurrence rule, to specify repeating events based on an interval of freq. Values: YEARLY, QUARTERLY, MONTHLY, WEEKLY, DAILY, HOURLY, ONETIME;
    recurrence_rule.interval <integer> Specifies how often the recurrence rule repeats. Optional;
    recurrence_rule.timezone <string> Specifies when the time zone. Example: Europe/Budapest. If not specified Etc/Universal is used. Optional;
    recurrence_rule.until <string> # TODO enforce this in the schema Specifies when the recurrence ends, either until or count must be specified, but not both. High precision timestamp relative to the Unix Epoch. Optional;

    Type: restore_status

    Information about a restore

  • JSON
  • {
      "backup_id": string,
      "operation_type": string,
      "server_name": string,
      <prop>: any
    }
    Property Name Type Description Notes
    restore_status <object> Information about a restore Required properties: [operation_type, server_name];
    restore_status.backup_id <string> Backup ID Optional;
    restore_status.operation_type <string> Values: restore;
    restore_status.server_name <string> Backup server (filer) name
    restore_status.<prop> <any> Optional;

    Type: status

    Status description

  • JSON
  • string
    Property Name Type Description Notes
    status <string> Status description Values: started, completed, failed, aborted;