Images

Image View

get
https://api.linode.com/v4/images/{imageId}

Get information about a single Image.

  • Public Images have IDs that begin with "linode/". These distribution images are generally available to all users.

  • Private Images have IDs that begin with "private/". These Images are Account-specific and only accessible to Users with appropriate Grants.

  • To view a public Image, call this endpoint with or without authentication. To view a private Image, call this endpoint with authentication.

Path Parameters

imageId
Required
string

ID of the Image to look up.

Request Samples

curl https://api.linode.com/v4/images/linode/debian11

curl -H "Authorization: Bearer $TOKEN" \
    https://api.linode.com/v4/images/private/12345

Response Samples

{
  "capabilities": [],
  "status": "available",
  "created": "2021-08-14T22:44:02",
  "updated": "2021-08-14T22:44:02",
  "expiry": "",
  "id": 1234,
  "label": "Debian 11",
  "type": "manual",
  "deprecated": "",
  "description": "Example Image description.",
  "created_by": "linode",
  "is_public": true,
  "size": 2500,
  "eol": "2026-07-01T04:00:00",
  "vendor": "Debian"
}

Responses

200: A single Image object.

capabilities
array of objects

A list containing the following possible capabilities of this Image:

cloud-init: This Image supports cloud-init with Metadata. Only applies to public Images.

status
Filterable
string
Enum: "creating""pending_upload""available"

The current status of this Image.

Only Images in an "available" status can be deployed. Images in a "creating" status are being created from a Linode Disk, and will become "available" shortly. Images in a "pending_upload" status are waiting for data to be uploaded, and become "available" after the upload and processing are complete.

The "+order_by" and "+order" operators are not available for filtering on this key.

created
string <date-time>

When this Image was created.

updated
string <date-time>

When this Image was last updated.

expiry
Nullable
string <date-time>

Only Images created automatically from a deleted Linode (type=automatic) will expire.

id
string

The unique ID of this Image.

label
Filterable
string

A short description of the Image.

type
Filterable
string
Enum: "manual""automatic"

How the Image was created.

"Manual" Images can be created at any time.

"Automatic" Images are created automatically from a deleted Linode.

deprecated
Filterable
boolean

Whether or not this Image is deprecated. Will only be true for deprecated public Images.

description
Nullable
string [1 .. 65000] characters

A detailed description of this Image.

created_by
string

The name of the User who created this Image, or "linode" for public Images.

is_public
Filterable
boolean

True if the Image is a public distribution image. False if Image is private Account-specific Image.

size
Filterable
integer

The minimum size this Image needs to deploy. Size is in MB.

eol
string <date-time>

The date of the public Image's planned end of life. None for private Images.

vendor
Filterable
string

The upstream distribution vendor. None for private Images.

default: Error

errors
array of objects
reason
string

What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to open a Support Ticket or perform some other action before you can complete the request successfully.

field
string

The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as "null" if the error is not specific to any single element of the request.

Image Update

put
https://api.linode.com/v4/images/{imageId}

Updates a private Image that you have permission to read_write.

Path Parameters

imageId
Required
string

ID of the Image to look up.

Request Body Schema

description
Nullable
string [1 .. 65000] characters

A detailed description of this Image.

label
Filterable
string

A short description of the Image.

Request Samples

curl -H "Content-Type: application/json" \
    -H "Authorization: Bearer $TOKEN" \
    -X PUT -d '{
      "label": "My gold-master image",
      "description": "The detailed description of my Image."
    }' \
    https://api.linode.com/v4/images/private/12345

Response Samples

{
  "capabilities": [],
  "id": 1234,
  "label": "Debian 11",
  "status": "available",
  "type": "manual",
  "created": "2021-08-14T22:44:02",
  "updated": "2021-08-14T22:44:02",
  "description": "Example Image description.",
  "created_by": "linode",
  "deprecated": "",
  "is_public": true,
  "size": 2500,
  "expiry": "",
  "eol": "2026-07-01T04:00:00",
  "vendor": "Debian"
}

Responses

200: The updated image.

capabilities
array of objects

A list containing the following possible capabilities of this Image:

cloud-init: This Image supports cloud-init with Metadata. Only applies to public Images.

id
string

The unique ID of this Image.

label
Filterable
string

A short description of the Image.

status
Filterable
string
Enum: "creating""pending_upload""available"

The current status of this Image.

Only Images in an "available" status can be deployed. Images in a "creating" status are being created from a Linode Disk, and will become "available" shortly. Images in a "pending_upload" status are waiting for data to be uploaded, and become "available" after the upload and processing are complete.

The "+order_by" and "+order" operators are not available for filtering on this key.

type
Filterable
string
Enum: "manual""automatic"

How the Image was created.

"Manual" Images can be created at any time.

"Automatic" Images are created automatically from a deleted Linode.

description
Nullable
string [1 .. 65000] characters

A detailed description of this Image.

created
string <date-time>

When this Image was created.

updated
string <date-time>

When this Image was last updated.

created_by
string

The name of the User who created this Image, or "linode" for public Images.

deprecated
Filterable
boolean

Whether or not this Image is deprecated. Will only be true for deprecated public Images.

is_public
Filterable
boolean

True if the Image is a public distribution image. False if Image is private Account-specific Image.

size
Filterable
integer

The minimum size this Image needs to deploy. Size is in MB.

expiry
Nullable
string <date-time>

Only Images created automatically from a deleted Linode (type=automatic) will expire.

eol
string <date-time>

The date of the public Image's planned end of life. None for private Images.

vendor
Filterable
string

The upstream distribution vendor. None for private Images.

default: Error

errors
array of objects
reason
string

What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to open a Support Ticket or perform some other action before you can complete the request successfully.

field
string

The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as "null" if the error is not specific to any single element of the request.

Image Delete

delete
https://api.linode.com/v4/images/{imageId}

Deletes a private Image you have permission to read_write.

Deleting an Image is a destructive action and cannot be undone.

Path Parameters

imageId
Required
string

ID of the Image to look up.

Request Samples

curl -H "Authorization: Bearer $TOKEN" \
    -X DELETE \
    https://api.linode.com/v4/images/private/12345

Response Samples

{}

Responses

200: Delete successful

default: Error

errors
array of objects
reason
string

What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to open a Support Ticket or perform some other action before you can complete the request successfully.

field
string

The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as "null" if the error is not specific to any single element of the request.