Skip to content
NebulaCtrldocs
HTTP APIEndpoints

Volume Backups

Backups and restores of volumes, and their schedules. Each operation lists its method and path, parameters, request body, responses and an example call.

Get one volume backup.

GET/api/v1/volume-backups/{id}

Authorization

AuthorizationBearer <token>

An API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.

In: header

Path Parameters

id*string

Response Body

application/json

application/problem+json

curl -X GET "https://example.com/api/v1/volume-backups/string"
{  "$schema": "https://example.com/BackupDTO.json",  "createdAt": "2019-08-24T14:15:22Z",  "environmentId": "string",  "finishedAt": "2019-08-24T14:15:22Z",  "id": "string",  "message": "string",  "method": "archive",  "objectKey": "string",  "objectStoreId": "string",  "quiesce": true,  "requestedBy": "string",  "sha256": "string",  "sizeBytes": 0,  "startedAt": "2019-08-24T14:15:22Z",  "status": "string",  "triggeredBy": "string",  "volumeId": "string"}
DELETE/api/v1/volume-backups/{id}

Authorization

AuthorizationBearer <token>

An API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.

In: header

Path Parameters

id*string

Response Body

application/problem+json

curl -X DELETE "https://example.com/api/v1/volume-backups/string"
Empty
POST/api/v1/volume-backups/{id}/download

Authorization

AuthorizationBearer <token>

An API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.

In: header

Path Parameters

id*string

Response Body

application/json

application/problem+json

curl -X POST "https://example.com/api/v1/volume-backups/string/download"
{  "$schema": "https://example.com/DownloadOutputBody.json",  "expiresAt": "2019-08-24T14:15:22Z",  "url": "string"}

Get one volume restore.

GET/api/v1/volume-restores/{id}

Authorization

AuthorizationBearer <token>

An API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.

In: header

Path Parameters

id*string

Response Body

application/json

application/problem+json

curl -X GET "https://example.com/api/v1/volume-restores/string"
{  "$schema": "https://example.com/RestoreDTO.json",  "createdAt": "2019-08-24T14:15:22Z",  "environmentId": "string",  "finishedAt": "2019-08-24T14:15:22Z",  "id": "string",  "message": "string",  "method": "archive",  "objectKey": "string",  "objectStoreId": "string",  "requestedBy": "string",  "sha256": "string",  "sizeBytes": 0,  "sourceBackupId": "string",  "startedAt": "2019-08-24T14:15:22Z",  "status": "string",  "targetServiceId": "string",  "targetServiceName": "string",  "volumeId": "string"}
GET/api/v1/volumes/{id}/backup-schedule

Authorization

AuthorizationBearer <token>

An API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.

In: header

Path Parameters

id*string

Query Parameters

environmentId*string

Response Body

application/json

application/problem+json

curl -X GET "https://example.com/api/v1/volumes/string/backup-schedule?environmentId=string"
{  "$schema": "https://example.com/ScheduleDTO.json",  "createdAt": "2019-08-24T14:15:22Z",  "cron": "string",  "environmentId": "string",  "id": "string",  "keepLast": 0,  "lastRunAt": "2019-08-24T14:15:22Z",  "method": "archive",  "nextRunAt": "2019-08-24T14:15:22Z",  "objectStoreId": "string",  "updatedAt": "2019-08-24T14:15:22Z",  "volumeId": "string"}
DELETE/api/v1/volumes/{id}/backup-schedule

Authorization

AuthorizationBearer <token>

An API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.

In: header

Path Parameters

id*string

Query Parameters

environmentId*string

Response Body

application/problem+json

curl -X DELETE "https://example.com/api/v1/volumes/string/backup-schedule?environmentId=string"
Empty
PUT/api/v1/volumes/{id}/backup-schedule

Authorization

AuthorizationBearer <token>

An API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.

In: header

Path Parameters

id*string

Query Parameters

environmentId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/problem+json

curl -X PUT "https://example.com/api/v1/volumes/string/backup-schedule?environmentId=string" \  -H "Content-Type: application/json" \  -d '{    "cron": "string",    "keepLast": 1,    "objectStoreId": "string"  }'
{  "$schema": "https://example.com/ScheduleDTO.json",  "createdAt": "2019-08-24T14:15:22Z",  "cron": "string",  "environmentId": "string",  "id": "string",  "keepLast": 0,  "lastRunAt": "2019-08-24T14:15:22Z",  "method": "archive",  "nextRunAt": "2019-08-24T14:15:22Z",  "objectStoreId": "string",  "updatedAt": "2019-08-24T14:15:22Z",  "volumeId": "string"}
GET/api/v1/volumes/{id}/backups

Authorization

AuthorizationBearer <token>

An API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.

In: header

Path Parameters

id*string

Query Parameters

cursor?string

Opaque cursor from a previous response's nextCursor. Omit for the first page.

limit?integer

How many items to return.

Formatint64
Range1 <= value <= 200
Default50
environmentId*string

Response Body

application/json

application/problem+json

curl -X GET "https://example.com/api/v1/volumes/string/backups?environmentId=string"
{  "$schema": "https://example.com/PageBackupDTO.json",  "items": [    {      "$schema": "https://example.com/BackupDTO.json",      "createdAt": "2019-08-24T14:15:22Z",      "environmentId": "string",      "finishedAt": "2019-08-24T14:15:22Z",      "id": "string",      "message": "string",      "method": "archive",      "objectKey": "string",      "objectStoreId": "string",      "quiesce": true,      "requestedBy": "string",      "sha256": "string",      "sizeBytes": 0,      "startedAt": "2019-08-24T14:15:22Z",      "status": "string",      "triggeredBy": "string",      "volumeId": "string"    }  ],  "nextCursor": "string"}
POST/api/v1/volumes/{id}/backups

Authorization

AuthorizationBearer <token>

An API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.

In: header

Path Parameters

id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/problem+json

curl -X POST "https://example.com/api/v1/volumes/string/backups" \  -H "Content-Type: application/json" \  -d '{    "environmentId": "string",    "objectStoreId": "string"  }'
{  "$schema": "https://example.com/BackupDTO.json",  "createdAt": "2019-08-24T14:15:22Z",  "environmentId": "string",  "finishedAt": "2019-08-24T14:15:22Z",  "id": "string",  "message": "string",  "method": "archive",  "objectKey": "string",  "objectStoreId": "string",  "quiesce": true,  "requestedBy": "string",  "sha256": "string",  "sizeBytes": 0,  "startedAt": "2019-08-24T14:15:22Z",  "status": "string",  "triggeredBy": "string",  "volumeId": "string"}
POST/api/v1/volumes/{id}/restore

Authorization

AuthorizationBearer <token>

An API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.

In: header

Path Parameters

id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/problem+json

curl -X POST "https://example.com/api/v1/volumes/string/restore" \  -H "Content-Type: application/json" \  -d '{    "environmentId": "string"  }'
{  "$schema": "https://example.com/RestoreDTO.json",  "createdAt": "2019-08-24T14:15:22Z",  "environmentId": "string",  "finishedAt": "2019-08-24T14:15:22Z",  "id": "string",  "message": "string",  "method": "archive",  "objectKey": "string",  "objectStoreId": "string",  "requestedBy": "string",  "sha256": "string",  "sizeBytes": 0,  "sourceBackupId": "string",  "startedAt": "2019-08-24T14:15:22Z",  "status": "string",  "targetServiceId": "string",  "targetServiceName": "string",  "volumeId": "string"}
GET/api/v1/volumes/{id}/restores

Authorization

AuthorizationBearer <token>

An API token, sent as Authorization: Bearer <token>. A token belongs to one organization and has the role it was created with, so it needs no X-Nebula-Organization header; if you send one, it must name the token's organization.

In: header

Path Parameters

id*string

Query Parameters

cursor?string

Opaque cursor from a previous response's nextCursor. Omit for the first page.

limit?integer

How many items to return.

Formatint64
Range1 <= value <= 200
Default50
environmentId*string

Response Body

application/json

application/problem+json

curl -X GET "https://example.com/api/v1/volumes/string/restores?environmentId=string"
{  "$schema": "https://example.com/PageRestoreDTO.json",  "items": [    {      "$schema": "https://example.com/RestoreDTO.json",      "createdAt": "2019-08-24T14:15:22Z",      "environmentId": "string",      "finishedAt": "2019-08-24T14:15:22Z",      "id": "string",      "message": "string",      "method": "archive",      "objectKey": "string",      "objectStoreId": "string",      "requestedBy": "string",      "sha256": "string",      "sizeBytes": 0,      "sourceBackupId": "string",      "startedAt": "2019-08-24T14:15:22Z",      "status": "string",      "targetServiceId": "string",      "targetServiceName": "string",      "volumeId": "string"    }  ],  "nextCursor": "string"}