Snapshots

Snapshots are point-in-time versions of a drive. They can be cloned to a full drive, which makes it possible to restore an older version of a VM image.

Snapshots are billed based on their occupied size. Since only the difference from the current drive image is stored, a single snapshot’s size will be equal to the size of the data which was changed since the snapshot was taken. If no data was changed, the snapshot’s size will be zero.

Note that snapshots are billed as drive, so drive subscriptions should be bought in order not to burst on snapshots usage.

Allowed HTTP methods

Method Description
GET get / list object/s
POST create new object/s
PUT update / modify object/s
DELETE delete object/s

Note

See RFC 2616#section-9 for more details on HTTP methods semantics

Listing

GET /snapshots/

Gets the list of snapshot to which the authenticated user has access.

Parameters:
  • fields – A set of field names specifying the returned fields
Status Codes:
  • 200 – no error

Example request - default list:

GET /api/2.0/snapshots/?limit=0 HTTP/1.1
Content-Type: application/json
Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop

Example response - default list:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
    "meta": {
        "limit": 0,
        "offset": 0,
        "total_count": 6
    },
    "objects": [
        {
            "allocated_size": 0,
            "drive": {
                "resource_uri": "/api/2.0/drives/b7cb6615-b6a5-4c31-b755-b86980c64d59/",
                "uuid": "b7cb6615-b6a5-4c31-b755-b86980c64d59"
            },
            "grantees": [],
            "meta": {},
            "name": "b7cb6615-b6a5-4c31-b755-b86980c64d59__2014-06-05__09_53_28",
            "owner": {
                "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
                "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
            },
            "permissions": [],
            "resource_uri": "/api/2.0/snapshots/f69d43df-092d-4fef-9766-668cb6469f31/",
            "status": "available",
            "tags": [],
            "timestamp": "2014-06-05 09:53:28.851859+00:00",
            "uuid": "f69d43df-092d-4fef-9766-668cb6469f31"
        },
        {
            "allocated_size": 0,
            "drive": {
                "resource_uri": "/api/2.0/drives/cb1e0fee-7666-4cb9-ab17-9f064adf6177/",
                "uuid": "cb1e0fee-7666-4cb9-ab17-9f064adf6177"
            },
            "grantees": [],
            "meta": {},
            "name": "cb1e0fee-7666-4cb9-ab17-9f064adf6177__2014-06-05__09_53_30",
            "owner": {
                "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
                "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
            },
            "permissions": [],
            "resource_uri": "/api/2.0/snapshots/78db3f50-945d-4795-814b-cff122f6b11f/",
            "status": "available",
            "tags": [],
            "timestamp": "2014-06-05 09:53:30.563748+00:00",
            "uuid": "78db3f50-945d-4795-814b-cff122f6b11f"
        },
        {
            "allocated_size": null,
            "drive": {
                "resource_uri": "/api/2.0/drives/bb2b8f77-04ee-42c1-b142-47bc31c2824e/",
                "uuid": "bb2b8f77-04ee-42c1-b142-47bc31c2824e"
            },
            "grantees": [],
            "meta": {},
            "name": "bb2b8f77-04ee-42c1-b142-47bc31c2824e__2014-06-05__09_53_32",
            "owner": {
                "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
                "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
            },
            "permissions": [],
            "resource_uri": "/api/2.0/snapshots/44b7f63a-7fb7-4ea4-b32c-ed7d4873a3f1/",
            "status": "creating",
            "tags": [],
            "timestamp": "2014-06-05 09:53:32.186344+00:00",
            "uuid": "44b7f63a-7fb7-4ea4-b32c-ed7d4873a3f1"
        },
        {
            "allocated_size": 0,
            "drive": {
                "resource_uri": "/api/2.0/drives/cb1e0fee-7666-4cb9-ab17-9f064adf6177/",
                "uuid": "cb1e0fee-7666-4cb9-ab17-9f064adf6177"
            },
            "grantees": [],
            "meta": {},
            "name": "cb1e0fee-7666-4cb9-ab17-9f064adf6177__2014-06-05__09_53_29",
            "owner": {
                "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
                "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
            },
            "permissions": [],
            "resource_uri": "/api/2.0/snapshots/33c0b447-d545-457f-a01c-156f674095c8/",
            "status": "available",
            "tags": [],
            "timestamp": "2014-06-05 09:53:29.770356+00:00",
            "uuid": "33c0b447-d545-457f-a01c-156f674095c8"
        },
        {
            "allocated_size": 0,
            "drive": {
                "resource_uri": "/api/2.0/drives/bb2b8f77-04ee-42c1-b142-47bc31c2824e/",
                "uuid": "bb2b8f77-04ee-42c1-b142-47bc31c2824e"
            },
            "grantees": [],
            "meta": {},
            "name": "bb2b8f77-04ee-42c1-b142-47bc31c2824e__2014-06-05__09_53_31",
            "owner": {
                "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
                "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
            },
            "permissions": [],
            "resource_uri": "/api/2.0/snapshots/62c600cf-7a25-4703-8003-b3c4445233af/",
            "status": "available",
            "tags": [],
            "timestamp": "2014-06-05 09:53:31.377681+00:00",
            "uuid": "62c600cf-7a25-4703-8003-b3c4445233af"
        },
        {
            "allocated_size": 0,
            "drive": {
                "resource_uri": "/api/2.0/drives/b7cb6615-b6a5-4c31-b755-b86980c64d59/",
                "uuid": "b7cb6615-b6a5-4c31-b755-b86980c64d59"
            },
            "grantees": [],
            "meta": {},
            "name": "b7cb6615-b6a5-4c31-b755-b86980c64d59__2014-06-05__09_53_28",
            "owner": {
                "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
                "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
            },
            "permissions": [],
            "resource_uri": "/api/2.0/snapshots/3a057cc8-9b42-44f2-a8cb-c5561f2eddd3/",
            "status": "available",
            "tags": [],
            "timestamp": "2014-06-05 09:53:28.048803+00:00",
            "uuid": "3a057cc8-9b42-44f2-a8cb-c5561f2eddd3"
        }
    ]
}

Detailed listing

GET /snapshots/detail/

Gets the detailed list of snapshots with additional information to which the authenticated user has access.

Status Codes:
  • 200 – no error

Example request:

GET /api/2.0/snapshots/detail/?limit=0 HTTP/1.1
Content-Type: application/json
Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop

Example response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
    "meta": {
        "limit": 0,
        "offset": 0,
        "total_count": 6
    },
    "objects": [
        {
            "allocated_size": 0,
            "drive": {
                "resource_uri": "/api/2.0/drives/b7cb6615-b6a5-4c31-b755-b86980c64d59/",
                "uuid": "b7cb6615-b6a5-4c31-b755-b86980c64d59"
            },
            "grantees": [],
            "meta": {},
            "name": "b7cb6615-b6a5-4c31-b755-b86980c64d59__2014-06-05__09_53_28",
            "owner": {
                "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
                "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
            },
            "permissions": [],
            "resource_uri": "/api/2.0/snapshots/f69d43df-092d-4fef-9766-668cb6469f31/",
            "status": "available",
            "tags": [],
            "timestamp": "2014-06-05 09:53:28.851859+00:00",
            "uuid": "f69d43df-092d-4fef-9766-668cb6469f31"
        },
        {
            "allocated_size": 0,
            "drive": {
                "resource_uri": "/api/2.0/drives/cb1e0fee-7666-4cb9-ab17-9f064adf6177/",
                "uuid": "cb1e0fee-7666-4cb9-ab17-9f064adf6177"
            },
            "grantees": [],
            "meta": {},
            "name": "cb1e0fee-7666-4cb9-ab17-9f064adf6177__2014-06-05__09_53_30",
            "owner": {
                "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
                "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
            },
            "permissions": [],
            "resource_uri": "/api/2.0/snapshots/78db3f50-945d-4795-814b-cff122f6b11f/",
            "status": "available",
            "tags": [],
            "timestamp": "2014-06-05 09:53:30.563748+00:00",
            "uuid": "78db3f50-945d-4795-814b-cff122f6b11f"
        },
        {
            "allocated_size": 0,
            "drive": {
                "resource_uri": "/api/2.0/drives/bb2b8f77-04ee-42c1-b142-47bc31c2824e/",
                "uuid": "bb2b8f77-04ee-42c1-b142-47bc31c2824e"
            },
            "grantees": [],
            "meta": {},
            "name": "bb2b8f77-04ee-42c1-b142-47bc31c2824e__2014-06-05__09_53_32",
            "owner": {
                "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
                "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
            },
            "permissions": [],
            "resource_uri": "/api/2.0/snapshots/44b7f63a-7fb7-4ea4-b32c-ed7d4873a3f1/",
            "status": "available",
            "tags": [],
            "timestamp": "2014-06-05 09:53:32.186344+00:00",
            "uuid": "44b7f63a-7fb7-4ea4-b32c-ed7d4873a3f1"
        },
        {
            "allocated_size": 0,
            "drive": {
                "resource_uri": "/api/2.0/drives/cb1e0fee-7666-4cb9-ab17-9f064adf6177/",
                "uuid": "cb1e0fee-7666-4cb9-ab17-9f064adf6177"
            },
            "grantees": [],
            "meta": {},
            "name": "cb1e0fee-7666-4cb9-ab17-9f064adf6177__2014-06-05__09_53_29",
            "owner": {
                "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
                "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
            },
            "permissions": [],
            "resource_uri": "/api/2.0/snapshots/33c0b447-d545-457f-a01c-156f674095c8/",
            "status": "available",
            "tags": [],
            "timestamp": "2014-06-05 09:53:29.770356+00:00",
            "uuid": "33c0b447-d545-457f-a01c-156f674095c8"
        },
        {
            "allocated_size": 0,
            "drive": {
                "resource_uri": "/api/2.0/drives/bb2b8f77-04ee-42c1-b142-47bc31c2824e/",
                "uuid": "bb2b8f77-04ee-42c1-b142-47bc31c2824e"
            },
            "grantees": [],
            "meta": {},
            "name": "bb2b8f77-04ee-42c1-b142-47bc31c2824e__2014-06-05__09_53_31",
            "owner": {
                "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
                "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
            },
            "permissions": [],
            "resource_uri": "/api/2.0/snapshots/62c600cf-7a25-4703-8003-b3c4445233af/",
            "status": "available",
            "tags": [],
            "timestamp": "2014-06-05 09:53:31.377681+00:00",
            "uuid": "62c600cf-7a25-4703-8003-b3c4445233af"
        },
        {
            "allocated_size": 0,
            "drive": {
                "resource_uri": "/api/2.0/drives/b7cb6615-b6a5-4c31-b755-b86980c64d59/",
                "uuid": "b7cb6615-b6a5-4c31-b755-b86980c64d59"
            },
            "grantees": [],
            "meta": {},
            "name": "b7cb6615-b6a5-4c31-b755-b86980c64d59__2014-06-05__09_53_28",
            "owner": {
                "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
                "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
            },
            "permissions": [],
            "resource_uri": "/api/2.0/snapshots/3a057cc8-9b42-44f2-a8cb-c5561f2eddd3/",
            "status": "available",
            "tags": [],
            "timestamp": "2014-06-05 09:53:28.048803+00:00",
            "uuid": "3a057cc8-9b42-44f2-a8cb-c5561f2eddd3"
        }
    ]
}

List single snapshot

GET /snapshots/{uuid}/

Gets detailed information for snapshot identified by snapshot_uuid.

Status Codes:
  • 200 – no error

Example request:

GET /api/2.0/snapshots/62c600cf-7a25-4703-8003-b3c4445233af/ HTTP/1.1
Content-Type: application/json
Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop

Example response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
    "allocated_size": null,
    "drive": {
        "resource_uri": "/api/2.0/drives/bb2b8f77-04ee-42c1-b142-47bc31c2824e/",
        "uuid": "bb2b8f77-04ee-42c1-b142-47bc31c2824e"
    },
    "grantees": [],
    "meta": {},
    "name": "bb2b8f77-04ee-42c1-b142-47bc31c2824e__2014-06-05__09_53_31",
    "owner": {
        "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
        "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
    },
    "permissions": [],
    "resource_uri": "/api/2.0/snapshots/62c600cf-7a25-4703-8003-b3c4445233af/",
    "status": "creating",
    "tags": [],
    "timestamp": "2014-06-05 09:53:31.377681+00:00",
    "uuid": "62c600cf-7a25-4703-8003-b3c4445233af"
}

Creating

POST /snapshots/

Creates a new snapshot or multiple snapshots.

Status Codes:
  • 201 – object created

Example request:

Create a snapshot

POST /api/2.0/snapshots/ HTTP/1.1
Content-Type: application/json
Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop

{
    "drive": "450357dc-cbe1-471d-b4cc-dbdfe5f28d84", 
    "meta": {
        "key": "val"
    }, 
    "name": "first_snapshot"
}

Example response

HTTP/1.1 201 CREATED
Content-Type: application/json; charset=utf-8

{
    "objects": [
        {
            "allocated_size": null,
            "drive": {
                "resource_uri": "/api/2.0/drives/450357dc-cbe1-471d-b4cc-dbdfe5f28d84/",
                "uuid": "450357dc-cbe1-471d-b4cc-dbdfe5f28d84"
            },
            "grantees": [],
            "meta": {
                "key": "val"
            },
            "name": "first_snapshot",
            "owner": {
                "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
                "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
            },
            "permissions": [],
            "resource_uri": "/api/2.0/snapshots/855ebdc8-ce4b-48d0-9d8d-306c9074be29/",
            "status": "creating",
            "tags": [],
            "timestamp": "2014-06-05 09:52:53.896622+00:00",
            "uuid": "855ebdc8-ce4b-48d0-9d8d-306c9074be29"
        }
    ]
}

Editing

PUT /snapshots/{uuid}/

Edits a snapshot.

Status Codes:
  • 200 – no errors

Example request:

PUT /api/2.0/snapshots/855ebdc8-ce4b-48d0-9d8d-306c9074be29/ HTTP/1.1
Content-Type: application/json
Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop

{
    "drive": "450357dc-cbe1-471d-b4cc-dbdfe5f28d84",
    "meta": {
        "key": "val_changed",
        "new_key": "new_key_value"
    },
    "name": "first_snapshot_renamed"
}

Example response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
    "allocated_size": 0,
    "drive": {
        "resource_uri": "/api/2.0/drives/450357dc-cbe1-471d-b4cc-dbdfe5f28d84/",
        "uuid": "450357dc-cbe1-471d-b4cc-dbdfe5f28d84"
    },
    "grantees": [],
    "meta": {
        "key": "val_changed",
        "new_key": "new_key_value"
    },
    "name": "first_snapshot_renamed",
    "owner": {
        "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
        "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
    },
    "permissions": [],
    "resource_uri": "/api/2.0/snapshots/855ebdc8-ce4b-48d0-9d8d-306c9074be29/",
    "status": "available",
    "tags": [],
    "timestamp": "2014-06-05 09:52:53.896622+00:00",
    "uuid": "855ebdc8-ce4b-48d0-9d8d-306c9074be29"
}

Metadata

It is possible to add arbitrary key-value data to a snapshot definition. See Objects’ metadata field for more information.

Deleting

Single snapshot

DELETE /snapshots/{uuid}/

Deletes a single snapshot.

Status Codes:
  • 204 – No content, object deletion started.

Example request:

DELETE /api/2.0/snapshots/855ebdc8-ce4b-48d0-9d8d-306c9074be29/ HTTP/1.1
Content-Type: application/json
Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop

Example response:

HTTP/1.1 204 NO CONTENT
Content-Type: text/html; charset=utf-8

Multiple snapshots

DELETE /snapshots/

Deletes multiple mounted or unmounted snapshots specified by their UUID’s.

statuscode 204:No content, object deletion started.

Example request:

Request body

{"objects":
  [
    {
     "uuid":"b137e217-42b6-4ecf-8575-d72efc2d3dbd",
    },
    {
     "uuid":"e035a488-8587-4a15-ab25-9b7343236bc9",
    },
    {
     "uuid":"feded33c-106f-49fa-a1c4-be5c718ad1b5",
    }
  ]
}

Example response:

HTTP/1.0 204 NO CONTENT

Cloning

POST /snapshots/{uuid}/action/?do=clone

Clones a snapshot to a drive. Request body is optional and any or all of the key/value pairs can be omitted.

Status Codes:
  • 202 – Action accepted, execution is proceeding.

Example request:

POST /api/2.0/snapshots/c6368b7c-9d3d-4631-b008-83b73c05f1bd/action/?do=clone&avoid=d7da5038-ac2d-4776-9097-f60167d6e587 HTTP/1.1
Content-Type: application/json
Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop

{}

Example response: The response is actually a drive definition

HTTP/1.1 202 ACCEPTED
Content-Type: application/json; charset=utf-8

{
    "affinities": [],
    "allow_multimount": false,
    "grantees": [],
    "jobs": [
        {
            "resource_uri": "/api/2.0/jobs/260512fc-e9ac-470f-880d-52b4dfcc2b72/",
            "uuid": "260512fc-e9ac-470f-880d-52b4dfcc2b72"
        }
    ],
    "licenses": [],
    "media": "disk",
    "meta": {},
    "mounted_on": [],
    "name": "7fbfb2ac-5b21-4c5a-81cb-d4343fca71a1__2015-03-19__13_53_52",
    "owner": {
        "resource_uri": "/api/2.0/user/c2fc9982-cf2e-434a-bf63-e22a27b39f00/",
        "uuid": "c2fc9982-cf2e-434a-bf63-e22a27b39f00"
    },
    "permissions": [],
    "resource_uri": {
        "resource_uri": "/api/2.0/drives/be62f52e-0b0f-480c-89b2-73e108dd2cef/",
        "uuid": "be62f52e-0b0f-480c-89b2-73e108dd2cef"
    },
    "runtime": {
        "is_snapshotable": null,
        "snapshots_allocated_size": 0,
        "storage_type": "dssd"
    },
    "size": 1073741824,
    "snapshots": [],
    "status": "cloning_dst",
    "storage_type": "dssd",
    "tags": [],
    "uuid": "be62f52e-0b0f-480c-89b2-73e108dd2cef"
}

Note

The name of the cloned drive will be changed using the clone naming strategy set in the profile. See Clone naming for more information

Listing drive snapshots

There are 2 ways of getting all snapshots of a drive

By filtering snapshots

You can apply drive filter to snapshots

GET /snapshots/{uuid}/?drive={drive_uuid}
GET /api/2.0/snapshots/detail/?limit=0&drive=b7cb6615-b6a5-4c31-b755-b86980c64d59 HTTP/1.1
Content-Type: application/json
Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
    "meta": {
        "limit": 0,
        "offset": 0,
        "total_count": 2
    },
    "objects": [
        {
            "allocated_size": 0,
            "drive": {
                "resource_uri": "/api/2.0/drives/b7cb6615-b6a5-4c31-b755-b86980c64d59/",
                "uuid": "b7cb6615-b6a5-4c31-b755-b86980c64d59"
            },
            "grantees": [],
            "meta": {},
            "name": "b7cb6615-b6a5-4c31-b755-b86980c64d59__2014-06-05__09_53_28",
            "owner": {
                "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
                "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
            },
            "permissions": [],
            "resource_uri": "/api/2.0/snapshots/f69d43df-092d-4fef-9766-668cb6469f31/",
            "status": "available",
            "tags": [],
            "timestamp": "2014-06-05 09:53:28.851859+00:00",
            "uuid": "f69d43df-092d-4fef-9766-668cb6469f31"
        },
        {
            "allocated_size": 0,
            "drive": {
                "resource_uri": "/api/2.0/drives/b7cb6615-b6a5-4c31-b755-b86980c64d59/",
                "uuid": "b7cb6615-b6a5-4c31-b755-b86980c64d59"
            },
            "grantees": [],
            "meta": {},
            "name": "b7cb6615-b6a5-4c31-b755-b86980c64d59__2014-06-05__09_53_28",
            "owner": {
                "resource_uri": "/api/2.0/user/5b4a69a3-8e78-4c45-a8ba-8b13f0895e23/",
                "uuid": "5b4a69a3-8e78-4c45-a8ba-8b13f0895e23"
            },
            "permissions": [],
            "resource_uri": "/api/2.0/snapshots/3a057cc8-9b42-44f2-a8cb-c5561f2eddd3/",
            "status": "available",
            "tags": [],
            "timestamp": "2014-06-05 09:53:28.048803+00:00",
            "uuid": "3a057cc8-9b42-44f2-a8cb-c5561f2eddd3"
        }
    ]
}

In drive definition

In the detailed drive definition there is “snapshots” field

GET /drives/{drive_uuid}/
GET /api/2.0/drives/b7cb6615-b6a5-4c31-b755-b86980c64d59/ HTTP/1.1
Content-Type: application/json
Authorization: Basic SWYgeW91IGZvdW5kIHRoaXMsIGhhdmUgYSBjb29raWUsIHlvdSBkZXNlcnZlIGl0IDop
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
    "snapshots": [
        {
            "resource_uri": "/api/2.0/snapshots/f69d43df-092d-4fef-9766-668cb6469f31/", 
            "uuid": "f69d43df-092d-4fef-9766-668cb6469f31"
        }, 
        {
            "resource_uri": "/api/2.0/snapshots/3a057cc8-9b42-44f2-a8cb-c5561f2eddd3/", 
            "uuid": "3a057cc8-9b42-44f2-a8cb-c5561f2eddd3"
        }
    ]
}

Request schema

{
   "description":"Clone snapshot",
   "properties":{
          "name":{
                  "description": "Name of the cloned snapshot",
          }
          "media":{
                  "description": "Media of the cloned snapshot",
          }
          "affinities":{
                  "description": "Affinities of the cloned snapshot",
          }
   }
}

Schema

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
    "allowed_detail_http_methods": [
        "get",
        "put",
        "delete"
    ],
    "allowed_list_http_methods": [
        "get",
        "put",
        "delete",
        "post"
    ],
    "default_format": "application/json",
    "default_limit": 20,
    "fields": {
        "allocated_size": {
            "default": "No default provided.",
            "help_text": "Physical size of the snapshot",
            "readonly": true,
            "required": true,
            "type": "integer"
        },
        "drive": {
            "default": null,
            "help_text": "Drive UUID",
            "readonly": false,
            "required": true,
            "type": "related"
        },
        "grantees": {
            "default": "No default provided.",
            "help_text": "A list of data. Ex: ['abc', 26.73, 8]",
            "readonly": false,
            "required": false,
            "type": "list"
        },
        "meta": {
            "default": {},
            "help_text": "User defined meta information",
            "readonly": false,
            "required": false,
            "type": "dict"
        },
        "name": {
            "default": null,
            "help_text": "Optional human readable name of the snapshot",
            "readonly": false,
            "required": false,
            "type": "string"
        },
        "owner": {
            "default": null,
            "help_text": "Owner of the snapshot",
            "readonly": true,
            "required": false,
            "type": "related"
        },
        "permissions": {
            "default": "No default provided.",
            "help_text": "A list of data. Ex: ['abc', 26.73, 8]",
            "readonly": false,
            "required": false,
            "type": "list"
        },
        "resource_uri": {
            "default": "No default provided.",
            "help_text": "Unicode string data. Ex: \"Hello World\"",
            "readonly": true,
            "required": true,
            "type": "string"
        },
        "status": {
            "default": "No default provided.",
            "help_text": "Status of the snapshot.",
            "readonly": true,
            "required": true,
            "type": "string"
        },
        "tags": {
            "default": "No default provided.",
            "help_text": "Many related resources. Can be either a list of URIs or list of individually nested resource data.",
            "readonly": false,
            "required": false,
            "type": "related"
        },
        "timestamp": {
            "default": null,
            "help_text": "Timestamp of the snapshot creation",
            "readonly": true,
            "required": true,
            "type": "string"
        },
        "uuid": {
            "default": null,
            "help_text": "UUID of the snapshot",
            "readonly": true,
            "required": true,
            "type": "string"
        }
    },
    "filtering": {
        "name": "exact",
        "name__contains": "exact",
        "tag": "exact",
        "uuid": "exact"
    }
}