Skip to content

nodes / storage ​

20 operations.

GET /nodes/{node}/storage ​

ts
proxmox.nodes.$(node).storage.$get()

Get status for all datastores.

Returns an array of object.

ParameterTypeRequiredNotes
contentstringOnly list stores which support this content type. — format pve-storage-content-list
enabledbooleanOnly list stores which are enabled (not disabled in config). — default 0
formatbooleanInclude information about formats — default 0
nodestringyesThe cluster node name. — format pve-node
storagestringOnly list status for specified storage — format pve-storage-id
targetstringIf target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node. — format pve-node

GET /nodes/{node}/storage/{storage} ​

ts
proxmox.nodes.$(node).storage.$(storage).$get()

Returns an array of object.

ParameterTypeRequiredNotes
nodestringyesThe cluster node name. — format pve-node
storagestringyesThe storage identifier. — format pve-storage-id

GET /nodes/{node}/storage/{storage}/content ​

ts
proxmox.nodes.$(node).storage.$(storage).content.$get()

List storage content.

Returns an array of object.

ParameterTypeRequiredNotes
contentstringOnly list content of this type. — format pve-storage-content
nodestringyesThe cluster node name. — format pve-node
storagestringyesThe storage identifier. — format pve-storage-id
vmidnumberOnly list images for this VM — format pve-vmid, min 100, max 999999999

POST /nodes/{node}/storage/{storage}/content ​

ts
proxmox.nodes.$(node).storage.$(storage).content.$post()

Allocate disk images.

Returns string.

ParameterTypeRequiredNotes
filenamestringyesThe name of the file to create.
formatraw | qcow2 | subvol | vmdkFormat of the image.
nodestringyesThe cluster node name. — format pve-node
sizestringyesSize in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)
storagestringyesThe storage identifier. — format pve-storage-id
vmidnumberyesSpecify owner VM — format pve-vmid, min 100, max 999999999

GET /nodes/{node}/storage/{storage}/content/{volume} ​

ts
proxmox.nodes.$(node).storage.$(storage).content.$(volume).$get()

Get volume attributes

Returns object.

ParameterTypeRequiredNotes
nodestringyesThe cluster node name. — format pve-node
storagestringThe storage identifier. — format pve-storage-id
volumestringyesVolume identifier

POST /nodes/{node}/storage/{storage}/content/{volume} ​

ts
proxmox.nodes.$(node).storage.$(storage).content.$(volume).$post()

Copy a volume. This is experimental code - do not use.

Returns string.

ParameterTypeRequiredNotes
nodestringyesThe cluster node name. — format pve-node
storagestringThe storage identifier. — format pve-storage-id
targetstringyesTarget volume identifier
target_nodestringTarget node. Default is local node. — format pve-node
volumestringyesSource volume identifier

PUT /nodes/{node}/storage/{storage}/content/{volume} ​

ts
proxmox.nodes.$(node).storage.$(storage).content.$(volume).$put()

Update volume attributes

Returns nothing.

ParameterTypeRequiredNotes
nodestringyesThe cluster node name. — format pve-node
notesstringThe new notes.
protectedbooleanProtection status. Currently only supported for backups.
storagestringThe storage identifier. — format pve-storage-id
volumestringyesVolume identifier

DELETE /nodes/{node}/storage/{storage}/content/{volume} ​

ts
proxmox.nodes.$(node).storage.$(storage).content.$(volume).$delete()

Delete volume

Returns string.

ParameterTypeRequiredNotes
delaynumberTime to wait for the task to finish. We return 'null' if the task finish within that time. — min 1, max 30
nodestringyesThe cluster node name. — format pve-node
storagestringThe storage identifier. — format pve-storage-id
volumestringyesVolume identifier

POST /nodes/{node}/storage/{storage}/download-url ​

ts
proxmox.nodes.$(node).storage.$(storage)["download-url"].$post()

Download templates, ISO images, OVAs and VM images by using an URL.

Returns string.

ParameterTypeRequiredNotes
checksumstringThe expected checksum of the file.
checksum-algorithmmd5 | sha1 | sha224 | sha256 | sha384 | sha512The algorithm to calculate the checksum of the file.
compressionstringDecompress the downloaded file using the specified compression algorithm.
contentiso | vztmpl | importyesContent type. — format pve-storage-content
filenamestringyesThe name of the file to create. Caution: This will be normalized! — ≤ 255 chars
nodestringyesThe cluster node name. — format pve-node
storagestringyesThe storage identifier. — format pve-storage-id
urlstringyesThe URL to download the file from.
verify-certificatesbooleanIf false, no SSL/TLS certificates will be verified. — default 1

GET /nodes/{node}/storage/{storage}/file-restore/download ​

ts
proxmox.nodes.$(node).storage.$(storage)["file-restore"].download.$get()

Extract a file or directory (as zip archive) from a PBS backup.

Returns any.

ParameterTypeRequiredNotes
filepathstringyesbase64-path to the directory or file to download.
nodestringyesThe cluster node name. — format pve-node
storagestringyesThe storage identifier. — format pve-storage-id
tarbooleanDownload dirs as 'tar.zst' instead of 'zip'. — default 0
volumestringyesBackup volume ID or name. Currently only PBS snapshots are supported.

GET /nodes/{node}/storage/{storage}/file-restore/list ​

ts
proxmox.nodes.$(node).storage.$(storage)["file-restore"].list.$get()

List files and directories for single file restore under the given path.

Returns an array of object.

ParameterTypeRequiredNotes
filepathstringyesbase64-path to the directory or file being listed, or "/".
nodestringyesThe cluster node name. — format pve-node
storagestringyesThe storage identifier. — format pve-storage-id
volumestringyesBackup volume ID or name. Currently only PBS snapshots are supported.

GET /nodes/{node}/storage/{storage}/identity ​

ts
proxmox.nodes.$(node).storage.$(storage).identity.$get()

Return identity information for this storage instance.

Returns object.

ParameterTypeRequiredNotes
nodestringyesThe cluster node name. — format pve-node
storagestringyesThe storage identifier. — format pve-storage-id

GET /nodes/{node}/storage/{storage}/import-metadata ​

ts
proxmox.nodes.$(node).storage.$(storage)["import-metadata"].$get()

Get the base parameters for creating a guest which imports data from a foreign importable guest, like an ESXi VM

Returns object.

ParameterTypeRequiredNotes
nodestringyesThe cluster node name. — format pve-node
storagestringyesThe storage identifier. — format pve-storage-id
volumestringyesVolume identifier for the guest archive/entry.

POST /nodes/{node}/storage/{storage}/oci-registry-pull ​

ts
proxmox.nodes.$(node).storage.$(storage)["oci-registry-pull"].$post()

Pull an OCI image from a registry.

Returns string.

ParameterTypeRequiredNotes
filenamestringCustom destination file name of the OCI image. Caution: This will be normalized! — ≤ 255 chars
nodestringyesThe cluster node name. — format pve-node
referencestringyesThe reference to the OCI image to download.
storagestringyesThe storage identifier. — format pve-storage-id

GET /nodes/{node}/storage/{storage}/prunebackups ​

ts
proxmox.nodes.$(node).storage.$(storage).prunebackups.$get()

Get prune information for backups. NOTE: this is only a preview and might not be what a subsequent prune call does if backups are removed/added in the meantime.

Returns an array of object.

ParameterTypeRequiredNotes
nodestringyesThe cluster node name. — format pve-node
prune-backupsstringUse these retention options instead of those from the storage configuration. — format prune-backups
storagestringyesThe storage identifier. — format pve-storage-id
typeqemu | lxcEither 'qemu' or 'lxc'. Only consider backups for guests of this type.
vmidnumberOnly consider backups for this guest. — format pve-vmid, min 100, max 999999999

DELETE /nodes/{node}/storage/{storage}/prunebackups ​

ts
proxmox.nodes.$(node).storage.$(storage).prunebackups.$delete()

Prune backups. Only those using the standard naming scheme are considered.

Returns string.

ParameterTypeRequiredNotes
nodestringyesThe cluster node name. — format pve-node
prune-backupsstringUse these retention options instead of those from the storage configuration. — format prune-backups
storagestringyesThe storage identifier. — format pve-storage-id
typeqemu | lxcEither 'qemu' or 'lxc'. Only consider backups for guests of this type.
vmidnumberOnly prune backups for this VM. — format pve-vmid, min 100, max 999999999

GET /nodes/{node}/storage/{storage}/rrd ​

ts
proxmox.nodes.$(node).storage.$(storage).rrd.$get()

Read storage RRD statistics (returns PNG).

Returns object.

ParameterTypeRequiredNotes
cfAVERAGE | MAXThe RRD consolidation function
dsstringyesThe list of datasources you want to display. — format pve-configid-list
nodestringyesThe cluster node name. — format pve-node
storagestringyesThe storage identifier. — format pve-storage-id
timeframehour | day | week | month | yearyesSpecify the time frame you are interested in.

GET /nodes/{node}/storage/{storage}/rrddata ​

ts
proxmox.nodes.$(node).storage.$(storage).rrddata.$get()

Read storage RRD statistics.

Returns an array of object.

ParameterTypeRequiredNotes
cfAVERAGE | MAXThe RRD consolidation function
nodestringyesThe cluster node name. — format pve-node
storagestringyesThe storage identifier. — format pve-storage-id
timeframehour | day | week | month | yearyesSpecify the time frame you are interested in.

GET /nodes/{node}/storage/{storage}/status ​

ts
proxmox.nodes.$(node).storage.$(storage).status.$get()

Read storage status.

Returns object.

ParameterTypeRequiredNotes
nodestringyesThe cluster node name. — format pve-node
storagestringyesThe storage identifier. — format pve-storage-id

POST /nodes/{node}/storage/{storage}/upload ​

ts
proxmox.nodes.$(node).storage.$(storage).upload.$post()

Upload templates, ISO images, OVAs and VM images.

Returns string.

ParameterTypeRequiredNotes
checksumstringThe expected checksum of the file.
checksum-algorithmmd5 | sha1 | sha224 | sha256 | sha384 | sha512The algorithm to calculate the checksum of the file.
contentiso | vztmpl | importyesContent type. — format pve-storage-content
filenamestringyesThe name of the file to create. Caution: This will be normalized! — ≤ 255 chars
nodestringyesThe cluster node name. — format pve-node
storagestringyesThe storage identifier. — format pve-storage-id
tmpfilenamestringThe source file name. This parameter is usually set by the REST handler. You can only overwrite it when connecting to the trusted port on localhost.