Docs

API Reference - Backups

Use the NetBox Cloud API to request, retrieve, and restore backups

The Backups API lets you manage NetBox Cloud backups programmatically. It covers three operations:

  • List Backups -- view previous backups.
  • Request Backups -- trigger on-demand backups and list existing requests.
  • Retrieve Backups -- request download access to a backup file and list existing retrievals.
  • Restore Backups -- restore a NetBox instance from a retrieved backup and list existing restores.

Each operation has its own Read and Write permission. Assign permissions when creating your API key.

Pagination

List responses follow this structure:

{
  "data": [],
  "metadata": {
    "pagination": {
      "current_page": 1,
      "page_size": 100,
      "total_items": 42,
      "total_pages": 1,
      "first_page": true,
      "last_page": false
    }
  }
}

List Backups

Use List Backups to list previous backups.

GET /v2/organization/{org_id}/backups/

Required permission: List Backups (Read)

Query parameters:

ParameterTypeDescription
initial_datestring (YYYY-MM-DD)Optional. Filter by start date. UTC
end_datestring (YYYY-MM-DD)Optional. Filter by end date. UTC
pagestringOptional. Page number (default: 1)
page_sizestringOptional. Results per page (default: 100)

Example response item:

{
  "id": "67a6a02d-0b23-4c7b-b7fa-08d4aa7643ab",
  "obj_id": "nb-a12ff000777",
  "obj_type": "netbox",
  "obj_version": "4.2.9",
  "trigger_id": "",
  "trigger_type": "scheduled",
  "checksum": "a21ae13...",
  "size_bytes": 220673,
  "duration": 47, //seconds
  "created": "2026-03-23T01:17:10.802995Z"
}

Request Backups

Use Request Backups to list existing backup requests and to trigger new ones.

List backup requests

GET /v2/organization/{org_id}/backup-requests/

Required permission: Request Backups (Read)

Query parameters:

ParameterTypeDescription
pagestringOptional. Page number (default: 1)
page_sizestringOptional. Results per page (default: 100)

Example response item:

{
  "id": "254fdc9b-ca40-4e13-b500-c8884ecb69be",
  "obj_id": "nb-a12ff000777",
  "obj_type": "netbox",
  "created": "2026-03-21T08:38:17.159662Z",
  "started": "2026-03-21T08:38:18.543679Z",
  "completed": "2026-03-21T08:39:06.753242Z"
}

Request a backup

POST /v2/organization/{org_id}/backup-requests/

Required permission: Request Backups (Write)

Request body:

{
  "obj_id": "nb-a12ff000777",
  "obj_type": "netbox"
}
FieldDescription
obj_idRequired. The ID of the NetBox instance to back up (for example, nb-aabbccddee01)
obj_typeRequired. Always "netbox"

Example response:

{
  "id": "24b8878d-36c8-4d56-97cd-cd21fa575ebb"
}

The response id is the backup request ID. Use List backup requests to check its status.


Retrieve Backups

Use Retrieve Backups to request download access to a backup file. A retrieval generates a time-limited download URL.

List retrievals

GET /v2/organization/{org_id}/backup-retrieved/

Required permission: Retrieve Backups (Read)

Query parameters:

ParameterTypeDescription
pagestringOptional. Page number (default: 1)
page_sizestringOptional. Results per page (default: 100)

Example response item:

{
  "id": "97c6c02d-0b23-4c7b-b7fa-08d4aa7643cd",
  "backup_id": "6eaaef10-471b-4226-bc30-852ead73ee83",
  "backup_version": "4.2.9",
  "presigned_url": "https://backup_retrieval.netboxlabs.com/...",
  "created": "2026-03-23T19:39:23.935566Z",
  "created_by": "user@example.com",
  "started": "2026-03-23T19:39:25.226295Z",
  "completed": "2026-03-23T19:39:26.307355Z",
  "expires": "2026-03-23T22:39:26.288072Z"
}

The presigned_url field contains a time-limited URL for downloading the backup file. It is valid until the datetime in the expires field.

Request a retrieval

POST /v2/organization/{org_id}/backup-retrieved/

Required permission: Retrieve Backups (Write)

Request body:

{
  "backup_id": "80acb50b-c08e-4233-bc32-bf8f5ce61031"
}

The backup_id field is required. Use the id from a backup in List backups.

Example response:

{
  "id": "005bf3ba-aa63-43de-a45b-f8db03e5fdfe"
}

The response id is the retrieval ID. Use List retrievals to check its status and get the download URL once processing completes.


Restore Backups

Use Restore Backups to restore a NetBox instance from a previously retrieved backup.

List restore jobs

GET /v2/organization/{org_id}/backup-restore/

Required permission: Restore Backups (Read)

Query parameters:

ParameterTypeDescription
target_nb_idstringOptional. Filter by target NetBox instance ID

Example response item:

{
  "id": "6910836b-d767-44f1-8e5d-9fab2109f751",
  "retrieval_id": "d622056f-098f-457d-a560-80ebb35a710b",
  "target_nb_id": "nb-a12ff000777",
  "target_version_available": false,
  "created": "2026-03-24T06:29:26.179537Z",
  "created_by": "user@example.com",
  "started": "2026-03-24T06:29:29.321058Z",
  "completed": "2026-03-24T06:29:48.624347Z",
  "failed": null,
  "nb_redeployed": "2026-03-24T06:29:51.834606Z"
}

Request a restore

POST /v2/organization/{org_id}/backup-restore/

Required permission: Restore Backups (Write)

Request body:

{
  "retrieval_id": "84d4a841-1163-4967-b0b0-9b9da03a570e",
  "target_nb_id": "nb-b23ff000888"
}

Both fields are required. Use a retrieval_id from List retrievals once the retrieval has completed.

Example response:

{
  "id": "d62d6a2d-83bc-49ef-8462-8aca35382a8c"
}

The response id is the restore job ID. Use List restore jobs to check its status.

Additional response codes:

StatusMeaning
422 Unprocessable EntityThe request is valid but cannot be processed, for example if the target version is not available

On this page