Aller au contenu principal

Backups

28 routes de l'API publique. Textes de la source : openapi-csp.json du dépôt platform.

List endpoint jobs​

GET /endpoints/{id}/jobs

Accès : Clé API du MSP, portée read.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui
limitrequêteintegernonDéfaut : 50. Valeur : 1 à 100.
cursorrequêtestringnonLongueur minimum : 1.
typerequête"backup" | "baremetal_backup" | "mssql_backup" | "vm_backup" | "init" | "unlock" | "forget" | "prune" | "check" | "migrate" | "update" | "reset_first_backup"non
statusrequête"scheduled" | "dispatched" | "running" | "succeeded" | "partial" | "failed" | "cancelled" | "interrupted" | "preempted" | "missed" | "superseded"non

Réponses

CodeDescription
200Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 200 (application/json)

NomTypeObligatoireDescription
itemsarray of objectoui
items[].idstring (uuid)oui
items[].endpoint_idstring (uuid)oui
items[].type"backup" | "baremetal_backup" | "mssql_backup" | "vm_backup" | "init" | "unlock" | "forget" | "prune" | "check" | "migrate" | "update" | "reset_first_backup"oui
items[].status"scheduled" | "dispatched" | "running" | "succeeded" | "partial" | "failed" | "cancelled" | "interrupted" | "preempted" | "missed" | "superseded"oui
items[].trigger"schedule" | "manual" | "system"oui
items[].policy_idstring (uuid) | nullnonThe backup policy of a backup run; null for maintenance or a backup without policy. Optional for older readers [C13], always sent.
items[].causestring | nullouiTyped cause, for example no_ack or repo_migrating
items[].scheduled_atstring (date-time)ouiRequest time for a manual job.
items[].window_ends_atstring (date-time) | nulloui
items[].started_atstring (date-time) | nulloui
items[].ended_atstring (date-time) | nulloui
items[].snapshot_idstring | nullouisucceeded or partial backup only.
items[].summaryobject | nullouiFinal restic summary, backup only.
items[].error_countinteger | nullouiUnreadable files of a partial backup.
items[].file_error_codesarray of object | nullnonCount per typed code of the stored file errors of a partial backup (at most 100; error_count is the real total), most frequent first, without paths or text: for every role and for an OAuth access token (MCP). Null without stored errors. Optional for older readers [C13], always sent.
items[].errorstring | nulloui
items[].upload_limitnumber | nullnonUpload limit sent to the agent for this backup, MiB/s: the exception of the agent, else the limit of the policy, fixed when the order is sent. Null: no limit, or not a backup. Optional for older readers [C13], always sent.
items[].progressobject | nullouiOnly while running
items[].hooksobject | nullnonScripts before and after a backup, per phase: version, SHA-256, status, exit code, duration, output. Null: none ran. Optional for older readers [C13], always sent.
items[].volumeobject | nullnonSize and count of a succeeded or partial backup of any kind. Null: not a backup, no snapshot, or another status. Optional for older readers [C13], always sent.
next_cursorstring | nulloui

Create endpoint job​

POST /endpoints/{id}/jobs

Accès : Clé API du MSP, portée operate.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui

Corps de la requête (application/json)

NomTypeObligatoireDescription
type"backup" | "baremetal_backup"oui

Réponses

CodeDescription
202Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 202 (application/json)

NomTypeObligatoireDescription
idstring (uuid)oui
endpoint_idstring (uuid)oui
type"backup" | "baremetal_backup" | "mssql_backup" | "vm_backup" | "init" | "unlock" | "forget" | "prune" | "check" | "migrate" | "update" | "reset_first_backup"oui
status"scheduled" | "dispatched" | "running" | "succeeded" | "partial" | "failed" | "cancelled" | "interrupted" | "preempted" | "missed" | "superseded"oui
trigger"schedule" | "manual" | "system"oui
policy_idstring (uuid) | nullnonThe backup policy of a backup run; null for maintenance or a backup without policy. Optional for older readers [C13], always sent.
causestring | nullouiTyped cause, for example no_ack or repo_migrating
scheduled_atstring (date-time)ouiRequest time for a manual job.
window_ends_atstring (date-time) | nulloui
started_atstring (date-time) | nulloui
ended_atstring (date-time) | nulloui
snapshot_idstring | nullouisucceeded or partial backup only.
summaryobject | nullouiFinal restic summary, backup only.
error_countinteger | nullouiUnreadable files of a partial backup.
file_error_codesarray of object | nullnonCount per typed code of the stored file errors of a partial backup (at most 100; error_count is the real total), most frequent first, without paths or text: for every role and for an OAuth access token (MCP). Null without stored errors. Optional for older readers [C13], always sent.
errorstring | nulloui
upload_limitnumber | nullnonUpload limit sent to the agent for this backup, MiB/s: the exception of the agent, else the limit of the policy, fixed when the order is sent. Null: no limit, or not a backup. Optional for older readers [C13], always sent.
progressobject | nullouiOnly while running
hooksobject | nullnonScripts before and after a backup, per phase: version, SHA-256, status, exit code, duration, output. Null: none ran. Optional for older readers [C13], always sent.
volumeobject | nullnonSize and count of a succeeded or partial backup of any kind. Null: not a backup, no snapshot, or another status. Optional for older readers [C13], always sent.

List endpoint snapshots​

GET /endpoints/{id}/snapshots

Accès : Clé API du MSP, portée read.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui
limitrequêteintegernonDéfaut : 50. Valeur : 1 à 100.
cursorrequêtestringnonLongueur minimum : 1.
backup_kindrequête"files" | "baremetal" | "mssql" | "hyperv" | "proxmox"nonOnly the snapshots of this kind. Another value: 400.
policy_idrequêtestring (uuid)nonOnly the snapshots of this policy.
vm_keyrequêtestringnonOnly the snapshots of this Hyper-V VM, or Proxmox VM or container

Réponses

CodeDescription
200Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 200 (application/json)

NomTypeObligatoireDescription
itemsarray of objectoui
items[].idstringoui
items[].job_idstring (uuid)oui
items[].backup_kind"files" | "baremetal" | "mssql" | "hyperv" | "proxmox"ouiRead from the backend database, never from the agent: baremetal for a full machine backup.
items[].policy_idstring (uuid) | nullnonThe policy whose retention applies; null: no retention removes it. Optional for older readers [C13], always sent.
items[].vm_keystring | nullnonhyperv and proxmox only: the VM or container of the snapshot (one snapshot per guest and run). Null otherwise. Optional for older readers.
items[].server_timestring (date-time)ouijob.ended_at, the date used by forget (decision B1)
items[].restic_timestring (date-time) | nullouiWritten by the agent, information only.
items[].pathsarray of stringoui
items[].source_bytesinteger | nulloui
items[].added_bytesinteger | nulloui
items[].file_countinteger | nulloui
items[].vm_captureobject | nullnonhyperv and proxmox only: the capture of the VM or container, from its vm_result; null when the backend has none. Absent otherwise.
next_cursorstring | nulloui

List snapshot tree​

POST /endpoints/{id}/snapshots/{snapshot_id}/tree

Accès : Clé API du MSP, portée browse.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui
snapshot_idcheminstringoui

Corps de la requête (application/json)

NomTypeObligatoireDescription
pathstringoui
limitintegernonDéfaut : 500. Valeur : 1 à 1000.
cursorstringnonLongueur maximum : 1024.

Réponses

CodeDescription
200Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 200 (application/json)

NomTypeObligatoireDescription
snapshot_idstringoui
pathstringouiThe listed directory, as received.
entriesarray of objectouiÉléments maximum : 1000.
entries[].namestringouiName without the path. Shown with U+FFFD when invalid_name
entries[].pathstringnonAbsolute path, in a search result only.
entries[].type"dir" | "file" | "symlink" | "other"ouiother: device, fifo, socket, restic irregular
entries[].sizeintegernonBytes, file only. restic keeps no directory size. Valeur minimum : 0.
entries[].mtimestring (date-time)nonModification time read by the agent at backup, UTC. Information only.
entries[].invalid_namebooleannonName not valid UTF-8: neither expandable nor selectable.
next_cursorstringnonPresent when entries are left. Longueur minimum : 1.

Search snapshot​

POST /endpoints/{id}/snapshots/{snapshot_id}/search

Accès : Clé API du MSP, portée browse.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui
snapshot_idcheminstringoui

Corps de la requête (application/json)

NomTypeObligatoireDescription
pathstringnon
namestringnonLongueur minimum : 1.
type"file" | "dir"non
min_sizeintegernonValeur minimum : 0.
max_sizeintegernonValeur minimum : 0.
mtime_afterstring (date-time)non
mtime_beforestring (date-time)non
limitintegernonDéfaut : 200. Valeur : 1 à 1000.
cursorstringnonLongueur maximum : 8192.

Réponses

CodeDescription
200Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 200 (application/json)

NomTypeObligatoireDescription
snapshot_idstringoui
pathstringouiThe listed directory, as received.
entriesarray of objectouiÉléments maximum : 1000.
entries[].namestringouiName without the path. Shown with U+FFFD when invalid_name
entries[].pathstringouiAbsolute path, in a search result only.
entries[].type"dir" | "file" | "symlink" | "other"ouiother: device, fifo, socket, restic irregular
entries[].sizeintegernonBytes, file only. restic keeps no directory size. Valeur minimum : 0.
entries[].mtimestring (date-time)nonModification time read by the agent at backup, UTC. Information only.
entries[].invalid_namebooleannonName not valid UTF-8: neither expandable nor selectable.
next_cursorstringnonPresent when entries are left. Longueur minimum : 1.
scannedintegerouiEntries read for this page. Valeur minimum : 0.
truncatedbooleanoui

Size snapshot selection​

POST /endpoints/{id}/snapshots/{snapshot_id}/selection-size

Accès : Clé API du MSP, portée browse.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui
snapshot_idcheminstringoui

Corps de la requête (application/json)

NomTypeObligatoireDescription
pathsarray of stringouiÉléments : 1 à 1000.

Réponses

CodeDescription
200Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 200 (application/json)

NomTypeObligatoireDescription
bytesintegerouiValeur minimum : 0.
filesintegerouiValeur minimum : 0.
dirsintegerouiValeur minimum : 0.
truncatedbooleanouiStopped after 2000000 entries read: bytes is a lower bound.

Get job​

GET /jobs/{id}

Accès : Clé API du MSP, portée read.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui

Réponses

CodeDescription
200Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 200 (application/json)

NomTypeObligatoireDescription
idstring (uuid)oui
endpoint_idstring (uuid)oui
type"backup" | "baremetal_backup" | "mssql_backup" | "vm_backup" | "init" | "unlock" | "forget" | "prune" | "check" | "migrate" | "update" | "reset_first_backup"oui
status"scheduled" | "dispatched" | "running" | "succeeded" | "partial" | "failed" | "cancelled" | "interrupted" | "preempted" | "missed" | "superseded"oui
trigger"schedule" | "manual" | "system"oui
policy_idstring (uuid) | nullnonThe backup policy of a backup run; null for maintenance or a backup without policy. Optional for older readers [C13], always sent.
causestring | nullouiTyped cause, for example no_ack or repo_migrating
scheduled_atstring (date-time)ouiRequest time for a manual job.
window_ends_atstring (date-time) | nulloui
started_atstring (date-time) | nulloui
ended_atstring (date-time) | nulloui
snapshot_idstring | nullouisucceeded or partial backup only.
summaryobject | nullouiFinal restic summary, backup only.
error_countinteger | nullouiUnreadable files of a partial backup.
file_error_codesarray of object | nullnonCount per typed code of the stored file errors of a partial backup (at most 100; error_count is the real total), most frequent first, without paths or text: for every role and for an OAuth access token (MCP). Null without stored errors. Optional for older readers [C13], always sent.
errorstring | nulloui
upload_limitnumber | nullnonUpload limit sent to the agent for this backup, MiB/s: the exception of the agent, else the limit of the policy, fixed when the order is sent. Null: no limit, or not a backup. Optional for older readers [C13], always sent.
progressobject | nullouiOnly while running
hooksobject | nullnonScripts before and after a backup, per phase: version, SHA-256, status, exit code, duration, output. Null: none ran. Optional for older readers [C13], always sent.
volumeobject | nullnonSize and count of a succeeded or partial backup of any kind. Null: not a backup, no snapshot, or another status. Optional for older readers [C13], always sent.

Cancel job​

POST /jobs/{id}/cancel

Accès : Clé API du MSP, portée operate.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui

Réponses

CodeDescription
202Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 202 (application/json)

NomTypeObligatoireDescription
idstring (uuid)oui
endpoint_idstring (uuid)oui
type"backup" | "baremetal_backup" | "mssql_backup" | "vm_backup" | "init" | "unlock" | "forget" | "prune" | "check" | "migrate" | "update" | "reset_first_backup"oui
status"scheduled" | "dispatched" | "running" | "succeeded" | "partial" | "failed" | "cancelled" | "interrupted" | "preempted" | "missed" | "superseded"oui
trigger"schedule" | "manual" | "system"oui
policy_idstring (uuid) | nullnonThe backup policy of a backup run; null for maintenance or a backup without policy. Optional for older readers [C13], always sent.
causestring | nullouiTyped cause, for example no_ack or repo_migrating
scheduled_atstring (date-time)ouiRequest time for a manual job.
window_ends_atstring (date-time) | nulloui
started_atstring (date-time) | nulloui
ended_atstring (date-time) | nulloui
snapshot_idstring | nullouisucceeded or partial backup only.
summaryobject | nullouiFinal restic summary, backup only.
error_countinteger | nullouiUnreadable files of a partial backup.
file_error_codesarray of object | nullnonCount per typed code of the stored file errors of a partial backup (at most 100; error_count is the real total), most frequent first, without paths or text: for every role and for an OAuth access token (MCP). Null without stored errors. Optional for older readers [C13], always sent.
errorstring | nulloui
upload_limitnumber | nullnonUpload limit sent to the agent for this backup, MiB/s: the exception of the agent, else the limit of the policy, fixed when the order is sent. Null: no limit, or not a backup. Optional for older readers [C13], always sent.
progressobject | nullouiOnly while running
hooksobject | nullnonScripts before and after a backup, per phase: version, SHA-256, status, exit code, duration, output. Null: none ran. Optional for older readers [C13], always sent.
volumeobject | nullnonSize and count of a succeeded or partial backup of any kind. Null: not a backup, no snapshot, or another status. Optional for older readers [C13], always sent.

Get job logs​

GET /jobs/{id}/logs

Accès : Clé API du MSP, portée read.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui
limitrequêteintegernonDéfaut : 200. Valeur : 1 à 500.
cursorrequêtestringnonLines after this position. Without it, the oldest line kept comes first.

Réponses

CodeDescription
200Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 200 (application/json)

NomTypeObligatoireDescription
itemsarray of objectoui
items[].atstring (date-time)ouiServer time when the gateway received the line.
items[].level"debug" | "info" | "warn" | "error"oui
items[].messagestringoui
items[].fieldsobject | nullouiSensitive field names are redacted.
items[].truncatedbooleanouiThe line was too long: message is cut and fields dropped.
next_cursorstring | nulloui
tail_cursorstring | nulloui
dropped_linesintegerouiLines not kept: the oldest, removed by the cap of 2000 lines or 524288 bytes per job, and the lines refused once the agent spent its daily budget. Valeur minimum : 0.

List mssql instances​

GET /endpoints/{id}/mssql/instances

Accès : Clé API du MSP, portée read.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui

Réponses

CodeDescription
200Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 200 (application/json)

NomTypeObligatoireDescription
itemsarray of objectouiÉléments maximum : 50.
items[].instancestringouiMSSQLSERVER for the default instance, else the instance name.
items[].versionstring | nullouiFrom the registry; null if unreadable.
items[].editionstring | nulloui
items[].service_state"running" | "stopped" | "starting" | "stopping" | "paused" | "unknown"oui
items[].supportedbooleanoui
items[].unsupported_reason"x86" | "cluster" | "version_too_old" | nullouiNull when supported.
items[].protocolsobjectoui
items[].connectionobjectoui
items[].connection_status"ok" | "mssql_auth_failed" | "mssql_unreachable" | nullouiLast connection result; null before any.
items[].sysadminboolean | nullouiFalse: the portal shows the CREATE LOGIN text (spec § 5.1)
items[].server_versionstring | nulloui
items[].inventory_atstring (date-time) | nulloui
items[].default_data_pathstring | nullouiInstanceDefaultDataPath of the last inventory. Null without one, for msp_readonly and for a key without browse
items[].default_log_pathstring | nullouiInstanceDefaultLogPath; null as default_data_path
items[].data_free_bytesinteger | nullouiFree space of the volume of default_data_path
items[].log_free_bytesinteger | nullouiFree space of the volume of default_log_path
items[].databasesarray of objectouiÉléments maximum : 1000.

Set mssql connection​

PUT /endpoints/{id}/mssql/instances/{instance}/connection

Accès : Clé API du MSP, portée operate.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui
instancecheminstringouiMSSQLSERVER for the default instance, else the instance name.

Corps de la requête (application/json)

Type : object.

Réponses

CodeDescription
200Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 200 (application/json)

NomTypeObligatoireDescription
auth"service" | "sql" | "windows"oui
userstring | nullouiLogin or DOMAIN\user; null for service
password_set_atstring (date-time) | nullouiNull for service
password_set_bystring (uuid) | nullouiUser who set it; null for service or a deleted user.
password_set_by_namestring | nulloui

List mssql snapshots​

GET /endpoints/{id}/mssql/snapshots

Accès : Clé API du MSP, portée read.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui

Réponses

CodeDescription
200Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 200 (application/json)

NomTypeObligatoireDescription
itemsarray of objectouiÉléments maximum : 500.
items[].snapshot_idstringoui
items[].created_atstring (date-time)oui
items[].policy_idstring (uuid) | nulloui
items[].policy_namestring | nulloui
items[].job_status"succeeded" | "partial"oui
items[].instancestringouiMSSQLSERVER for the default instance, else the instance name.
items[].database_countintegerouiValeur minimum : 0.
items[].total_size_bytesintegerouiSum of the size_bytes of the databases. Valeur minimum : 0.
items[].data_addedinteger | nullouiBytes added to the repo by the snapshot; null if unknown.
items[].pre_restorebooleanouiSafety full made before an overwrite.

Get mssql snapshot​

GET /endpoints/{id}/mssql/snapshots/{snapshotId}

Accès : Clé API du MSP, portée read.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui
snapshotIdcheminstringoui

Réponses

CodeDescription
200Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 200 (application/json)

NomTypeObligatoireDescription
snapshotobjectoui
snapshot.snapshot_idstringoui
snapshot.created_atstring (date-time)oui
snapshot.policy_idstring (uuid) | nulloui
snapshot.policy_namestring | nulloui
snapshot.job_status"succeeded" | "partial"oui
snapshot.instancestringouiMSSQLSERVER for the default instance, else the instance name.
snapshot.database_countintegerouiValeur minimum : 0.
snapshot.total_size_bytesintegerouiSum of the size_bytes of the databases. Valeur minimum : 0.
snapshot.data_addedinteger | nullouiBytes added to the repo by the snapshot; null if unknown.
snapshot.pre_restorebooleanouiSafety full made before an overwrite.
databasesarray of objectouiÉléments maximum : 1000.
databases[].database_namestringouiDatabase name as SQL Server gives it, 1 to 128 UTF-16 code units. Longueur : 1 à 128.
databases[].instancestringouiMSSQLSERVER for the default instance, else the instance name.
databases[].size_bytesinteger | nullouiSize of the stored backup; null for a failed or skipped database.
databases[].data_size_bytesinteger | nullouiSize of the files of the database: the space a restore needs; null for a failed or skipped database.
databases[].recovery_model"FULL" | "BULK_LOGGED" | "SIMPLE" | nulloui
databases[].server_versionstring | nulloui
databases[].backup_finish_datestring (date-time) | nulloui
databases[].status"success" | "failed" | "skipped"oui
databases[].codestring | nullouiError code of a failed or skipped database.

Mssql inventory​

POST /endpoints/{id}/mssql/inventory

Accès : Clé API du MSP, portée operate.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui

Corps de la requête (application/json)

NomTypeObligatoireDescription
instancestringnonMSSQLSERVER for the default instance, else the instance name.
connectionobjectnonTyped connection to test; absent: the stored one.

Réponses

CodeDescription
200Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 200 (application/json)

NomTypeObligatoireDescription
storedbooleanouiFalse for a test of a typed connection.
instancesarray of objectouiÉléments maximum : 50.
instances[].instancestringouiMSSQLSERVER for the default instance, else the instance name.
instances[].versionstring | nullouiFrom the registry; null if unreadable.
instances[].editionstring | nulloui
instances[].service_state"running" | "stopped" | "starting" | "stopping" | "paused" | "unknown"oui
instances[].supportedbooleanoui
instances[].unsupported_reason"x86" | "cluster" | "version_too_old" | nullouiNull when supported.
instances[].protocolsobjectoui
instances[].connection"ok" | "mssql_auth_failed" | "mssql_unreachable"oui
instances[].sysadminboolean | nullouiIS_SRVROLEMEMBER('sysadmin'); null without a connection.
instances[].server_versionstring | nullouiSERVERPROPERTY('ProductVersion'); null without a connection.
instances[].default_data_pathstring | nullouiInstanceDefaultDataPath: where a restore under a new name writes its data files.
instances[].default_log_pathstring | nullouiInstanceDefaultLogPath
instances[].data_free_bytesinteger | nullouiFree space of the volume of default_data_path
instances[].log_free_bytesinteger | nullouiFree space of the volume of default_log_path
instances[].databasesarray of object | nullouiNull without a connection.

List backup policies​

GET /endpoints/{id}/policies

Accès : Clé API du MSP, portée read.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui

Réponses

CodeDescription
200Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 200 (application/json)

NomTypeObligatoireDescription
itemsarray of objectoui
items[].idstring (uuid)oui
items[].endpoint_idstring (uuid)oui
items[].effectiveobjectoui
items[].last_backupobject | nullouiLatest retained snapshot of the policy.
items[].pending_actionsarray of objectoui
items[].blocked_reason"baremetal_unsupported_boot" | nullnonWhy no backup of this policy runs: baremetal_unsupported_boot, an image policy of a BIOS or MBR machine. Null: none. Optional for older readers [C13], always sent.
items[].created_atstring (date-time)oui
items[].updated_atstring (date-time)oui

Create backup policy​

POST /endpoints/{id}/policies

Accès : Clé API du MSP, portée operate.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui

Corps de la requête (application/json)

NomTypeObligatoireDescription
namestringouiLongueur : 1 à 100.
enabledbooleanouiOff: the scheduler creates no run. A manual run still works. Turning it off takes effect 72 h later [B1].
datasetobjectouiImmutable: a policy never changes its dataset type.
schedulesarray of objectouiThe runs of the policy are the union of these schedules. Éléments : 1 à 20.
timezonestringouiIANA timezone, for example Europe/Paris or UTC; service validates the name. Longueur : 1 à 255.
window_minutesinteger | "max"nonWindow of the runs of a schedule without its own window_minutes
first_backup_window"unlimited" | "respect"nonFirst backup window of the runs of a schedule without its own first_backup_window
retentionobjectoui
upload_limitnumber | nullnonUpload limit of the backups of the policy, MiB/s. Null or absent: no limit. The exception of the agent (Agent.upload_limit) wins. Applies from the next run. Défaut : null.
hooksobjectnonScripts before and after the backup. Removing or weakening the pre takes effect 72 h later [B1].
hooks.preobject | nullnonDéfaut : null.
hooks.postobject | nullnonDéfaut : null.

Réponses

CodeDescription
201Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 201 (application/json)

NomTypeObligatoireDescription
idstring (uuid)oui
endpoint_idstring (uuid)oui
effectiveobjectoui
effective.namestringouiLongueur : 1 à 100.
effective.enabledbooleanouiOff: the scheduler creates no run. A manual run still works. Turning it off takes effect 72 h later [B1].
effective.datasetobjectouiImmutable: a policy never changes its dataset type.
effective.schedulesarray of objectouiThe runs of the policy are the union of these schedules. Éléments : 1 à 20.
effective.timezonestringouiIANA timezone, for example Europe/Paris or UTC; service validates the name. Longueur : 1 à 255.
effective.window_minutesinteger | "max"nonWindow of the runs of a schedule without its own window_minutes
effective.first_backup_window"unlimited" | "respect"nonFirst backup window of the runs of a schedule without its own first_backup_window
effective.retentionobjectoui
effective.upload_limitnumber | nullnonUpload limit of the backups of the policy, MiB/s. Null or absent: no limit. The exception of the agent (Agent.upload_limit) wins. Applies from the next run. Défaut : null.
effective.hooksobjectnonScripts before and after the backup. Removing or weakening the pre takes effect 72 h later [B1].
last_backupobject | nullouiLatest retained snapshot of the policy.
pending_actionsarray of objectoui
blocked_reason"baremetal_unsupported_boot" | nullnonWhy no backup of this policy runs: baremetal_unsupported_boot, an image policy of a BIOS or MBR machine. Null: none. Optional for older readers [C13], always sent.
created_atstring (date-time)oui
updated_atstring (date-time)oui

Get backup policy​

GET /endpoints/{id}/policies/{policyId}

Accès : Clé API du MSP, portée read.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui
policyIdcheminstring (uuid)oui

Réponses

CodeDescription
200Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 200 (application/json)

NomTypeObligatoireDescription
idstring (uuid)oui
endpoint_idstring (uuid)oui
effectiveobjectoui
effective.namestringouiLongueur : 1 à 100.
effective.enabledbooleanouiOff: the scheduler creates no run. A manual run still works. Turning it off takes effect 72 h later [B1].
effective.datasetobjectouiImmutable: a policy never changes its dataset type.
effective.schedulesarray of objectouiThe runs of the policy are the union of these schedules. Éléments : 1 à 20.
effective.timezonestringouiIANA timezone, for example Europe/Paris or UTC; service validates the name. Longueur : 1 à 255.
effective.window_minutesinteger | "max"nonWindow of the runs of a schedule without its own window_minutes
effective.first_backup_window"unlimited" | "respect"nonFirst backup window of the runs of a schedule without its own first_backup_window
effective.retentionobjectoui
effective.upload_limitnumber | nullnonUpload limit of the backups of the policy, MiB/s. Null or absent: no limit. The exception of the agent (Agent.upload_limit) wins. Applies from the next run. Défaut : null.
effective.hooksobjectnonScripts before and after the backup. Removing or weakening the pre takes effect 72 h later [B1].
last_backupobject | nullouiLatest retained snapshot of the policy.
pending_actionsarray of objectoui
blocked_reason"baremetal_unsupported_boot" | nullnonWhy no backup of this policy runs: baremetal_unsupported_boot, an image policy of a BIOS or MBR machine. Null: none. Optional for older readers [C13], always sent.
created_atstring (date-time)oui
updated_atstring (date-time)oui

Replace backup policy​

PUT /endpoints/{id}/policies/{policyId}

Accès : Clé API du MSP, portée operate.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui
policyIdcheminstring (uuid)oui

Corps de la requête (application/json)

NomTypeObligatoireDescription
namestringouiLongueur : 1 à 100.
enabledbooleanouiOff: the scheduler creates no run. A manual run still works. Turning it off takes effect 72 h later [B1].
datasetobjectouiImmutable: a policy never changes its dataset type.
schedulesarray of objectouiThe runs of the policy are the union of these schedules. Éléments : 1 à 20.
timezonestringouiIANA timezone, for example Europe/Paris or UTC; service validates the name. Longueur : 1 à 255.
window_minutesinteger | "max"nonWindow of the runs of a schedule without its own window_minutes
first_backup_window"unlimited" | "respect"nonFirst backup window of the runs of a schedule without its own first_backup_window
retentionobjectoui
upload_limitnumber | nullnonUpload limit of the backups of the policy, MiB/s. Null or absent: no limit. The exception of the agent (Agent.upload_limit) wins. Applies from the next run. Défaut : null.
hooksobjectnonScripts before and after the backup. Removing or weakening the pre takes effect 72 h later [B1].
hooks.preobject | nullnonDéfaut : null.
hooks.postobject | nullnonDéfaut : null.

Réponses

CodeDescription
200Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 200 (application/json)

NomTypeObligatoireDescription
idstring (uuid)oui
endpoint_idstring (uuid)oui
effectiveobjectoui
effective.namestringouiLongueur : 1 à 100.
effective.enabledbooleanouiOff: the scheduler creates no run. A manual run still works. Turning it off takes effect 72 h later [B1].
effective.datasetobjectouiImmutable: a policy never changes its dataset type.
effective.schedulesarray of objectouiThe runs of the policy are the union of these schedules. Éléments : 1 à 20.
effective.timezonestringouiIANA timezone, for example Europe/Paris or UTC; service validates the name. Longueur : 1 à 255.
effective.window_minutesinteger | "max"nonWindow of the runs of a schedule without its own window_minutes
effective.first_backup_window"unlimited" | "respect"nonFirst backup window of the runs of a schedule without its own first_backup_window
effective.retentionobjectoui
effective.upload_limitnumber | nullnonUpload limit of the backups of the policy, MiB/s. Null or absent: no limit. The exception of the agent (Agent.upload_limit) wins. Applies from the next run. Défaut : null.
effective.hooksobjectnonScripts before and after the backup. Removing or weakening the pre takes effect 72 h later [B1].
last_backupobject | nullouiLatest retained snapshot of the policy.
pending_actionsarray of objectoui
blocked_reason"baremetal_unsupported_boot" | nullnonWhy no backup of this policy runs: baremetal_unsupported_boot, an image policy of a BIOS or MBR machine. Null: none. Optional for older readers [C13], always sent.
created_atstring (date-time)oui
updated_atstring (date-time)oui

Delete backup policy​

DELETE /endpoints/{id}/policies/{policyId}

Accès : Clé API du MSP, portée operate.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui
policyIdcheminstring (uuid)oui

Réponses

CodeDescription
202Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 202 (application/json)

NomTypeObligatoireDescription
idstring (uuid)oui
endpoint_idstring (uuid)oui
effectiveobjectoui
effective.namestringouiLongueur : 1 à 100.
effective.enabledbooleanouiOff: the scheduler creates no run. A manual run still works. Turning it off takes effect 72 h later [B1].
effective.datasetobjectouiImmutable: a policy never changes its dataset type.
effective.schedulesarray of objectouiThe runs of the policy are the union of these schedules. Éléments : 1 à 20.
effective.timezonestringouiIANA timezone, for example Europe/Paris or UTC; service validates the name. Longueur : 1 à 255.
effective.window_minutesinteger | "max"nonWindow of the runs of a schedule without its own window_minutes
effective.first_backup_window"unlimited" | "respect"nonFirst backup window of the runs of a schedule without its own first_backup_window
effective.retentionobjectoui
effective.upload_limitnumber | nullnonUpload limit of the backups of the policy, MiB/s. Null or absent: no limit. The exception of the agent (Agent.upload_limit) wins. Applies from the next run. Défaut : null.
effective.hooksobjectnonScripts before and after the backup. Removing or weakening the pre takes effect 72 h later [B1].
last_backupobject | nullouiLatest retained snapshot of the policy.
pending_actionsarray of objectoui
blocked_reason"baremetal_unsupported_boot" | nullnonWhy no backup of this policy runs: baremetal_unsupported_boot, an image policy of a BIOS or MBR machine. Null: none. Optional for older readers [C13], always sent.
created_atstring (date-time)oui
updated_atstring (date-time)oui

Run backup policy​

POST /endpoints/{id}/policies/{policyId}/run

Accès : Clé API du MSP, portée operate.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui
policyIdcheminstring (uuid)oui

Réponses

CodeDescription
202Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 202 (application/json)

NomTypeObligatoireDescription
idstring (uuid)oui
endpoint_idstring (uuid)oui
type"backup" | "baremetal_backup" | "mssql_backup" | "vm_backup" | "init" | "unlock" | "forget" | "prune" | "check" | "migrate" | "update" | "reset_first_backup"oui
status"scheduled" | "dispatched" | "running" | "succeeded" | "partial" | "failed" | "cancelled" | "interrupted" | "preempted" | "missed" | "superseded"oui
trigger"schedule" | "manual" | "system"oui
policy_idstring (uuid) | nullnonThe backup policy of a backup run; null for maintenance or a backup without policy. Optional for older readers [C13], always sent.
causestring | nullouiTyped cause, for example no_ack or repo_migrating
scheduled_atstring (date-time)ouiRequest time for a manual job.
window_ends_atstring (date-time) | nulloui
started_atstring (date-time) | nulloui
ended_atstring (date-time) | nulloui
snapshot_idstring | nullouisucceeded or partial backup only.
summaryobject | nullouiFinal restic summary, backup only.
error_countinteger | nullouiUnreadable files of a partial backup.
file_error_codesarray of object | nullnonCount per typed code of the stored file errors of a partial backup (at most 100; error_count is the real total), most frequent first, without paths or text: for every role and for an OAuth access token (MCP). Null without stored errors. Optional for older readers [C13], always sent.
errorstring | nulloui
upload_limitnumber | nullnonUpload limit sent to the agent for this backup, MiB/s: the exception of the agent, else the limit of the policy, fixed when the order is sent. Null: no limit, or not a backup. Optional for older readers [C13], always sent.
progressobject | nullouiOnly while running
hooksobject | nullnonScripts before and after a backup, per phase: version, SHA-256, status, exit code, duration, output. Null: none ran. Optional for older readers [C13], always sent.
volumeobject | nullnonSize and count of a succeeded or partial backup of any kind. Null: not a backup, no snapshot, or another status. Optional for older readers [C13], always sent.

Copy backup policy​

POST /endpoints/{id}/policies/{policyId}/copy

Accès : Clé API du MSP, portée operate.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui
policyIdcheminstring (uuid)oui

Corps de la requête (application/json)

NomTypeObligatoireDescription
target_endpoint_idsarray of string (uuid)ouiÉléments maximum : 200.
dry_runbooleannonDéfaut : false.

Réponses

CodeDescription
200Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 200 (application/json)

NomTypeObligatoireDescription
source_policy_idstring (uuid)oui
dry_runbooleanoui
resultsarray of objectoui

Get baremetal policy​

GET /endpoints/{id}/baremetal-policy

Accès : Clé API du MSP, portée read.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui

Réponses

CodeDescription
200Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 200 (application/json)

NomTypeObligatoireDescription
endpoint_idstring (uuid)oui
effectiveobjectoui
effective.type"baremetal"oui
effective.disks"system" | array of integernonWindows disk numbers; lot 2 supports one system disk. The agent must verify the selected disk contains Windows. Linux: system only. Défaut : "system".
effective.scheduleobjectoui
effective.timezonestringouiIANA timezone, for example Europe/Paris or UTC; service validates the name. Longueur : 1 à 255.
effective.enabledbooleanoui
effective.window_minutesinteger | "max"nonMinutes after the planned time, 1 to 1439, or max: until the next run of the policy, at most 23 h 59. A backup not started is missed, a running one is stopped (interrupted)
effective.first_backup_window"unlimited" | "respect"nonFirst backup of the policy (no snapshot of it yet): unlimited runs past the end of the window; respect stops at the end of the window (interrupted) and resumes at the next run. Each resume reads all the data again.
effective.retentionobjectoui
last_backupobject | nullouiLatest retained successful image; logical length and newly added bytes are not billed repository size.
pending_actionsarray of objectoui
blocked_reason"baremetal_unsupported_boot" | nullnonWhy no backup of this policy runs: baremetal_unsupported_boot, an image policy of a BIOS or MBR machine. Null: none. Optional for older readers [C13], always sent.

Replace baremetal policy​

PUT /endpoints/{id}/baremetal-policy

Accès : Clé API du MSP, portée operate.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui

Corps de la requête (application/json)

NomTypeObligatoireDescription
type"baremetal"oui
disks"system" | array of integernonWindows disk numbers; lot 2 supports one system disk. The agent must verify the selected disk contains Windows. Linux: system only. Défaut : "system".
scheduleobjectoui
timezonestringouiIANA timezone, for example Europe/Paris or UTC; service validates the name. Longueur : 1 à 255.
enabledbooleanoui
window_minutesinteger | "max"nonMinutes after the planned time, 1 to 1439, or max: until the next run of the policy, at most 23 h 59. A backup not started is missed, a running one is stopped (interrupted)
first_backup_window"unlimited" | "respect"nonFirst backup of the policy (no snapshot of it yet): unlimited runs past the end of the window; respect stops at the end of the window (interrupted) and resumes at the next run. Each resume reads all the data again.
retentionobjectoui

Réponses

CodeDescription
200Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 200 (application/json)

NomTypeObligatoireDescription
endpoint_idstring (uuid)oui
effectiveobjectoui
effective.type"baremetal"oui
effective.disks"system" | array of integernonWindows disk numbers; lot 2 supports one system disk. The agent must verify the selected disk contains Windows. Linux: system only. Défaut : "system".
effective.scheduleobjectoui
effective.timezonestringouiIANA timezone, for example Europe/Paris or UTC; service validates the name. Longueur : 1 à 255.
effective.enabledbooleanoui
effective.window_minutesinteger | "max"nonMinutes after the planned time, 1 to 1439, or max: until the next run of the policy, at most 23 h 59. A backup not started is missed, a running one is stopped (interrupted)
effective.first_backup_window"unlimited" | "respect"nonFirst backup of the policy (no snapshot of it yet): unlimited runs past the end of the window; respect stops at the end of the window (interrupted) and resumes at the next run. Each resume reads all the data again.
effective.retentionobjectoui
last_backupobject | nullouiLatest retained successful image; logical length and newly added bytes are not billed repository size.
pending_actionsarray of objectoui
blocked_reason"baremetal_unsupported_boot" | nullnonWhy no backup of this policy runs: baremetal_unsupported_boot, an image policy of a BIOS or MBR machine. Null: none. Optional for older readers [C13], always sent.

Create baremetal policy​

POST /endpoints/{id}/baremetal-policy

Accès : Clé API du MSP, portée operate.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui

Corps de la requête (application/json)

NomTypeObligatoireDescription
type"baremetal"oui
disks"system" | array of integernonWindows disk numbers; lot 2 supports one system disk. The agent must verify the selected disk contains Windows. Linux: system only. Défaut : "system".
scheduleobjectoui
timezonestringouiIANA timezone, for example Europe/Paris or UTC; service validates the name. Longueur : 1 à 255.
enabledbooleanoui
window_minutesinteger | "max"nonMinutes after the planned time, 1 to 1439, or max: until the next run of the policy, at most 23 h 59. A backup not started is missed, a running one is stopped (interrupted)
first_backup_window"unlimited" | "respect"nonFirst backup of the policy (no snapshot of it yet): unlimited runs past the end of the window; respect stops at the end of the window (interrupted) and resumes at the next run. Each resume reads all the data again.
retentionobjectoui

Réponses

CodeDescription
201Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 201 (application/json)

NomTypeObligatoireDescription
endpoint_idstring (uuid)oui
effectiveobjectoui
effective.type"baremetal"oui
effective.disks"system" | array of integernonWindows disk numbers; lot 2 supports one system disk. The agent must verify the selected disk contains Windows. Linux: system only. Défaut : "system".
effective.scheduleobjectoui
effective.timezonestringouiIANA timezone, for example Europe/Paris or UTC; service validates the name. Longueur : 1 à 255.
effective.enabledbooleanoui
effective.window_minutesinteger | "max"nonMinutes after the planned time, 1 to 1439, or max: until the next run of the policy, at most 23 h 59. A backup not started is missed, a running one is stopped (interrupted)
effective.first_backup_window"unlimited" | "respect"nonFirst backup of the policy (no snapshot of it yet): unlimited runs past the end of the window; respect stops at the end of the window (interrupted) and resumes at the next run. Each resume reads all the data again.
effective.retentionobjectoui
last_backupobject | nullouiLatest retained successful image; logical length and newly added bytes are not billed repository size.
pending_actionsarray of objectoui
blocked_reason"baremetal_unsupported_boot" | nullnonWhy no backup of this policy runs: baremetal_unsupported_boot, an image policy of a BIOS or MBR machine. Null: none. Optional for older readers [C13], always sent.

Get policy​

GET /endpoints/{id}/policy

Accès : Clé API du MSP, portée read.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui

Réponses

CodeDescription
200Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 200 (application/json)

NomTypeObligatoireDescription
endpoint_idstring (uuid)oui
effectiveobjectoui
effective.pathsarray of stringouiÉléments minimum : 1.
effective.excludesarray of stringoui
effective.exclude_cachesbooleanoui
effective.one_file_systembooleanoui
effective.scheduleobjectoui
effective.timezonestringouiIANA timezone, for example Europe/Paris or UTC; service validates the name. Longueur : 1 à 255.
effective.enabledbooleanoui
effective.window_minutesinteger | "max"nonMinutes after the planned time, 1 to 1439, or max: until the next run of the policy, at most 23 h 59. A backup not started is missed, a running one is stopped (interrupted)
effective.first_backup_window"unlimited" | "respect"nonFirst backup of the policy (no snapshot of it yet): unlimited runs past the end of the window; respect stops at the end of the window (interrupted) and resumes at the next run. Each resume reads all the data again.
effective.retentionobjectoui
pending_actionsarray of objectoui

Replace policy​

PUT /endpoints/{id}/policy

Accès : Clé API du MSP, portée operate.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui

Corps de la requête (application/json)

NomTypeObligatoireDescription
pathsarray of stringouiÉléments minimum : 1.
excludesarray of stringoui
exclude_cachesbooleanoui
one_file_systembooleanoui
scheduleobjectoui
timezonestringouiIANA timezone, for example Europe/Paris or UTC; service validates the name. Longueur : 1 à 255.
enabledbooleanoui
window_minutesinteger | "max"nonMinutes after the planned time, 1 to 1439, or max: until the next run of the policy, at most 23 h 59. A backup not started is missed, a running one is stopped (interrupted)
first_backup_window"unlimited" | "respect"nonFirst backup of the policy (no snapshot of it yet): unlimited runs past the end of the window; respect stops at the end of the window (interrupted) and resumes at the next run. Each resume reads all the data again.
retentionobjectoui

Réponses

CodeDescription
200Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 200 (application/json)

NomTypeObligatoireDescription
endpoint_idstring (uuid)oui
effectiveobjectoui
effective.pathsarray of stringouiÉléments minimum : 1.
effective.excludesarray of stringoui
effective.exclude_cachesbooleanoui
effective.one_file_systembooleanoui
effective.scheduleobjectoui
effective.timezonestringouiIANA timezone, for example Europe/Paris or UTC; service validates the name. Longueur : 1 à 255.
effective.enabledbooleanoui
effective.window_minutesinteger | "max"nonMinutes after the planned time, 1 to 1439, or max: until the next run of the policy, at most 23 h 59. A backup not started is missed, a running one is stopped (interrupted)
effective.first_backup_window"unlimited" | "respect"nonFirst backup of the policy (no snapshot of it yet): unlimited runs past the end of the window; respect stops at the end of the window (interrupted) and resumes at the next run. Each resume reads all the data again.
effective.retentionobjectoui
pending_actionsarray of objectoui

List pending actions​

GET /pending-actions

Accès : Clé API du MSP, portée read.

Paramètres

NomEmplacementTypeObligatoireDescription
limitrequêteintegernonDéfaut : 50. Valeur : 1 à 100.
cursorrequêtestringnonLongueur minimum : 1.
statusrequête"pending" | "cancelled" | "applied"non

Réponses

CodeDescription
200Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 200 (application/json)

NomTypeObligatoireDescription
itemsarray of objectoui
next_cursorstring | nulloui

Cancel pending action​

POST /pending-actions/{id}/cancel

Accès : Clé API du MSP, portée operate.

Paramètres

NomEmplacementTypeObligatoireDescription
idcheminstring (uuid)oui

Réponses

CodeDescription
200Success
defaultError (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504)

Réponse 200 (application/json)

NomTypeObligatoireDescription
idstring (uuid)oui
status"cancelled"oui