Snapshots

List Snapshots #

URL Parameters

This endpoint does not accept any parameters
                            GET
                            /api/v1/snapshots
                        
                           
curl https://api.snapshooter.com/api/v1/snapshots \
-X GET \
--header 'Authorization: Bearer API_TOKEN_HERE'
HTTP/2 200
{
"data": [
{
"id": 1,
"name": "ut",
"status": "expired",
"size": "255.89 MB",
"tags": {
"manual": 0,
"hourly": 0,
"daily": 1,
"weekly": 0,
"monthly": 1
},
"started_at": "2022-06-15T15:00:55.000000Z",
"completed_at": "2022-06-15T15:05:55.000000Z",
"credentials": {
"id": 1,
"name": "Shawna Botsford",
"expires_at": null,
"created_at": "2022-06-15T15:10:55.000000Z",
"updated_at": "2022-06-15T15:10:55.000000Z"
},
"provider": {
"name": "aws",
"pretty_name": "AWS"
},
"resource": {
"id": 1,
"type": "disk",
"backups_activated": false,
"last_known_ip": "44.234.148.198",
"last_synced_at": "2022-06-15 15:10:55"
}
},
{
"id": 2,
"name": "cum",
"status": "pre_request",
"size": "45.69 MB",
"tags": {
"manual": 0,
"hourly": 0,
"daily": 1,
"weekly": 1,
"monthly": 1
},
"started_at": "2022-06-15T15:00:55.000000Z",
"completed_at": null,
"credentials": {
"id": 2,
"name": "Durward Towne",
"expires_at": null,
"created_at": "2022-06-15T15:10:55.000000Z",
"updated_at": "2022-06-15T15:10:55.000000Z"
},
"provider": {
"name": "gcp",
"pretty_name": "GCP"
},
"resource": {
"id": 2,
"type": "disk",
"backups_activated": false,
"last_known_ip": "11.58.91.94",
"last_synced_at": "2022-06-15 15:10:55"
}
},
{
"id": 3,
"name": "minus",
"status": "completed",
"size": "331 bytes",
"tags": {
"manual": 0,
"hourly": 0,
"daily": 1,
"weekly": 1,
"monthly": 0
},
"started_at": "2022-06-15T15:00:55.000000Z",
"completed_at": "2022-06-15T15:05:55.000000Z",
"credentials": {
"id": 3,
"name": "Maria Waelchi",
"expires_at": null,
"created_at": "2022-06-15T15:10:55.000000Z",
"updated_at": "2022-06-15T15:10:55.000000Z"
},
"provider": {
"name": "gcp",
"pretty_name": "GCP"
},
"resource": {
"id": 3,
"type": "server",
"backups_activated": false,
"last_known_ip": "229.61.103.106",
"last_synced_at": "2022-06-15 15:10:55"
}
},
{
"id": 4,
"name": "culpa",
"status": "delete-request",
"size": "6.90 KB",
"tags": {
"manual": 0,
"hourly": 1,
"daily": 1,
"weekly": 1,
"monthly": 1
},
"started_at": "2022-06-15T15:00:55.000000Z",
"completed_at": null,
"credentials": {
"id": 4,
"name": "Ahmad Mayert DDS",
"expires_at": null,
"created_at": "2022-06-15T15:10:55.000000Z",
"updated_at": "2022-06-15T15:10:55.000000Z"
},
"provider": {
"name": "aws_lightsail",
"pretty_name": "AWS Lightsail"
},
"resource": {
"id": 4,
"type": "server",
"backups_activated": false,
"last_known_ip": "91.154.194.208",
"last_synced_at": "2022-06-15 15:10:55"
}
},
{
"id": 5,
"name": "ex",
"status": "expired",
"size": "28.12 KB",
"tags": {
"manual": 1,
"hourly": 1,
"daily": 1,
"weekly": 0,
"monthly": 1
},
"started_at": "2022-06-15T15:00:55.000000Z",
"completed_at": "2022-06-15T15:05:55.000000Z",
"credentials": {
"id": 5,
"name": "Rossie Kunze PhD",
"expires_at": null,
"created_at": "2022-06-15T15:10:55.000000Z",
"updated_at": "2022-06-15T15:10:55.000000Z"
},
"provider": {
"name": "hetzner",
"pretty_name": "Hetzner"
},
"resource": {
"id": 5,
"type": "disk",
"backups_activated": false,
"last_known_ip": "89.239.118.84",
"last_synced_at": "2022-06-15 15:10:55"
}
},
{
"id": 6,
"name": "reiciendis",
"status": "failed",
"fail_reason": "et",
"size": "55 bytes",
"tags": {
"manual": 1,
"hourly": 1,
"daily": 0,
"weekly": 1,
"monthly": 1
},
"started_at": "2022-06-15T15:00:55.000000Z",
"completed_at": null,
"credentials": {
"id": 6,
"name": "Eugenia Bartell",
"expires_at": null,
"created_at": "2022-06-15T15:10:55.000000Z",
"updated_at": "2022-06-15T15:10:55.000000Z"
},
"provider": {
"name": "vultr",
"pretty_name": "Vultr"
},
"resource": {
"id": 6,
"type": "server",
"backups_activated": false,
"last_known_ip": "108.133.185.3",
"last_synced_at": "2022-06-15 15:10:55"
}
},
{
"id": 7,
"name": "eos",
"status": "pre_request",
"size": "76.10 MB",
"tags": {
"manual": 0,
"hourly": 1,
"daily": 0,
"weekly": 0,
"monthly": 0
},
"started_at": "2022-06-15T15:00:55.000000Z",
"completed_at": null,
"credentials": {
"id": 7,
"name": "Juston Deckow",
"expires_at": null,
"created_at": "2022-06-15T15:10:55.000000Z",
"updated_at": "2022-06-15T15:10:55.000000Z"
},
"provider": {
"name": "upcloud",
"pretty_name": "UpCloud"
},
"resource": {
"id": 7,
"type": "server",
"backups_activated": true,
"last_known_ip": "95.241.30.81",
"last_synced_at": "2022-06-15 15:10:55"
}
},
{
"id": 8,
"name": "et",
"status": "in-progress",
"size": "7.37 MB",
"tags": {
"manual": 1,
"hourly": 0,
"daily": 0,
"weekly": 0,
"monthly": 1
},
"started_at": "2022-06-15T15:00:55.000000Z",
"completed_at": null,
"credentials": {
"id": 8,
"name": "Prof. Ronaldo Durgan",
"expires_at": null,
"created_at": "2022-06-15T15:10:55.000000Z",
"updated_at": "2022-06-15T15:10:55.000000Z"
},
"provider": {
"name": "exoscale",
"pretty_name": "Exoscale"
},
"resource": {
"id": 8,
"type": "disk",
"backups_activated": false,
"last_known_ip": "249.233.173.250",
"last_synced_at": "2022-06-15 15:10:55"
}
},
{
"id": 9,
"name": "aliquam",
"status": "in-progress",
"size": "777.55 MB",
"tags": {
"manual": 1,
"hourly": 1,
"daily": 1,
"weekly": 1,
"monthly": 1
},
"started_at": "2022-06-15T15:00:55.000000Z",
"completed_at": null,
"credentials": {
"id": 9,
"name": "Sammie Pacocha",
"expires_at": null,
"created_at": "2022-06-15T15:10:55.000000Z",
"updated_at": "2022-06-15T15:10:55.000000Z"
},
"provider": {
"name": "upcloud",
"pretty_name": "UpCloud"
},
"resource": {
"id": 9,
"type": "disk",
"backups_activated": true,
"last_known_ip": "100.87.208.87",
"last_synced_at": "2022-06-15 15:10:55"
}
},
{
"id": 10,
"name": "consequatur",
"status": "completed",
"size": "201.84 MB",
"tags": {
"manual": 0,
"hourly": 1,
"daily": 0,
"weekly": 1,
"monthly": 0
},
"started_at": "2022-06-15T15:00:55.000000Z",
"completed_at": "2022-06-15T15:05:55.000000Z",
"credentials": {
"id": 10,
"name": "Loraine Lehner",
"expires_at": null,
"created_at": "2022-06-15T15:10:55.000000Z",
"updated_at": "2022-06-15T15:10:55.000000Z"
},
"provider": {
"name": "exoscale",
"pretty_name": "Exoscale"
},
"resource": {
"id": 10,
"type": "disk",
"backups_activated": false,
"last_known_ip": "87.212.161.10",
"last_synced_at": "2022-06-15 15:10:55"
}
}
],
"links": {},
"meta": {}
}

Show Snapshot #

URL Parameters

This endpoint does not accept any parameters
                            GET
                            /v1/snapshots/{snapshot_id}
                        
                           
curl https://api.snapshooter.com/v1/snapshots/{snapshot_id} \
-X GET \
--header 'Authorization: Bearer API_TOKEN_HERE'
HTTP/2 200
{
"data": {
"id": 1,
"name": "nobis",
"status": "delete-request",
"size": "284 bytes",
"tags": {
"manual": 0,
"hourly": 0,
"daily": 1,
"weekly": 0,
"monthly": 1
},
"started_at": "2022-06-15T15:07:22.000000Z",
"completed_at": null,
"credentials": {
"id": 1,
"name": "Chaim Auer",
"expires_at": null,
"created_at": "2022-06-15T15:17:22.000000Z",
"updated_at": "2022-06-15T15:17:22.000000Z"
},
"provider": {
"name": "upcloud",
"pretty_name": "UpCloud"
},
"resource": {
"id": 1,
"type": "disk",
"backups_activated": false,
"last_known_ip": "96.119.218.106",
"last_synced_at": "2022-06-15 15:17:22"
}
}
}

Errors


Delete Snapshot #

Parameters

This endpoint does not accept any parameters
                            DELETE
                            /v1/snapshots/{snapshot_id}
                        
                           
curl https://api.snapshooter.com/v1/snapshots/{snapshot_id} \
-X DELETE \
--header 'Authorization: Bearer API_TOKEN_HERE'
HTTP/2 204
//Empty Response Body

Errors


Accounts

Connect Account #

Parameters


string name

The name of your account


string provider

Your account provider. Must be one of the following: aws, aws_lightsail, exoscale, hetzner, gcp, upcloud, scaleway, vultr.


array credentials

Array of credentials required for your provider.


string credentials.key

Required by: aws, aws_lightsail, exoscale, gcp, scaleway and vultr.


string credentials.secret

Required by: aws, aws_lightsail, exoscale, hetzner and scaleway.


string credentials.region

Required by: aws, aws_lightsail and scaleway.


string credentials.zone

Required by: gcp.


string credentials.username

Required by: upcloud.


string credentials.password

Required by: upcloud.

                            POST
                            /api/v1/snapshots/accounts
                        
                           
curl https://api.snapshooter.com/api/v1/snapshots/accounts \
-X POST \
--header 'Authorization: Bearer API_TOKEN_HERE' \
HTTP/2 201
{
"data": {
"id": 1,
"name": "My aws account",
"expires_at": null,
"created_at": "2022-06-08 12:47:00",
"updated_at": "2022-06-08 12:47:00"
}
}

Examples

curl -X POST https://api.snapshooter.com/api/v1/snapshots/accounts \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data-binary @- <<DATA
{
"name": "Demo AWS",
"provider": "aws",
"credentials": {
"key": "<Access Key>",
"secret": "<Secret Key>",
"region": "us-east-1"
}
}
DATA
curl -X POST https://api.snapshooter.com/api/v1/snapshots/accounts \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data-binary @- <<DATA
{
"name": "Demo AWS Lightsail",
"provider": "aws_lightsail",
"credentials": {
"key": "<Access Key>",
"secret": "<Secret Key>",
"region": "us-east-2"
}
}
DATA
curl -X POST https://api.snapshooter.com/api/v1/snapshots/accounts \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data-binary @- <<DATA
{
"name": "Demo Exoscale",
"provider": "exoscale",
"credentials": {
"key": "<Access Key>",
"secret": "<Secret Key>"
}
}
DATA
curl -X POST https://api.snapshooter.com/api/v1/snapshots/accounts \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data-binary @- <<DATA
{
"name": "Demo GCP",
"provider": "gcp",
"credentials": {
"key": "<Access Key>",
"zone": "europe-west4-b"
}
}
DATA
curl -X POST https://api.snapshooter.com/api/v1/snapshots/accounts \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data-binary @- <<DATA
{
"name": "Demo Hetzner",
"provider": "hetzner",
"credentials": {
"secret": "<Secret Key>"
}
}
DATA
curl -X POST https://api.snapshooter.com/api/v1/snapshots/accounts \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data-binary @- <<DATA
{
"name": "Demo Scaleway",
"provider": "scaleway",
"credentials": {
"key": "<Access Key>",
"secret": "<Secret Key>",
"region": "pl-waw-1"
}
}
DATA
curl -X POST https://api.snapshooter.com/api/v1/snapshots/accounts \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data-binary @- <<DATA
{
"name": "Demo Upcloud",
"provider": "upcloud",
"credentials": {
"username": "snapshooter-demo",
"password": "SnapshooterRocks!"
}
}
DATA
curl -X POST https://api.snapshooter.com/api/v1/snapshots/accounts \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data-binary @- <<DATA
{
"name": "Demo ",
"provider": "",
"credentials": {
"key": "<Access Key>"
}
}
DATA

Errors


List Connected Accounts #

URL Parameters


string provider (optional)

Account provider you want to filter by. Must be one of the following: aws, aws_lightsail, exoscale, hetzner, gcp, upcloud, scaleway, vultr.

                            GET
                            /v1/snapshots/accounts
                        
                           
curl https://api.snapshooter.com/v1/snapshots/accounts \
-X GET \
--header 'Authorization: Bearer API_TOKEN_HERE' \
HTTP/2 200
{
"data": [
{
"id": 1,
"name": "Snapshooter Production Server",
"expires_at": null,
"created_at": "2022-06-08 12:50:00",
"updated_at": "2022-06-08 12:50:00",
"provider": {
"name": "AWS",
"pretty_name": "AWS"
}
}
]
}

Errors


Update Account #

Parameters


string name (optional)

The name of your account


string provider (optional)

Your account provider. Must be one of the following: aws, aws_lightsail, exoscale, hetzner, gcp, upcloud, scaleway, vultr.


array credentials (optional)

Array of credentials required for your provider.


string credentials.key (optional)

Required by: aws, aws_lightsail, exoscale, gcp, scaleway and vultr.


string credentials.secret (optional)

Required by: aws, aws_lightsail, exoscale, hetzner and scaleway.


string credentials.region (optional)

Required by: aws, aws_lightsail and scaleway.


string credentials.zone (optional)

Required by: gcp.


string credentials.username (optional)

Required by: upcloud.


string credentials.password (optional)

Required by: upcloud.

                            PATCH
                            /v1/snapshots/accounts/{account_id}
                        
                           
curl https://api.snapshooter.com/v1/snapshots/accounts/{account_id} \
-X PATCH \
--header 'Authorization: Bearer API_TOKEN_HERE' \
HTTP/2 204
//Empty Response Body

Examples

curl -X POST https://api.snapshooter.com/v1/snapshots/accounts/{account_id} \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data-binary @- <<DATA
{
"name": "Production Account"
}
DATA
curl -X POST https://api.snapshooter.com/v1/snapshots/accounts/{account_id} \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data-binary @- <<DATA
{
"credentials": {
"key": "<New Access Key>",
"secret": "<New Secret Key>",
"region": "<Same Region>"
}
}
DATA

Errors


Disconnect Account #

Parameters

This endpoint does not accept any parameters
                            DELETE
                            /v1/snapshots/accounts/{account_id}
                        
                           
curl https://api.snapshooter.com/v1/snapshots/accounts/{account_id} \
-X DELETE \
--header 'Authorization: Bearer API_TOKEN_HERE'
HTTP/2 204
//Empty Response Body

Errors


Sync Account #

Parameters

This endpoint does not accept any parameters
                            PATCH
                            /v1/snapshots/accounts/{account_id}/sync
                        
                           
curl https://api.snapshooter.com/v1/snapshots/accounts/{account_id}/sync \
-X PATCH \
--header 'Authorization: Bearer API_TOKEN_HERE'
HTTP/2 204
//Empty Response Body

Errors


Resources

List Snapshot Resources #

URL Parameters

This endpoint does not accept any parameters
                            GET
                            /v1/snapshots/resources
                        
                           
curl https://api.snapshooter.com/v1/snapshots/resources \
-X GET \
--header 'Authorization: Bearer API_TOKEN_HERE'
HTTP/2 200
{
"data": [
{
"id": 1,
"type": "disk",
"backups_activated": false,
"last_known_ip": "76.108.122.184",
"last_synced_at": "2022-06-15 16:59:14",
"credentials": {
"id": 1,
"name": "Mathilde Brekke",
"expires_at": null,
"created_at": "2022-06-15T16:59:14.000000Z",
"updated_at": "2022-06-15T16:59:14.000000Z"
},
"provider": {
"name": "upcloud",
"pretty_name": "UpCloud"
}
},
{
"id": 2,
"type": "server",
"backups_activated": true,
"last_known_ip": "177.65.86.107",
"last_synced_at": "2022-06-15 16:59:14",
"credentials": {
"id": 2,
"name": "Golda Shields DDS",
"expires_at": null,
"created_at": "2022-06-15T16:59:14.000000Z",
"updated_at": "2022-06-15T16:59:14.000000Z"
},
"provider": {
"name": "exoscale",
"pretty_name": "Exoscale"
}
},
{
"id": 3,
"type": "server",
"backups_activated": true,
"last_known_ip": "173.62.174.75",
"last_synced_at": "2022-06-15 16:59:14",
"credentials": {
"id": 3,
"name": "Dr. Salvatore Carter V",
"expires_at": null,
"created_at": "2022-06-15T16:59:14.000000Z",
"updated_at": "2022-06-15T16:59:14.000000Z"
},
"provider": {
"name": "gcp",
"pretty_name": "GCP"
}
},
{
"id": 4,
"type": "server",
"backups_activated": true,
"last_known_ip": "168.24.64.86",
"last_synced_at": "2022-06-15 16:59:14",
"credentials": {
"id": 4,
"name": "Oren McClure III",
"expires_at": null,
"created_at": "2022-06-15T16:59:14.000000Z",
"updated_at": "2022-06-15T16:59:14.000000Z"
},
"provider": {
"name": "vultr",
"pretty_name": "Vultr"
}
},
{
"id": 5,
"type": "disk",
"backups_activated": true,
"last_known_ip": "216.37.234.122",
"last_synced_at": "2022-06-15 16:59:14",
"credentials": {
"id": 5,
"name": "Moses Moen V",
"expires_at": null,
"created_at": "2022-06-15T16:59:14.000000Z",
"updated_at": "2022-06-15T16:59:14.000000Z"
},
"provider": {
"name": "scaleway",
"pretty_name": "Scaleway"
}
},
{
"id": 6,
"type": "server",
"backups_activated": true,
"last_known_ip": "254.213.160.43",
"last_synced_at": "2022-06-15 16:59:14",
"credentials": {
"id": 6,
"name": "Mr. Lukas Veum",
"expires_at": null,
"created_at": "2022-06-15T16:59:14.000000Z",
"updated_at": "2022-06-15T16:59:14.000000Z"
},
"provider": {
"name": "vultr",
"pretty_name": "Vultr"
}
},
{
"id": 7,
"type": "server",
"backups_activated": false,
"last_known_ip": "181.154.175.254",
"last_synced_at": "2022-06-15 16:59:14",
"credentials": {
"id": 7,
"name": "Oceane Brown",
"expires_at": null,
"created_at": "2022-06-15T16:59:14.000000Z",
"updated_at": "2022-06-15T16:59:14.000000Z"
},
"provider": {
"name": "aws",
"pretty_name": "AWS"
}
},
{
"id": 8,
"type": "disk",
"backups_activated": true,
"last_known_ip": "211.211.198.20",
"last_synced_at": "2022-06-15 16:59:14",
"credentials": {
"id": 8,
"name": "Tevin Trantow I",
"expires_at": null,
"created_at": "2022-06-15T16:59:14.000000Z",
"updated_at": "2022-06-15T16:59:14.000000Z"
},
"provider": {
"name": "scaleway",
"pretty_name": "Scaleway"
}
},
{
"id": 9,
"type": "server",
"backups_activated": true,
"last_known_ip": "118.203.243.1",
"last_synced_at": "2022-06-15 16:59:14",
"credentials": {
"id": 9,
"name": "Elza Parisian Jr.",
"expires_at": null,
"created_at": "2022-06-15T16:59:14.000000Z",
"updated_at": "2022-06-15T16:59:14.000000Z"
},
"provider": {
"name": "gcp",
"pretty_name": "GCP"
}
},
{
"id": 10,
"type": "disk",
"backups_activated": false,
"last_known_ip": "221.163.165.33",
"last_synced_at": "2022-06-15 16:59:14",
"credentials": {
"id": 10,
"name": "Ova Luettgen DVM",
"expires_at": null,
"created_at": "2022-06-15T16:59:14.000000Z",
"updated_at": "2022-06-15T16:59:14.000000Z"
},
"provider": {
"name": "upcloud",
"pretty_name": "UpCloud"
}
}
],
"links": {},
"meta": {}
}

Show Snapshot Resource #

URL Parameters

This endpoint does not accept any parameters
                            GET
                            /v1/snapshots/resources/{resource_id}
                        
                           
curl https://api.snapshooter.com/v1/snapshots/resources/{resource_id} \
-X GET \
--header 'Authorization: Bearer API_TOKEN_HERE'
HTTP/2 200
{
"data": {
"id": 1,
"type": "server",
"backups_activated": true,
"last_known_ip": "232.74.118.182",
"last_synced_at": "2022-06-15 17:04:57"
}
}

Errors


Activate Snapshot Resource #

Parameters


string frequency required


int retention_hourly required


int retention_daily required


int retention_weekly required


int retention_monthly required


string timezone required


int run_offset required

                            PATCH
                            /v1/snapshots/resources/{resource_id}/activate
                        
                           
curl https://api.snapshooter.com/v1/snapshots/resources/{resource_id}/activate \
-X PATCH \
--header 'Authorization: Bearer API_TOKEN_HERE' \
HTTP/2 204
//Empty Response Body

Errors


Deactivate Snapshot Resource #

Parameters

This endpoint does not accept any parameters
                            PATCH
                            /v1/snapshots/resources/{resource_id}/deactivate
                        
                           
curl https://api.snapshooter.com/v1/snapshots/resources/{resource_id}/deactivate \
-X PATCH \
--header 'Authorization: Bearer API_TOKEN_HERE'
HTTP/2 204
//Empty Response Body

Errors


Clear All Resource Snapshots #

Parameters

This endpoint does not accept any parameters
                            DELETE
                            /v1/snapshots/resources/{resource_id}/clear
                        
                           
curl https://api.snapshooter.com/v1/snapshots/resources/{resource_id}/clear \
-X DELETE \
--header 'Authorization: Bearer API_TOKEN_HERE'
HTTP/2 204
//Empty Response Body

Errors


Related

Jobs

Was this page helpful?

Thank you for helping us improve!