Skip to main content
Glama
NightSquawk

Proxmox MCP Server

by NightSquawk

Proxmox MCP Server

npm version npm downloads OpenSSF Scorecard License: AGPL-3.0 Node

An MCP (Model Context Protocol) server for Proxmox VE and Proxmox Datacenter Manager, connecting your virtualization infrastructure to AI tools.

Quick start

Claude

Download for Claude Desktop

bash (macOS/Linux):

PVE_HOST="pve.example.com"
PVE_TOKEN_ID='root@pam!mcp'
PVE_TOKEN_SECRET="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
PVE_TLS_REJECT_UNAUTHORIZED="false"

claude mcp add proxmox \
  --env PVE_HOST="$PVE_HOST" \
  --env PVE_TOKEN_ID="$PVE_TOKEN_ID" \
  --env PVE_TOKEN_SECRET="$PVE_TOKEN_SECRET" \
  --env PVE_TLS_REJECT_UNAUTHORIZED="$PVE_TLS_REJECT_UNAUTHORIZED" \
  -- npx -y @nightsquawktech/proxmox-mcp-server

PowerShell (Windows):

$PVE_HOST = "pve.example.com"
$PVE_TOKEN_ID = "root@pam!mcp"
$PVE_TOKEN_SECRET = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
$PVE_TLS_REJECT_UNAUTHORIZED = "false"

claude mcp add proxmox `
  --env "PVE_HOST=$PVE_HOST" `
  --env "PVE_TOKEN_ID=$PVE_TOKEN_ID" `
  --env "PVE_TOKEN_SECRET=$PVE_TOKEN_SECRET" `
  --env "PVE_TLS_REJECT_UNAUTHORIZED=$PVE_TLS_REJECT_UNAUTHORIZED" `
  -- npx -y @nightsquawktech/proxmox-mcp-server

These examples configure the PVE surface. To also connect a Proxmox Datacenter Manager instance, add the PDM_* equivalents (full variable list in mcp.json).

Cursor

Add to Cursor

Or put the mcp.json block in .cursor/mcp.json, then verify with:

agent mcp list

(The Cursor CLI manages configured servers but has no mcp add; install is via the button or mcp.json.)

VS Code

Install in VS Code

bash (macOS/Linux):

PVE_HOST="pve.example.com"
PVE_TOKEN_ID='root@pam!mcp'
PVE_TOKEN_SECRET="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
PVE_TLS_REJECT_UNAUTHORIZED="false"

code --add-mcp '{"name":"proxmox","command":"npx","args":["-y","@nightsquawktech/proxmox-mcp-server"],"env":{"PVE_HOST":"'"$PVE_HOST"'","PVE_TOKEN_ID":"'"$PVE_TOKEN_ID"'","PVE_TOKEN_SECRET":"'"$PVE_TOKEN_SECRET"'","PVE_TLS_REJECT_UNAUTHORIZED":"'"$PVE_TLS_REJECT_UNAUTHORIZED"'"}}'

PowerShell (Windows):

$PVE_HOST = "pve.example.com"
$PVE_TOKEN_ID = "root@pam!mcp"
$PVE_TOKEN_SECRET = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
$PVE_TLS_REJECT_UNAUTHORIZED = "false"

$config = @{
  name = "proxmox"
  command = "npx"
  args = @("-y", "@nightsquawktech/proxmox-mcp-server")
  env = @{
    PVE_HOST = $PVE_HOST
    PVE_TOKEN_ID = $PVE_TOKEN_ID
    PVE_TOKEN_SECRET = $PVE_TOKEN_SECRET
    PVE_TLS_REJECT_UNAUTHORIZED = $PVE_TLS_REJECT_UNAUTHORIZED
  }
} | ConvertTo-Json -Compress

code --add-mcp $config

Codex

bash (macOS/Linux):

PVE_HOST="pve.example.com"
PVE_TOKEN_ID='root@pam!mcp'
PVE_TOKEN_SECRET="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
PVE_TLS_REJECT_UNAUTHORIZED="false"

codex mcp add proxmox \
  --env PVE_HOST="$PVE_HOST" \
  --env PVE_TOKEN_ID="$PVE_TOKEN_ID" \
  --env PVE_TOKEN_SECRET="$PVE_TOKEN_SECRET" \
  --env PVE_TLS_REJECT_UNAUTHORIZED="$PVE_TLS_REJECT_UNAUTHORIZED" \
  -- npx -y @nightsquawktech/proxmox-mcp-server

PowerShell (Windows):

$PVE_HOST = "pve.example.com"
$PVE_TOKEN_ID = "root@pam!mcp"
$PVE_TOKEN_SECRET = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
$PVE_TLS_REJECT_UNAUTHORIZED = "false"

codex mcp add proxmox `
  --env "PVE_HOST=$PVE_HOST" `
  --env "PVE_TOKEN_ID=$PVE_TOKEN_ID" `
  --env "PVE_TOKEN_SECRET=$PVE_TOKEN_SECRET" `
  --env "PVE_TLS_REJECT_UNAUTHORIZED=$PVE_TLS_REJECT_UNAUTHORIZED" `
  -- npx -y @nightsquawktech/proxmox-mcp-server

Or add it to ~/.codex/config.toml under [mcp_servers.proxmox].

mcp.json

Every environment variable the server reads, with recommended values. Both surfaces are optional: configure PVE, PDM, or both. Tools for an unconfigured surface error only at call time; the catalog still lists and describes every endpoint regardless.

{
  "mcpServers": {
    "proxmox": {
      "command": "npx",
      "args": ["-y", "@nightsquawktech/proxmox-mcp-server"],
      "env": {
        "PVE_HOST": "pve.example.com",
        "PVE_BASE_URL": "https://pve.example.com:8006/api2/json",
        "PVE_TOKEN_ID": "root@pam!mcp",
        "PVE_TOKEN_SECRET": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "PVE_AUTH_SCHEME": "PVEAPIToken",
        "PVE_AUTH_SEP": "=",
        "PVE_TLS_REJECT_UNAUTHORIZED": "false",
        "PVE_ALLOW_WRITES": "false",
        "PDM_HOST": "pdm.example.com",
        "PDM_BASE_URL": "https://pdm.example.com:8443/api2/json",
        "PDM_TOKEN_ID": "root@pam!mcp",
        "PDM_TOKEN_SECRET": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "PDM_AUTH_SCHEME": "PDMAPIToken",
        "PDM_AUTH_SEP": "=",
        "PDM_TLS_REJECT_UNAUTHORIZED": "false",
        "PDM_ALLOW_WRITES": "false",
        "PROXMOX_ALLOW_WRITES": "false"
      }
    }
  }
}

File locations: .mcp.json in your project root (Claude Code), claude_desktop_config.json (Claude Desktop), .cursor/mcp.json (Cursor).

Related MCP server: proxmox-mcp

Configuration

Variable

Required

Default

Purpose

PVE_HOST

for PVE

Proxmox VE hostname; expands to https://<host>:8006/api2/json

PVE_BASE_URL

no

derived from PVE_HOST

Full PVE API base URL; overrides PVE_HOST when set

PVE_TOKEN_ID

for PVE

PVE API token id, e.g. root@pam!mcp

PVE_TOKEN_SECRET

for PVE

PVE API token secret (UUID shown once at token creation)

PVE_AUTH_SCHEME

no

PVEAPIToken

Auth header scheme override

PVE_AUTH_SEP

no

=

Separator between token id and secret in the auth header

PVE_TLS_REJECT_UNAUTHORIZED

no

true

Set false to accept Proxmox's default self-signed cert

PVE_ALLOW_WRITES

no

false

Enables write operations (POST/PUT/DELETE) on the PVE surface

PDM_HOST

for PDM

Proxmox Datacenter Manager hostname; expands to https://<host>:8443/api2/json

PDM_BASE_URL

no

derived from PDM_HOST

Full PDM API base URL; overrides PDM_HOST when set

PDM_TOKEN_ID

for PDM

PDM API token id

PDM_TOKEN_SECRET

for PDM

PDM API token secret

PDM_AUTH_SCHEME

no

PDMAPIToken

Auth header scheme override (PDM is newer; adjust if auth fails)

PDM_AUTH_SEP

no

=

Separator between token id and secret in the auth header

PDM_TLS_REJECT_UNAUTHORIZED

no

true

Set false to accept a self-signed cert

PDM_ALLOW_WRITES

no

false

Enables write operations on the PDM surface

PROXMOX_ALLOW_WRITES

no

false

Enables write operations on all surfaces

Each surface needs its host plus token id and secret; everything else has a working default. The auth header is assembled as <scheme>=<token_id><sep><secret>, e.g. PVEAPIToken=root@pam!mcp=SECRET.

Security & write safety

Proxmox credentials: create a dedicated API token (Datacenter > Permissions > API Tokens) and grant it the least privilege you can. For hard read-only, assign the token the built-in PVEAuditor role.

  • All write operations (POST/PUT/DELETE) are disabled by default. Set PROXMOX_ALLOW_WRITES=true (all surfaces) or PVE_ALLOW_WRITES=true / PDM_ALLOW_WRITES=true (per surface) to enable them.

  • Endpoints flagged destructive (delete, stop, reset, reboot, suspend, rollback, destroy, wipe, migrate) additionally require confirm: true on the individual call_endpoint call, even when writes are enabled.

  • Every call validates the operation id and required path parameters against the catalog before any request leaves your machine; requests go directly to your Proxmox host, nothing passes through third parties.

IMPORTANT

The write gate is a guardrail, not a security boundary. The env vars in your MCP config are real credentials, and an AI agent with shell access can bypass the MCP tools and call the Proxmox API directly with them. If you need hard read-only, enforce it at the source: scope the API token itself to read-only permissions (PVEAuditor role).

Tools

Instead of one tool per endpoint, the server exposes each surface through a catalog-backed list/describe/call triple built on mcp-core: list_endpoints discovers operations by category, resource, method, or search term; describe_endpoint returns the full parameter and response spec for one operation; call_endpoint validates the call against the catalog, enforces the write gate, and executes it. Six tools index all 993 endpoints.

pve_list_endpoints        Discover Proxmox VE endpoints by category, resource, method, or search
pve_describe_endpoint     Full param + response spec for one PVE endpoint
pve_call_endpoint         Validate, write-gate, and execute a PVE API call
pdm_list_endpoints        Discover Proxmox Datacenter Manager endpoints
pdm_describe_endpoint     Full param + response spec for one PDM endpoint
pdm_call_endpoint         Validate, write-gate, and execute a PDM API call

API coverage

993 operations covered: 675 Proxmox VE (PVE) + 318 Proxmox Datacenter Manager (PDM).

Surface

Category

Operations

PVE

Access & Auth

45

PVE

Cluster

259

PVE

Nodes & Guests

358

PVE

Pools

7

PVE

Storage

5

PVE

System

1

PDM

Access & Auth

28

PDM

Auto Install

14

PDM

Ceph

12

PDM

Configuration

43

PDM

Nodes & Guests

50

PDM

PBS Remotes

27

PDM

PVE Remotes

93

PDM

Ping

1

PDM

Remotes

19

PDM

Resources

6

PDM

Root

1

PDM

SDN

6

PDM

Subscriptions

17

PDM

System

1

Proxmox VE (675 operations)

Method

Path

Operation ID

GET

/access

get_access

GET

/access/acl

get_access_acl

PUT

/access/acl

put_access_acl

GET

/access/domains

get_access_domains

POST

/access/domains

post_access_domains

DELETE

/access/domains/{realm}

delete_access_domains_realm

GET

/access/domains/{realm}

get_access_domains_realm

PUT

/access/domains/{realm}

put_access_domains_realm

POST

/access/domains/{realm}/sync

post_access_domains_realm_sync

GET

/access/groups

get_access_groups

POST

/access/groups

post_access_groups

DELETE

/access/groups/{groupid}

delete_access_groups_groupid

GET

/access/groups/{groupid}

get_access_groups_groupid

PUT

/access/groups/{groupid}

put_access_groups_groupid

GET

/access/openid

get_access_openid

POST

/access/openid/auth-url

post_access_openid_auth_url

POST

/access/openid/login

post_access_openid_login

PUT

/access/password

put_access_password

GET

/access/permissions

get_access_permissions

GET

/access/roles

get_access_roles

POST

/access/roles

post_access_roles

DELETE

/access/roles/{roleid}

delete_access_roles_roleid

GET

/access/roles/{roleid}

get_access_roles_roleid

PUT

/access/roles/{roleid}

put_access_roles_roleid

GET

/access/tfa

get_access_tfa

GET

/access/tfa/{userid}

get_access_tfa_userid

POST

/access/tfa/{userid}

post_access_tfa_userid

DELETE

/access/tfa/{userid}/{id}

delete_access_tfa_userid_id

GET

/access/tfa/{userid}/{id}

get_access_tfa_userid_id

PUT

/access/tfa/{userid}/{id}

put_access_tfa_userid_id

GET

/access/ticket

get_access_ticket

POST

/access/ticket

post_access_ticket

GET

/access/users

get_access_users

POST

/access/users

post_access_users

DELETE

/access/users/{userid}

delete_access_users_userid

GET

/access/users/{userid}

get_access_users_userid

PUT

/access/users/{userid}

put_access_users_userid

GET

/access/users/{userid}/tfa

get_access_users_userid_tfa

GET

/access/users/{userid}/token

get_access_users_userid_token

DELETE

/access/users/{userid}/token/{tokenid}

delete_access_users_userid_token_tokenid

GET

/access/users/{userid}/token/{tokenid}

get_access_users_userid_token_tokenid

POST

/access/users/{userid}/token/{tokenid}

post_access_users_userid_token_tokenid

PUT

/access/users/{userid}/token/{tokenid}

put_access_users_userid_token_tokenid

PUT

/access/users/{userid}/unlock-tfa

put_access_users_userid_unlock_tfa

POST

/access/vncticket

post_access_vncticket

Method

Path

Operation ID

GET

/cluster

get_cluster

GET

/cluster/acme

get_cluster_acme

GET

/cluster/acme/account

get_cluster_acme_account

POST

/cluster/acme/account

post_cluster_acme_account

DELETE

/cluster/acme/account/{name}

delete_cluster_acme_account_name

GET

/cluster/acme/account/{name}

get_cluster_acme_account_name

PUT

/cluster/acme/account/{name}

put_cluster_acme_account_name

GET

/cluster/acme/challenge-schema

get_cluster_acme_challenge_schema

GET

/cluster/acme/directories

get_cluster_acme_directories

GET

/cluster/acme/meta

get_cluster_acme_meta

GET

/cluster/acme/plugins

get_cluster_acme_plugins

POST

/cluster/acme/plugins

post_cluster_acme_plugins

DELETE

/cluster/acme/plugins/{id}

delete_cluster_acme_plugins_id

GET

/cluster/acme/plugins/{id}

get_cluster_acme_plugins_id

PUT

/cluster/acme/plugins/{id}

put_cluster_acme_plugins_id

GET

/cluster/acme/tos

get_cluster_acme_tos

GET

/cluster/backup

get_cluster_backup

POST

/cluster/backup

post_cluster_backup

GET

/cluster/backup-info

get_cluster_backup_info

GET

/cluster/backup-info/not-backed-up

get_cluster_backup_info_not_backed_up

DELETE

/cluster/backup/{id}

delete_cluster_backup_id

GET

/cluster/backup/{id}

get_cluster_backup_id

PUT

/cluster/backup/{id}

put_cluster_backup_id

GET

/cluster/backup/{id}/included_volumes

get_cluster_backup_id_included_volumes

GET

/cluster/bulk-action

get_cluster_bulk_action

GET

/cluster/bulk-action/guest

get_cluster_bulk_action_guest

POST

/cluster/bulk-action/guest/migrate

post_cluster_bulk_action_guest_migrate

POST

/cluster/bulk-action/guest/shutdown

post_cluster_bulk_action_guest_shutdown

POST

/cluster/bulk-action/guest/start

post_cluster_bulk_action_guest_start

POST

/cluster/bulk-action/guest/suspend

post_cluster_bulk_action_guest_suspend

GET

/cluster/ceph

get_cluster_ceph

GET

/cluster/ceph/flags

get_cluster_ceph_flags

PUT

/cluster/ceph/flags

put_cluster_ceph_flags

GET

/cluster/ceph/flags/{flag}

get_cluster_ceph_flags_flag

PUT

/cluster/ceph/flags/{flag}

put_cluster_ceph_flags_flag

GET

/cluster/ceph/metadata

get_cluster_ceph_metadata

GET

/cluster/ceph/status

get_cluster_ceph_status

GET

/cluster/config

get_cluster_config

POST

/cluster/config

post_cluster_config

GET

/cluster/config/apiversion

get_cluster_config_apiversion

GET

/cluster/config/join

get_cluster_config_join

POST

/cluster/config/join

post_cluster_config_join

GET

/cluster/config/nodes

get_cluster_config_nodes

DELETE

/cluster/config/nodes/{node}

delete_cluster_config_nodes_node

POST

/cluster/config/nodes/{node}

post_cluster_config_nodes_node

GET

/cluster/config/qdevice

get_cluster_config_qdevice

GET

/cluster/config/totem

get_cluster_config_totem

GET

/cluster/firewall

get_cluster_firewall

GET

/cluster/firewall/aliases

get_cluster_firewall_aliases

POST

/cluster/firewall/aliases

post_cluster_firewall_aliases

DELETE

/cluster/firewall/aliases/{name}

delete_cluster_firewall_aliases_name

GET

/cluster/firewall/aliases/{name}

get_cluster_firewall_aliases_name

PUT

/cluster/firewall/aliases/{name}

put_cluster_firewall_aliases_name

GET

/cluster/firewall/groups

get_cluster_firewall_groups

POST

/cluster/firewall/groups

post_cluster_firewall_groups

DELETE

/cluster/firewall/groups/{group}

delete_cluster_firewall_groups_group

GET

/cluster/firewall/groups/{group}

get_cluster_firewall_groups_group

POST

/cluster/firewall/groups/{group}

post_cluster_firewall_groups_group

DELETE

/cluster/firewall/groups/{group}/{pos}

delete_cluster_firewall_groups_group_pos

GET

/cluster/firewall/groups/{group}/{pos}

get_cluster_firewall_groups_group_pos

PUT

/cluster/firewall/groups/{group}/{pos}

put_cluster_firewall_groups_group_pos

GET

/cluster/firewall/ipset

get_cluster_firewall_ipset

POST

/cluster/firewall/ipset

post_cluster_firewall_ipset

DELETE

/cluster/firewall/ipset/{name}

delete_cluster_firewall_ipset_name

GET

/cluster/firewall/ipset/{name}

get_cluster_firewall_ipset_name

POST

/cluster/firewall/ipset/{name}

post_cluster_firewall_ipset_name

DELETE

/cluster/firewall/ipset/{name}/{cidr}

delete_cluster_firewall_ipset_name_cidr

GET

/cluster/firewall/ipset/{name}/{cidr}

get_cluster_firewall_ipset_name_cidr

PUT

/cluster/firewall/ipset/{name}/{cidr}

put_cluster_firewall_ipset_name_cidr

GET

/cluster/firewall/macros

get_cluster_firewall_macros

GET

/cluster/firewall/options

get_cluster_firewall_options

PUT

/cluster/firewall/options

put_cluster_firewall_options

GET

/cluster/firewall/refs

get_cluster_firewall_refs

GET

/cluster/firewall/rules

get_cluster_firewall_rules

POST

/cluster/firewall/rules

post_cluster_firewall_rules

DELETE

/cluster/firewall/rules/{pos}

delete_cluster_firewall_rules_pos

GET

/cluster/firewall/rules/{pos}

get_cluster_firewall_rules_pos

PUT

/cluster/firewall/rules/{pos}

put_cluster_firewall_rules_pos

GET

/cluster/ha

get_cluster_ha

GET

/cluster/ha/groups

get_cluster_ha_groups

POST

/cluster/ha/groups

post_cluster_ha_groups

DELETE

/cluster/ha/groups/{group}

delete_cluster_ha_groups_group

GET

/cluster/ha/groups/{group}

get_cluster_ha_groups_group

PUT

/cluster/ha/groups/{group}

put_cluster_ha_groups_group

GET

/cluster/ha/resources

get_cluster_ha_resources

POST

/cluster/ha/resources

post_cluster_ha_resources

DELETE

/cluster/ha/resources/{sid}

delete_cluster_ha_resources_sid

GET

/cluster/ha/resources/{sid}

get_cluster_ha_resources_sid

PUT

/cluster/ha/resources/{sid}

put_cluster_ha_resources_sid

POST

/cluster/ha/resources/{sid}/migrate

post_cluster_ha_resources_sid_migrate

POST

/cluster/ha/resources/{sid}/relocate

post_cluster_ha_resources_sid_relocate

GET

/cluster/ha/rules

get_cluster_ha_rules

POST

/cluster/ha/rules

post_cluster_ha_rules

DELETE

/cluster/ha/rules/{rule}

delete_cluster_ha_rules_rule

GET

/cluster/ha/rules/{rule}

get_cluster_ha_rules_rule

PUT

/cluster/ha/rules/{rule}

put_cluster_ha_rules_rule

GET

/cluster/ha/status

get_cluster_ha_status

POST

/cluster/ha/status/arm-ha

post_cluster_ha_status_arm_ha

GET

/cluster/ha/status/current

get_cluster_ha_status_current

POST

/cluster/ha/status/disarm-ha

post_cluster_ha_status_disarm_ha

GET

/cluster/ha/status/manager_status

get_cluster_ha_status_manager_status

GET

/cluster/jobs

get_cluster_jobs

GET

/cluster/jobs/realm-sync

get_cluster_jobs_realm_sync

DELETE

/cluster/jobs/realm-sync/{id}

delete_cluster_jobs_realm_sync_id

GET

/cluster/jobs/realm-sync/{id}

get_cluster_jobs_realm_sync_id

POST

/cluster/jobs/realm-sync/{id}

post_cluster_jobs_realm_sync_id

PUT

/cluster/jobs/realm-sync/{id}

put_cluster_jobs_realm_sync_id

GET

/cluster/jobs/schedule-analyze

get_cluster_jobs_schedule_analyze

GET

/cluster/log

get_cluster_log

GET

/cluster/mapping

get_cluster_mapping

GET

/cluster/mapping/dir

get_cluster_mapping_dir

POST

/cluster/mapping/dir

post_cluster_mapping_dir

DELETE

/cluster/mapping/dir/{id}

delete_cluster_mapping_dir_id

GET

/cluster/mapping/dir/{id}

get_cluster_mapping_dir_id

PUT

/cluster/mapping/dir/{id}

put_cluster_mapping_dir_id

GET

/cluster/mapping/pci

get_cluster_mapping_pci

POST

/cluster/mapping/pci

post_cluster_mapping_pci

DELETE

/cluster/mapping/pci/{id}

delete_cluster_mapping_pci_id

GET

/cluster/mapping/pci/{id}

get_cluster_mapping_pci_id

PUT

/cluster/mapping/pci/{id}

put_cluster_mapping_pci_id

GET

/cluster/mapping/usb

get_cluster_mapping_usb

POST

/cluster/mapping/usb

post_cluster_mapping_usb

DELETE

/cluster/mapping/usb/{id}

delete_cluster_mapping_usb_id

GET

/cluster/mapping/usb/{id}

get_cluster_mapping_usb_id

PUT

/cluster/mapping/usb/{id}

put_cluster_mapping_usb_id

GET

/cluster/metrics

get_cluster_metrics

GET

/cluster/metrics/export

get_cluster_metrics_export

GET

/cluster/metrics/server

get_cluster_metrics_server

DELETE

/cluster/metrics/server/{id}

delete_cluster_metrics_server_id

GET

/cluster/metrics/server/{id}

get_cluster_metrics_server_id

POST

/cluster/metrics/server/{id}

post_cluster_metrics_server_id

PUT

/cluster/metrics/server/{id}

put_cluster_metrics_server_id

GET

/cluster/nextid

get_cluster_nextid

GET

/cluster/notifications

get_cluster_notifications

GET

/cluster/notifications/endpoints

get_cluster_notifications_endpoints

GET

/cluster/notifications/endpoints/gotify

get_cluster_notifications_endpoints_gotify

POST

/cluster/notifications/endpoints/gotify

post_cluster_notifications_endpoints_gotify

DELETE

/cluster/notifications/endpoints/gotify/{name}

delete_cluster_notifications_endpoints_gotify_name

GET

/cluster/notifications/endpoints/gotify/{name}

get_cluster_notifications_endpoints_gotify_name

PUT

/cluster/notifications/endpoints/gotify/{name}

put_cluster_notifications_endpoints_gotify_name

GET

/cluster/notifications/endpoints/sendmail

get_cluster_notifications_endpoints_sendmail

POST

/cluster/notifications/endpoints/sendmail

post_cluster_notifications_endpoints_sendmail

DELETE

/cluster/notifications/endpoints/sendmail/{name}

delete_cluster_notifications_endpoints_sendmail_name

GET

/cluster/notifications/endpoints/sendmail/{name}

get_cluster_notifications_endpoints_sendmail_name

PUT

/cluster/notifications/endpoints/sendmail/{name}

put_cluster_notifications_endpoints_sendmail_name

GET

/cluster/notifications/endpoints/smtp

get_cluster_notifications_endpoints_smtp

POST

/cluster/notifications/endpoints/smtp

post_cluster_notifications_endpoints_smtp

DELETE

/cluster/notifications/endpoints/smtp/{name}

delete_cluster_notifications_endpoints_smtp_name

GET

/cluster/notifications/endpoints/smtp/{name}

get_cluster_notifications_endpoints_smtp_name

PUT

/cluster/notifications/endpoints/smtp/{name}

put_cluster_notifications_endpoints_smtp_name

GET

/cluster/notifications/endpoints/webhook

get_cluster_notifications_endpoints_webhook

POST

/cluster/notifications/endpoints/webhook

post_cluster_notifications_endpoints_webhook

DELETE

/cluster/notifications/endpoints/webhook/{name}

delete_cluster_notifications_endpoints_webhook_name

GET

/cluster/notifications/endpoints/webhook/{name}

get_cluster_notifications_endpoints_webhook_name

PUT

/cluster/notifications/endpoints/webhook/{name}

put_cluster_notifications_endpoints_webhook_name

GET

/cluster/notifications/matcher-field-values

get_cluster_notifications_matcher_field_values

GET

/cluster/notifications/matcher-fields

get_cluster_notifications_matcher_fields

GET

/cluster/notifications/matchers

get_cluster_notifications_matchers

POST

/cluster/notifications/matchers

post_cluster_notifications_matchers

DELETE

/cluster/notifications/matchers/{name}

delete_cluster_notifications_matchers_name

GET

/cluster/notifications/matchers/{name}

get_cluster_notifications_matchers_name

PUT

/cluster/notifications/matchers/{name}

put_cluster_notifications_matchers_name

GET

/cluster/notifications/targets

get_cluster_notifications_targets

POST

/cluster/notifications/targets/{name}/test

post_cluster_notifications_targets_name_test

GET

/cluster/options

get_cluster_options

PUT

/cluster/options

put_cluster_options

GET

/cluster/qemu

get_cluster_qemu

GET

/cluster/qemu/cpu-flags

get_cluster_qemu_cpu_flags

GET

/cluster/qemu/custom-cpu-models

get_cluster_qemu_custom_cpu_models

POST

/cluster/qemu/custom-cpu-models

post_cluster_qemu_custom_cpu_models

DELETE

/cluster/qemu/custom-cpu-models/{cputype}

delete_cluster_qemu_custom_cpu_models_cputype

GET

/cluster/qemu/custom-cpu-models/{cputype}

get_cluster_qemu_custom_cpu_models_cputype

PUT

/cluster/qemu/custom-cpu-models/{cputype}

put_cluster_qemu_custom_cpu_models_cputype

GET

/cluster/replication

get_cluster_replication

POST

/cluster/replication

post_cluster_replication

DELETE

/cluster/replication/{id}

delete_cluster_replication_id

GET

/cluster/replication/{id}

get_cluster_replication_id

PUT

/cluster/replication/{id}

put_cluster_replication_id

GET

/cluster/resources

get_cluster_resources

GET

/cluster/sdn

get_cluster_sdn

PUT

/cluster/sdn

put_cluster_sdn

GET

/cluster/sdn/controllers

get_cluster_sdn_controllers

POST

/cluster/sdn/controllers

post_cluster_sdn_controllers

DELETE

/cluster/sdn/controllers/{controller}

delete_cluster_sdn_controllers_controller

GET

/cluster/sdn/controllers/{controller}

get_cluster_sdn_controllers_controller

PUT

/cluster/sdn/controllers/{controller}

put_cluster_sdn_controllers_controller

GET

/cluster/sdn/dns

get_cluster_sdn_dns

POST

/cluster/sdn/dns

post_cluster_sdn_dns

DELETE

/cluster/sdn/dns/{dns}

delete_cluster_sdn_dns_dns

GET

/cluster/sdn/dns/{dns}

get_cluster_sdn_dns_dns

PUT

/cluster/sdn/dns/{dns}

put_cluster_sdn_dns_dns

GET

/cluster/sdn/dry-run

get_cluster_sdn_dry_run

GET

/cluster/sdn/fabrics

get_cluster_sdn_fabrics

GET

/cluster/sdn/fabrics/all

get_cluster_sdn_fabrics_all

GET

/cluster/sdn/fabrics/fabric

get_cluster_sdn_fabrics_fabric

POST

/cluster/sdn/fabrics/fabric

post_cluster_sdn_fabrics_fabric

DELETE

/cluster/sdn/fabrics/fabric/{id}

delete_cluster_sdn_fabrics_fabric_id

GET

/cluster/sdn/fabrics/fabric/{id}

get_cluster_sdn_fabrics_fabric_id

PUT

/cluster/sdn/fabrics/fabric/{id}

put_cluster_sdn_fabrics_fabric_id

GET

/cluster/sdn/fabrics/node

get_cluster_sdn_fabrics_node

GET

/cluster/sdn/fabrics/node/{fabric_id}

get_cluster_sdn_fabrics_node_fabric_id

POST

/cluster/sdn/fabrics/node/{fabric_id}

post_cluster_sdn_fabrics_node_fabric_id

DELETE

/cluster/sdn/fabrics/node/{fabric_id}/{node_id}

delete_cluster_sdn_fabrics_node_fabric_id_node_id

GET

/cluster/sdn/fabrics/node/{fabric_id}/{node_id}

get_cluster_sdn_fabrics_node_fabric_id_node_id

PUT

/cluster/sdn/fabrics/node/{fabric_id}/{node_id}

put_cluster_sdn_fabrics_node_fabric_id_node_id

GET

/cluster/sdn/ipams

get_cluster_sdn_ipams

POST

/cluster/sdn/ipams

post_cluster_sdn_ipams

DELETE

/cluster/sdn/ipams/{ipam}

delete_cluster_sdn_ipams_ipam

GET

/cluster/sdn/ipams/{ipam}

get_cluster_sdn_ipams_ipam

PUT

/cluster/sdn/ipams/{ipam}

put_cluster_sdn_ipams_ipam

GET

/cluster/sdn/ipams/{ipam}/status

get_cluster_sdn_ipams_ipam_status

DELETE

/cluster/sdn/lock

delete_cluster_sdn_lock

POST

/cluster/sdn/lock

post_cluster_sdn_lock

GET

/cluster/sdn/prefix-lists

get_cluster_sdn_prefix_lists

POST

/cluster/sdn/prefix-lists

post_cluster_sdn_prefix_lists

DELETE

/cluster/sdn/prefix-lists/{id}

delete_cluster_sdn_prefix_lists_id

GET

/cluster/sdn/prefix-lists/{id}

get_cluster_sdn_prefix_lists_id

PUT

/cluster/sdn/prefix-lists/{id}

put_cluster_sdn_prefix_lists_id

GET

/cluster/sdn/prefix-lists/{id}/entries

get_cluster_sdn_prefix_lists_id_entries

POST

/cluster/sdn/prefix-lists/{id}/entries

post_cluster_sdn_prefix_lists_id_entries

DELETE

/cluster/sdn/prefix-lists/{id}/entries/{url_seq}

delete_cluster_sdn_prefix_lists_id_entries_url_seq

GET

/cluster/sdn/prefix-lists/{id}/entries/{url_seq}

get_cluster_sdn_prefix_lists_id_entries_url_seq

PUT

/cluster/sdn/prefix-lists/{id}/entries/{url_seq}

put_cluster_sdn_prefix_lists_id_entries_url_seq

POST

/cluster/sdn/rollback

post_cluster_sdn_rollback

GET

/cluster/sdn/route-maps

get_cluster_sdn_route_maps

GET

/cluster/sdn/route-maps/entries

get_cluster_sdn_route_maps_entries

POST

/cluster/sdn/route-maps/entries

post_cluster_sdn_route_maps_entries

GET

/cluster/sdn/route-maps/entries/{route-map-id}

get_cluster_sdn_route_maps_entries_route_map_id

DELETE

/cluster/sdn/route-maps/entries/{route-map-id}/entry/{order}

delete_cluster_sdn_route_maps_entries_route_map_id_entry_order

GET

/cluster/sdn/route-maps/entries/{route-map-id}/entry/{order}

get_cluster_sdn_route_maps_entries_route_map_id_entry_order

PUT

/cluster/sdn/route-maps/entries/{route-map-id}/entry/{order}

put_cluster_sdn_route_maps_entries_route_map_id_entry_order

GET

/cluster/sdn/vnets

get_cluster_sdn_vnets

POST

/cluster/sdn/vnets

post_cluster_sdn_vnets

DELETE

/cluster/sdn/vnets/{vnet}

delete_cluster_sdn_vnets_vnet

GET

/cluster/sdn/vnets/{vnet}

get_cluster_sdn_vnets_vnet

PUT

/cluster/sdn/vnets/{vnet}

put_cluster_sdn_vnets_vnet

GET

/cluster/sdn/vnets/{vnet}/firewall

get_cluster_sdn_vnets_vnet_firewall

GET

/cluster/sdn/vnets/{vnet}/firewall/options

get_cluster_sdn_vnets_vnet_firewall_options

PUT

/cluster/sdn/vnets/{vnet}/firewall/options

put_cluster_sdn_vnets_vnet_firewall_options

GET

/cluster/sdn/vnets/{vnet}/firewall/rules

get_cluster_sdn_vnets_vnet_firewall_rules

POST

/cluster/sdn/vnets/{vnet}/firewall/rules

post_cluster_sdn_vnets_vnet_firewall_rules

DELETE

/cluster/sdn/vnets/{vnet}/firewall/rules/{pos}

delete_cluster_sdn_vnets_vnet_firewall_rules_pos

GET

/cluster/sdn/vnets/{vnet}/firewall/rules/{pos}

get_cluster_sdn_vnets_vnet_firewall_rules_pos

PUT

/cluster/sdn/vnets/{vnet}/firewall/rules/{pos}

put_cluster_sdn_vnets_vnet_firewall_rules_pos

DELETE

/cluster/sdn/vnets/{vnet}/ips

delete_cluster_sdn_vnets_vnet_ips

POST

/cluster/sdn/vnets/{vnet}/ips

post_cluster_sdn_vnets_vnet_ips

PUT

/cluster/sdn/vnets/{vnet}/ips

put_cluster_sdn_vnets_vnet_ips

GET

/cluster/sdn/vnets/{vnet}/subnets

get_cluster_sdn_vnets_vnet_subnets

POST

/cluster/sdn/vnets/{vnet}/subnets

post_cluster_sdn_vnets_vnet_subnets

DELETE

/cluster/sdn/vnets/{vnet}/subnets/{subnet}

delete_cluster_sdn_vnets_vnet_subnets_subnet

GET

/cluster/sdn/vnets/{vnet}/subnets/{subnet}

get_cluster_sdn_vnets_vnet_subnets_subnet

PUT

/cluster/sdn/vnets/{vnet}/subnets/{subnet}

put_cluster_sdn_vnets_vnet_subnets_subnet

GET

/cluster/sdn/zones

get_cluster_sdn_zones

POST

/cluster/sdn/zones

post_cluster_sdn_zones

DELETE

/cluster/sdn/zones/{zone}

delete_cluster_sdn_zones_zone

GET

/cluster/sdn/zones/{zone}

get_cluster_sdn_zones_zone

PUT

/cluster/sdn/zones/{zone}

put_cluster_sdn_zones_zone

GET

/cluster/status

get_cluster_status

GET

/cluster/tasks

get_cluster_tasks

Method

Path

Operation ID

GET

/nodes

get_nodes

GET

/nodes/{node}

get_nodes_node

GET

/nodes/{node}/aplinfo

get_nodes_node_aplinfo

POST

/nodes/{node}/aplinfo

post_nodes_node_aplinfo

GET

/nodes/{node}/apt

get_nodes_node_apt

GET

/nodes/{node}/apt/changelog

get_nodes_node_apt_changelog

GET

/nodes/{node}/apt/repositories

get_nodes_node_apt_repositories

POST

/nodes/{node}/apt/repositories

post_nodes_node_apt_repositories

PUT

/nodes/{node}/apt/repositories

put_nodes_node_apt_repositories

GET

/nodes/{node}/apt/update

get_nodes_node_apt_update

POST

/nodes/{node}/apt/update

post_nodes_node_apt_update

GET

/nodes/{node}/apt/versions

get_nodes_node_apt_versions

GET

/nodes/{node}/capabilities

get_nodes_node_capabilities

GET

/nodes/{node}/capabilities/qemu

get_nodes_node_capabilities_qemu

GET

/nodes/{node}/capabilities/qemu/cpu

get_nodes_node_capabilities_qemu_cpu

GET

/nodes/{node}/capabilities/qemu/cpu-flags

get_nodes_node_capabilities_qemu_cpu_flags

GET

/nodes/{node}/capabilities/qemu/machines

get_nodes_node_capabilities_qemu_machines

GET

/nodes/{node}/capabilities/qemu/migration

get_nodes_node_capabilities_qemu_migration

GET

/nodes/{node}/ceph

get_nodes_node_ceph

GET

/nodes/{node}/ceph/cfg

get_nodes_node_ceph_cfg

GET

/nodes/{node}/ceph/cfg/db

get_nodes_node_ceph_cfg_db

GET

/nodes/{node}/ceph/cfg/raw

get_nodes_node_ceph_cfg_raw

GET

/nodes/{node}/ceph/cfg/value

get_nodes_node_ceph_cfg_value

GET

/nodes/{node}/ceph/cmd-safety

get_nodes_node_ceph_cmd_safety

GET

/nodes/{node}/ceph/crush

get_nodes_node_ceph_crush

GET

/nodes/{node}/ceph/fs

get_nodes_node_ceph_fs

DELETE

/nodes/{node}/ceph/fs/{name}

delete_nodes_node_ceph_fs_name

POST

/nodes/{node}/ceph/fs/{name}

post_nodes_node_ceph_fs_name

POST

/nodes/{node}/ceph/init

post_nodes_node_ceph_init

GET

/nodes/{node}/ceph/log

get_nodes_node_ceph_log

GET

/nodes/{node}/ceph/mds

get_nodes_node_ceph_mds

DELETE

/nodes/{node}/ceph/mds/{name}

delete_nodes_node_ceph_mds_name

POST

/nodes/{node}/ceph/mds/{name}

post_nodes_node_ceph_mds_name

GET

/nodes/{node}/ceph/mgr

get_nodes_node_ceph_mgr

DELETE

/nodes/{node}/ceph/mgr/{id}

delete_nodes_node_ceph_mgr_id

POST

/nodes/{node}/ceph/mgr/{id}

post_nodes_node_ceph_mgr_id

GET

/nodes/{node}/ceph/mon

get_nodes_node_ceph_mon

DELETE

/nodes/{node}/ceph/mon/{monid}

delete_nodes_node_ceph_mon_monid

POST

/nodes/{node}/ceph/mon/{monid}

post_nodes_node_ceph_mon_monid

GET

/nodes/{node}/ceph/osd

get_nodes_node_ceph_osd

POST

/nodes/{node}/ceph/osd

post_nodes_node_ceph_osd

DELETE

/nodes/{node}/ceph/osd/{osdid}

delete_nodes_node_ceph_osd_osdid

GET

/nodes/{node}/ceph/osd/{osdid}

get_nodes_node_ceph_osd_osdid

POST

/nodes/{node}/ceph/osd/{osdid}/in

post_nodes_node_ceph_osd_osdid_in

GET

/nodes/{node}/ceph/osd/{osdid}/lv-info

get_nodes_node_ceph_osd_osdid_lv_info

GET

/nodes/{node}/ceph/osd/{osdid}/metadata

get_nodes_node_ceph_osd_osdid_metadata

POST

/nodes/{node}/ceph/osd/{osdid}/out

post_nodes_node_ceph_osd_osdid_out

POST

/nodes/{node}/ceph/osd/{osdid}/scrub

post_nodes_node_ceph_osd_osdid_scrub

GET

/nodes/{node}/ceph/pool

get_nodes_node_ceph_pool

POST

/nodes/{node}/ceph/pool

post_nodes_node_ceph_pool

DELETE

/nodes/{node}/ceph/pool/{name}

delete_nodes_node_ceph_pool_name

GET

/nodes/{node}/ceph/pool/{name}

get_nodes_node_ceph_pool_name

PUT

/nodes/{node}/ceph/pool/{name}

put_nodes_node_ceph_pool_name

GET

/nodes/{node}/ceph/pool/{name}/status

get_nodes_node_ceph_pool_name_status

POST

/nodes/{node}/ceph/restart

post_nodes_node_ceph_restart

GET

/nodes/{node}/ceph/rules

get_nodes_node_ceph_rules

POST

/nodes/{node}/ceph/start

post_nodes_node_ceph_start

GET

/nodes/{node}/ceph/status

get_nodes_node_ceph_status

POST

/nodes/{node}/ceph/stop

post_nodes_node_ceph_stop

GET

/nodes/{node}/certificates

get_nodes_node_certificates

GET

/nodes/{node}/certificates/acme

get_nodes_node_certificates_acme

DELETE

/nodes/{node}/certificates/acme/certificate

delete_nodes_node_certificates_acme_certificate

POST

/nodes/{node}/certificates/acme/certificate

post_nodes_node_certificates_acme_certificate

PUT

/nodes/{node}/certificates/acme/certificate

put_nodes_node_certificates_acme_certificate

DELETE

/nodes/{node}/certificates/custom

delete_nodes_node_certificates_custom

POST

/nodes/{node}/certificates/custom

post_nodes_node_certificates_custom

GET

/nodes/{node}/certificates/info

get_nodes_node_certificates_info

GET

/nodes/{node}/config

get_nodes_node_config

PUT

/nodes/{node}/config

put_nodes_node_config

GET

/nodes/{node}/disks

get_nodes_node_disks

GET

/nodes/{node}/disks/directory

get_nodes_node_disks_directory

POST

/nodes/{node}/disks/directory

post_nodes_node_disks_directory

DELETE

/nodes/{node}/disks/directory/{name}

delete_nodes_node_disks_directory_name

POST

/nodes/{node}/disks/initgpt

post_nodes_node_disks_initgpt

GET

/nodes/{node}/disks/list

get_nodes_node_disks_list

GET

/nodes/{node}/disks/lvm

get_nodes_node_disks_lvm

POST

/nodes/{node}/disks/lvm

post_nodes_node_disks_lvm

DELETE

/nodes/{node}/disks/lvm/{name}

delete_nodes_node_disks_lvm_name

GET

/nodes/{node}/disks/lvmthin

get_nodes_node_disks_lvmthin

POST

/nodes/{node}/disks/lvmthin

post_nodes_node_disks_lvmthin

DELETE

/nodes/{node}/disks/lvmthin/{name}

delete_nodes_node_disks_lvmthin_name

GET

/nodes/{node}/disks/smart

get_nodes_node_disks_smart

PUT

/nodes/{node}/disks/wipedisk

put_nodes_node_disks_wipedisk

GET

/nodes/{node}/disks/zfs

get_nodes_node_disks_zfs

POST

/nodes/{node}/disks/zfs

post_nodes_node_disks_zfs

DELETE

/nodes/{node}/disks/zfs/{name}

delete_nodes_node_disks_zfs_name

GET

/nodes/{node}/disks/zfs/{name}

get_nodes_node_disks_zfs_name

GET

/nodes/{node}/dns

get_nodes_node_dns

PUT

/nodes/{node}/dns

put_nodes_node_dns

POST

/nodes/{node}/execute

post_nodes_node_execute

GET

/nodes/{node}/firewall

get_nodes_node_firewall

GET

/nodes/{node}/firewall/log

get_nodes_node_firewall_log

GET

/nodes/{node}/firewall/options

get_nodes_node_firewall_options

PUT

/nodes/{node}/firewall/options

put_nodes_node_firewall_options

GET

/nodes/{node}/firewall/rules

get_nodes_node_firewall_rules

POST

/nodes/{node}/firewall/rules

post_nodes_node_firewall_rules

DELETE

/nodes/{node}/firewall/rules/{pos}

delete_nodes_node_firewall_rules_pos

GET

/nodes/{node}/firewall/rules/{pos}

get_nodes_node_firewall_rules_pos

PUT

/nodes/{node}/firewall/rules/{pos}

put_nodes_node_firewall_rules_pos

GET

/nodes/{node}/hardware

get_nodes_node_hardware

GET

/nodes/{node}/hardware/pci

get_nodes_node_hardware_pci

GET

/nodes/{node}/hardware/pci/{pci-id-or-mapping}

get_nodes_node_hardware_pci_pci_id_or_mapping

GET

/nodes/{node}/hardware/pci/{pci-id-or-mapping}/mdev

get_nodes_node_hardware_pci_pci_id_or_mapping_mdev

GET

/nodes/{node}/hardware/usb

get_nodes_node_hardware_usb

GET

/nodes/{node}/hosts

get_nodes_node_hosts

POST

/nodes/{node}/hosts

post_nodes_node_hosts

GET

/nodes/{node}/journal

get_nodes_node_journal

GET

/nodes/{node}/lxc

get_nodes_node_lxc

POST

/nodes/{node}/lxc

post_nodes_node_lxc

DELETE

/nodes/{node}/lxc/{vmid}

delete_nodes_node_lxc_vmid

GET

/nodes/{node}/lxc/{vmid}

get_nodes_node_lxc_vmid

POST

/nodes/{node}/lxc/{vmid}/clone

post_nodes_node_lxc_vmid_clone

GET

/nodes/{node}/lxc/{vmid}/config

get_nodes_node_lxc_vmid_config

PUT

/nodes/{node}/lxc/{vmid}/config

put_nodes_node_lxc_vmid_config

GET

/nodes/{node}/lxc/{vmid}/feature

get_nodes_node_lxc_vmid_feature

GET

/nodes/{node}/lxc/{vmid}/firewall

get_nodes_node_lxc_vmid_firewall

GET

/nodes/{node}/lxc/{vmid}/firewall/aliases

get_nodes_node_lxc_vmid_firewall_aliases

POST

/nodes/{node}/lxc/{vmid}/firewall/aliases

post_nodes_node_lxc_vmid_firewall_aliases

DELETE

/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}

delete_nodes_node_lxc_vmid_firewall_aliases_name

GET

/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}

get_nodes_node_lxc_vmid_firewall_aliases_name

PUT

/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}

put_nodes_node_lxc_vmid_firewall_aliases_name

GET

/nodes/{node}/lxc/{vmid}/firewall/ipset

get_nodes_node_lxc_vmid_firewall_ipset

POST

/nodes/{node}/lxc/{vmid}/firewall/ipset

post_nodes_node_lxc_vmid_firewall_ipset

DELETE

/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}

delete_nodes_node_lxc_vmid_firewall_ipset_name

GET

/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}

get_nodes_node_lxc_vmid_firewall_ipset_name

POST

/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}

post_nodes_node_lxc_vmid_firewall_ipset_name

DELETE

/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}

delete_nodes_node_lxc_vmid_firewall_ipset_name_cidr

GET

/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}

get_nodes_node_lxc_vmid_firewall_ipset_name_cidr

PUT

/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}

put_nodes_node_lxc_vmid_firewall_ipset_name_cidr

GET

/nodes/{node}/lxc/{vmid}/firewall/log

get_nodes_node_lxc_vmid_firewall_log

GET

/nodes/{node}/lxc/{vmid}/firewall/options

get_nodes_node_lxc_vmid_firewall_options

PUT

/nodes/{node}/lxc/{vmid}/firewall/options

put_nodes_node_lxc_vmid_firewall_options

GET

/nodes/{node}/lxc/{vmid}/firewall/refs

get_nodes_node_lxc_vmid_firewall_refs

GET

/nodes/{node}/lxc/{vmid}/firewall/rules

get_nodes_node_lxc_vmid_firewall_rules

POST

/nodes/{node}/lxc/{vmid}/firewall/rules

post_nodes_node_lxc_vmid_firewall_rules

DELETE

/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}

delete_nodes_node_lxc_vmid_firewall_rules_pos

GET

/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}

get_nodes_node_lxc_vmid_firewall_rules_pos

PUT

/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}

put_nodes_node_lxc_vmid_firewall_rules_pos

GET

/nodes/{node}/lxc/{vmid}/interfaces

get_nodes_node_lxc_vmid_interfaces

GET

/nodes/{node}/lxc/{vmid}/migrate

get_nodes_node_lxc_vmid_migrate

POST

/nodes/{node}/lxc/{vmid}/migrate

post_nodes_node_lxc_vmid_migrate

POST

/nodes/{node}/lxc/{vmid}/move_volume

post_nodes_node_lxc_vmid_move_volume

POST

/nodes/{node}/lxc/{vmid}/mtunnel

post_nodes_node_lxc_vmid_mtunnel

GET

/nodes/{node}/lxc/{vmid}/mtunnelwebsocket

get_nodes_node_lxc_vmid_mtunnelwebsocket

GET

/nodes/{node}/lxc/{vmid}/pending

get_nodes_node_lxc_vmid_pending

POST

/nodes/{node}/lxc/{vmid}/remote_migrate

post_nodes_node_lxc_vmid_remote_migrate

PUT

/nodes/{node}/lxc/{vmid}/resize

put_nodes_node_lxc_vmid_resize

GET

/nodes/{node}/lxc/{vmid}/rrd

get_nodes_node_lxc_vmid_rrd

GET

/nodes/{node}/lxc/{vmid}/rrddata

get_nodes_node_lxc_vmid_rrddata

GET

/nodes/{node}/lxc/{vmid}/snapshot

get_nodes_node_lxc_vmid_snapshot

POST

/nodes/{node}/lxc/{vmid}/snapshot

post_nodes_node_lxc_vmid_snapshot

DELETE

/nodes/{node}/lxc/{vmid}/snapshot/{snapname}

delete_nodes_node_lxc_vmid_snapshot_snapname

GET

/nodes/{node}/lxc/{vmid}/snapshot/{snapname}

get_nodes_node_lxc_vmid_snapshot_snapname

GET

/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config

get_nodes_node_lxc_vmid_snapshot_snapname_config

PUT

/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config

put_nodes_node_lxc_vmid_snapshot_snapname_config

POST

/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback

post_nodes_node_lxc_vmid_snapshot_snapname_rollback

POST

/nodes/{node}/lxc/{vmid}/spiceproxy

post_nodes_node_lxc_vmid_spiceproxy

GET

/nodes/{node}/lxc/{vmid}/status

get_nodes_node_lxc_vmid_status

GET

/nodes/{node}/lxc/{vmid}/status/current

get_nodes_node_lxc_vmid_status_current

POST

/nodes/{node}/lxc/{vmid}/status/reboot

post_nodes_node_lxc_vmid_status_reboot

POST

/nodes/{node}/lxc/{vmid}/status/resume

post_nodes_node_lxc_vmid_status_resume

POST

/nodes/{node}/lxc/{vmid}/status/shutdown

post_nodes_node_lxc_vmid_status_shutdown

POST

/nodes/{node}/lxc/{vmid}/status/start

post_nodes_node_lxc_vmid_status_start

POST

/nodes/{node}/lxc/{vmid}/status/stop

post_nodes_node_lxc_vmid_status_stop

POST

/nodes/{node}/lxc/{vmid}/status/suspend

post_nodes_node_lxc_vmid_status_suspend

POST

/nodes/{node}/lxc/{vmid}/template

post_nodes_node_lxc_vmid_template

POST

/nodes/{node}/lxc/{vmid}/termproxy

post_nodes_node_lxc_vmid_termproxy

POST

/nodes/{node}/lxc/{vmid}/vncproxy

post_nodes_node_lxc_vmid_vncproxy

GET

/nodes/{node}/lxc/{vmid}/vncwebsocket

get_nodes_node_lxc_vmid_vncwebsocket

POST

/nodes/{node}/migrateall

post_nodes_node_migrateall

GET

/nodes/{node}/netstat

get_nodes_node_netstat

DELETE

/nodes/{node}/network

delete_nodes_node_network

GET

/nodes/{node}/network

get_nodes_node_network

POST

/nodes/{node}/network

post_nodes_node_network

PUT

/nodes/{node}/network

put_nodes_node_network

DELETE

/nodes/{node}/network/{iface}

delete_nodes_node_network_iface

GET

/nodes/{node}/network/{iface}

get_nodes_node_network_iface

PUT

/nodes/{node}/network/{iface}

put_nodes_node_network_iface

GET

/nodes/{node}/qemu

get_nodes_node_qemu

POST

/nodes/{node}/qemu

post_nodes_node_qemu

DELETE

/nodes/{node}/qemu/{vmid}

delete_nodes_node_qemu_vmid

GET

/nodes/{node}/qemu/{vmid}

get_nodes_node_qemu_vmid

GET

/nodes/{node}/qemu/{vmid}/agent

get_nodes_node_qemu_vmid_agent

POST

/nodes/{node}/qemu/{vmid}/agent

post_nodes_node_qemu_vmid_agent

POST

/nodes/{node}/qemu/{vmid}/agent/exec

post_nodes_node_qemu_vmid_agent_exec

GET

/nodes/{node}/qemu/{vmid}/agent/exec-status

get_nodes_node_qemu_vmid_agent_exec_status

GET

/nodes/{node}/qemu/{vmid}/agent/file-read

get_nodes_node_qemu_vmid_agent_file_read

POST

/nodes/{node}/qemu/{vmid}/agent/file-write

post_nodes_node_qemu_vmid_agent_file_write

POST

/nodes/{node}/qemu/{vmid}/agent/fsfreeze-freeze

post_nodes_node_qemu_vmid_agent_fsfreeze_freeze

POST

/nodes/{node}/qemu/{vmid}/agent/fsfreeze-status

post_nodes_node_qemu_vmid_agent_fsfreeze_status

POST

/nodes/{node}/qemu/{vmid}/agent/fsfreeze-thaw

post_nodes_node_qemu_vmid_agent_fsfreeze_thaw

POST

/nodes/{node}/qemu/{vmid}/agent/fstrim

post_nodes_node_qemu_vmid_agent_fstrim

GET

/nodes/{node}/qemu/{vmid}/agent/get-fsinfo

get_nodes_node_qemu_vmid_agent_get_fsinfo

GET

/nodes/{node}/qemu/{vmid}/agent/get-host-name

get_nodes_node_qemu_vmid_agent_get_host_name

GET

/nodes/{node}/qemu/{vmid}/agent/get-memory-block-info

get_nodes_node_qemu_vmid_agent_get_memory_block_info

GET

/nodes/{node}/qemu/{vmid}/agent/get-memory-blocks

get_nodes_node_qemu_vmid_agent_get_memory_blocks

GET

/nodes/{node}/qemu/{vmid}/agent/get-osinfo

get_nodes_node_qemu_vmid_agent_get_osinfo

GET

/nodes/{node}/qemu/{vmid}/agent/get-time

get_nodes_node_qemu_vmid_agent_get_time

GET

/nodes/{node}/qemu/{vmid}/agent/get-timezone

get_nodes_node_qemu_vmid_agent_get_timezone

GET

/nodes/{node}/qemu/{vmid}/agent/get-users

get_nodes_node_qemu_vmid_agent_get_users

GET

/nodes/{node}/qemu/{vmid}/agent/get-vcpus

get_nodes_node_qemu_vmid_agent_get_vcpus

GET

/nodes/{node}/qemu/{vmid}/agent/info

get_nodes_node_qemu_vmid_agent_info

GET

/nodes/{node}/qemu/{vmid}/agent/network-get-interfaces

get_nodes_node_qemu_vmid_agent_network_get_interfaces

POST

/nodes/{node}/qemu/{vmid}/agent/ping

post_nodes_node_qemu_vmid_agent_ping

POST

/nodes/{node}/qemu/{vmid}/agent/set-user-password

post_nodes_node_qemu_vmid_agent_set_user_password

POST

/nodes/{node}/qemu/{vmid}/agent/shutdown

post_nodes_node_qemu_vmid_agent_shutdown

POST

/nodes/{node}/qemu/{vmid}/agent/suspend-disk

post_nodes_node_qemu_vmid_agent_suspend_disk

POST

/nodes/{node}/qemu/{vmid}/agent/suspend-hybrid

post_nodes_node_qemu_vmid_agent_suspend_hybrid

POST

/nodes/{node}/qemu/{vmid}/agent/suspend-ram

post_nodes_node_qemu_vmid_agent_suspend_ram

POST

/nodes/{node}/qemu/{vmid}/clone

post_nodes_node_qemu_vmid_clone

GET

/nodes/{node}/qemu/{vmid}/cloudinit

get_nodes_node_qemu_vmid_cloudinit

PUT

/nodes/{node}/qemu/{vmid}/cloudinit

put_nodes_node_qemu_vmid_cloudinit

GET

/nodes/{node}/qemu/{vmid}/cloudinit/dump

get_nodes_node_qemu_vmid_cloudinit_dump

GET

/nodes/{node}/qemu/{vmid}/config

get_nodes_node_qemu_vmid_config

POST

/nodes/{node}/qemu/{vmid}/config

post_nodes_node_qemu_vmid_config

PUT

/nodes/{node}/qemu/{vmid}/config

put_nodes_node_qemu_vmid_config

POST

/nodes/{node}/qemu/{vmid}/dbus-vmstate

post_nodes_node_qemu_vmid_dbus_vmstate

GET

/nodes/{node}/qemu/{vmid}/feature

get_nodes_node_qemu_vmid_feature

GET

/nodes/{node}/qemu/{vmid}/firewall

get_nodes_node_qemu_vmid_firewall

GET

/nodes/{node}/qemu/{vmid}/firewall/aliases

get_nodes_node_qemu_vmid_firewall_aliases

POST

/nodes/{node}/qemu/{vmid}/firewall/aliases

post_nodes_node_qemu_vmid_firewall_aliases

DELETE

/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}

delete_nodes_node_qemu_vmid_firewall_aliases_name

GET

/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}

get_nodes_node_qemu_vmid_firewall_aliases_name

PUT

/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}

put_nodes_node_qemu_vmid_firewall_aliases_name

GET

/nodes/{node}/qemu/{vmid}/firewall/ipset

get_nodes_node_qemu_vmid_firewall_ipset

POST

/nodes/{node}/qemu/{vmid}/firewall/ipset

post_nodes_node_qemu_vmid_firewall_ipset

DELETE

/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}

delete_nodes_node_qemu_vmid_firewall_ipset_name

GET

/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}

get_nodes_node_qemu_vmid_firewall_ipset_name

POST

/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}

post_nodes_node_qemu_vmid_firewall_ipset_name

DELETE

/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}

delete_nodes_node_qemu_vmid_firewall_ipset_name_cidr

GET

/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}

get_nodes_node_qemu_vmid_firewall_ipset_name_cidr

PUT

/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}

put_nodes_node_qemu_vmid_firewall_ipset_name_cidr

GET

/nodes/{node}/qemu/{vmid}/firewall/log

get_nodes_node_qemu_vmid_firewall_log

GET

/nodes/{node}/qemu/{vmid}/firewall/options

get_nodes_node_qemu_vmid_firewall_options

PUT

/nodes/{node}/qemu/{vmid}/firewall/options

put_nodes_node_qemu_vmid_firewall_options

GET

/nodes/{node}/qemu/{vmid}/firewall/refs

get_nodes_node_qemu_vmid_firewall_refs

GET

/nodes/{node}/qemu/{vmid}/firewall/rules

get_nodes_node_qemu_vmid_firewall_rules

POST

/nodes/{node}/qemu/{vmid}/firewall/rules

post_nodes_node_qemu_vmid_firewall_rules

DELETE

/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}

delete_nodes_node_qemu_vmid_firewall_rules_pos

GET

/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}

get_nodes_node_qemu_vmid_firewall_rules_pos

PUT

/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}

put_nodes_node_qemu_vmid_firewall_rules_pos

GET

/nodes/{node}/qemu/{vmid}/migrate

get_nodes_node_qemu_vmid_migrate

POST

/nodes/{node}/qemu/{vmid}/migrate

post_nodes_node_qemu_vmid_migrate

POST

/nodes/{node}/qemu/{vmid}/monitor

post_nodes_node_qemu_vmid_monitor

POST

/nodes/{node}/qemu/{vmid}/move_disk

post_nodes_node_qemu_vmid_move_disk

POST

/nodes/{node}/qemu/{vmid}/mtunnel

post_nodes_node_qemu_vmid_mtunnel

GET

/nodes/{node}/qemu/{vmid}/mtunnelwebsocket

get_nodes_node_qemu_vmid_mtunnelwebsocket

GET

/nodes/{node}/qemu/{vmid}/pending

get_nodes_node_qemu_vmid_pending

POST

/nodes/{node}/qemu/{vmid}/remote_migrate

post_nodes_node_qemu_vmid_remote_migrate

PUT

/nodes/{node}/qemu/{vmid}/resize

put_nodes_node_qemu_vmid_resize

GET

/nodes/{node}/qemu/{vmid}/rrd

get_nodes_node_qemu_vmid_rrd

GET

/nodes/{node}/qemu/{vmid}/rrddata

get_nodes_node_qemu_vmid_rrddata

PUT

/nodes/{node}/qemu/{vmid}/sendkey

put_nodes_node_qemu_vmid_sendkey

GET

/nodes/{node}/qemu/{vmid}/snapshot

get_nodes_node_qemu_vmid_snapshot

POST

/nodes/{node}/qemu/{vmid}/snapshot

post_nodes_node_qemu_vmid_snapshot

DELETE

/nodes/{node}/qemu/{vmid}/snapshot/{snapname}

delete_nodes_node_qemu_vmid_snapshot_snapname

GET

/nodes/{node}/qemu/{vmid}/snapshot/{snapname}

get_nodes_node_qemu_vmid_snapshot_snapname

GET

/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config

get_nodes_node_qemu_vmid_snapshot_snapname_config

PUT

/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config

put_nodes_node_qemu_vmid_snapshot_snapname_config

POST

/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback

post_nodes_node_qemu_vmid_snapshot_snapname_rollback

POST

/nodes/{node}/qemu/{vmid}/spiceproxy

post_nodes_node_qemu_vmid_spiceproxy

GET

/nodes/{node}/qemu/{vmid}/status

get_nodes_node_qemu_vmid_status

GET

/nodes/{node}/qemu/{vmid}/status/current

get_nodes_node_qemu_vmid_status_current

POST

/nodes/{node}/qemu/{vmid}/status/reboot

post_nodes_node_qemu_vmid_status_reboot

POST

/nodes/{node}/qemu/{vmid}/status/reset

post_nodes_node_qemu_vmid_status_reset

POST

/nodes/{node}/qemu/{vmid}/status/resume

post_nodes_node_qemu_vmid_status_resume

POST

/nodes/{node}/qemu/{vmid}/status/shutdown

post_nodes_node_qemu_vmid_status_shutdown

POST

/nodes/{node}/qemu/{vmid}/status/start

post_nodes_node_qemu_vmid_status_start

POST

/nodes/{node}/qemu/{vmid}/status/stop

post_nodes_node_qemu_vmid_status_stop

POST

/nodes/{node}/qemu/{vmid}/status/suspend

post_nodes_node_qemu_vmid_status_suspend

POST

/nodes/{node}/qemu/{vmid}/template

post_nodes_node_qemu_vmid_template

POST

/nodes/{node}/qemu/{vmid}/termproxy

post_nodes_node_qemu_vmid_termproxy

PUT

/nodes/{node}/qemu/{vmid}/unlink

put_nodes_node_qemu_vmid_unlink

POST

/nodes/{node}/qemu/{vmid}/vncproxy

post_nodes_node_qemu_vmid_vncproxy

GET

/nodes/{node}/qemu/{vmid}/vncwebsocket

get_nodes_node_qemu_vmid_vncwebsocket

GET

/nodes/{node}/query-oci-repo-tags

get_nodes_node_query_oci_repo_tags

GET

/nodes/{node}/query-url-metadata

get_nodes_node_query_url_metadata

GET

/nodes/{node}/replication

get_nodes_node_replication

GET

/nodes/{node}/replication/{id}

get_nodes_node_replication_id

GET

/nodes/{node}/replication/{id}/log

get_nodes_node_replication_id_log

POST

/nodes/{node}/replication/{id}/schedule_now

post_nodes_node_replication_id_schedule_now

GET

/nodes/{node}/replication/{id}/status

get_nodes_node_replication_id_status

GET

/nodes/{node}/report

get_nodes_node_report

GET

/nodes/{node}/rrd

get_nodes_node_rrd

GET

/nodes/{node}/rrddata

get_nodes_node_rrddata

GET

/nodes/{node}/scan

get_nodes_node_scan

GET

/nodes/{node}/scan/cifs

get_nodes_node_scan_cifs

GET

/nodes/{node}/scan/iscsi

get_nodes_node_scan_iscsi

GET

/nodes/{node}/scan/lvm

get_nodes_node_scan_lvm

GET

/nodes/{node}/scan/lvmthin

get_nodes_node_scan_lvmthin

GET

/nodes/{node}/scan/nfs

get_nodes_node_scan_nfs

GET

/nodes/{node}/scan/pbs

get_nodes_node_scan_pbs

GET

/nodes/{node}/scan/zfs

get_nodes_node_scan_zfs

GET

/nodes/{node}/sdn

get_nodes_node_sdn

GET

/nodes/{node}/sdn/fabrics/{fabric}

get_nodes_node_sdn_fabrics_fabric

GET

/nodes/{node}/sdn/fabrics/{fabric}/interfaces

get_nodes_node_sdn_fabrics_fabric_interfaces

GET

/nodes/{node}/sdn/fabrics/{fabric}/neighbors

get_nodes_node_sdn_fabrics_fabric_neighbors

GET

/nodes/{node}/sdn/fabrics/{fabric}/routes

get_nodes_node_sdn_fabrics_fabric_routes

GET

/nodes/{node}/sdn/vnets/{vnet}

get_nodes_node_sdn_vnets_vnet

GET

/nodes/{node}/sdn/vnets/{vnet}/mac-vrf

get_nodes_node_sdn_vnets_vnet_mac_vrf

GET

/nodes/{node}/sdn/zones

get_nodes_node_sdn_zones

GET

/nodes/{node}/sdn/zones/{zone}

get_nodes_node_sdn_zones_zone

GET

/nodes/{node}/sdn/zones/{zone}/bridges

get_nodes_node_sdn_zones_zone_bridges

GET

/nodes/{node}/sdn/zones/{zone}/content

get_nodes_node_sdn_zones_zone_content

GET

/nodes/{node}/sdn/zones/{zone}/ip-vrf

get_nodes_node_sdn_zones_zone_ip_vrf

GET

/nodes/{node}/services

get_nodes_node_services

GET

/nodes/{node}/services/{service}

get_nodes_node_services_service

POST

/nodes/{node}/services/{service}/reload

post_nodes_node_services_service_reload

POST

/nodes/{node}/services/{service}/restart

post_nodes_node_services_service_restart

POST

/nodes/{node}/services/{service}/start

post_nodes_node_services_service_start

GET

/nodes/{node}/services/{service}/state

get_nodes_node_services_service_state

POST

/nodes/{node}/services/{service}/stop

post_nodes_node_services_service_stop

POST

/nodes/{node}/spiceshell

post_nodes_node_spiceshell

POST

/nodes/{node}/startall

post_nodes_node_startall

GET

/nodes/{node}/status

get_nodes_node_status

POST

/nodes/{node}/status

post_nodes_node_status

POST

/nodes/{node}/stopall

post_nodes_node_stopall

GET

/nodes/{node}/storage

get_nodes_node_storage

GET

/nodes/{node}/storage/{storage}

get_nodes_node_storage_storage

GET

/nodes/{node}/storage/{storage}/content

get_nodes_node_storage_storage_content

POST

/nodes/{node}/storage/{storage}/content

post_nodes_node_storage_storage_content

DELETE

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

delete_nodes_node_storage_storage_content_volume

GET

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

get_nodes_node_storage_storage_content_volume

POST

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

post_nodes_node_storage_storage_content_volume

PUT

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

put_nodes_node_storage_storage_content_volume

POST

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

post_nodes_node_storage_storage_download_url

GET

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

get_nodes_node_storage_storage_file_restore_download

GET

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

get_nodes_node_storage_storage_file_restore_list

GET

/nodes/{node}/storage/{storage}/identity

get_nodes_node_storage_storage_identity

GET

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

get_nodes_node_storage_storage_import_metadata

POST

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

post_nodes_node_storage_storage_oci_registry_pull

DELETE

/nodes/{node}/storage/{storage}/prunebackups

delete_nodes_node_storage_storage_prunebackups

GET

/nodes/{node}/storage/{storage}/prunebackups

get_nodes_node_storage_storage_prunebackups

GET

/nodes/{node}/storage/{storage}/rrd

get_nodes_node_storage_storage_rrd

GET

/nodes/{node}/storage/{storage}/rrddata

get_nodes_node_storage_storage_rrddata

GET

/nodes/{node}/storage/{storage}/status

get_nodes_node_storage_storage_status

POST

/nodes/{node}/storage/{storage}/upload

post_nodes_node_storage_storage_upload

DELETE

/nodes/{node}/subscription

delete_nodes_node_subscription

GET

/nodes/{node}/subscription

get_nodes_node_subscription

POST

/nodes/{node}/subscription

post_nodes_node_subscription

PUT

/nodes/{node}/subscription

put_nodes_node_subscription

POST

/nodes/{node}/suspendall

post_nodes_node_suspendall

GET

/nodes/{node}/syslog

get_nodes_node_syslog

GET

/nodes/{node}/tasks

get_nodes_node_tasks

DELETE

/nodes/{node}/tasks/{upid}

delete_nodes_node_tasks_upid

GET

/nodes/{node}/tasks/{upid}

get_nodes_node_tasks_upid

GET

/nodes/{node}/tasks/{upid}/log

get_nodes_node_tasks_upid_log

GET

/nodes/{node}/tasks/{upid}/status

get_nodes_node_tasks_upid_status

POST

/nodes/{node}/termproxy

post_nodes_node_termproxy

GET

/nodes/{node}/time

get_nodes_node_time

PUT

/nodes/{node}/time

put_nodes_node_time

GET

/nodes/{node}/version

get_nodes_node_version

POST

/nodes/{node}/vncshell

post_nodes_node_vncshell

GET

/nodes/{node}/vncwebsocket

get_nodes_node_vncwebsocket

POST

/nodes/{node}/vzdump

post_nodes_node_vzdump

GET

/nodes/{node}/vzdump/defaults

get_nodes_node_vzdump_defaults

GET

/nodes/{node}/vzdump/extractconfig

get_nodes_node_vzdump_extractconfig

POST

/nodes/{node}/wakeonlan

post_nodes_node_wakeonlan

Method

Path

Operation ID

DELETE

/pools

delete_pools

GET

/pools

get_pools

POST

/pools

post_pools

PUT

/pools

put_pools

DELETE

/pools/{poolid}

delete_pools_poolid

GET

/pools/{poolid}

get_pools_poolid

PUT

/pools/{poolid}

put_pools_poolid

Method

Path

Operation ID

GET

/storage

get_storage

POST

/storage

post_storage

DELETE

/storage/{storage}

delete_storage_storage

GET

/storage/{storage}

get_storage_storage

PUT

/storage/{storage}

put_storage_storage

Method

Path

Operation ID

GET

/version

get_version

Proxmox Datacenter Manager (318 operations)

Method

Path

Operation ID

GET

/access

get_access

GET

/access/acl

get_access_acl

PUT

/access/acl

put_access_acl

GET

/access/domains

get_access_domains

POST

/access/domains/{realm}/sync

post_access_domains_realm_sync

GET

/access/openid

get_access_openid

POST

/access/openid/auth-url

post_access_openid_auth_url

POST

/access/openid/login

post_access_openid_login

GET

/access/permissions

get_access_permissions

GET

/access/roles

get_access_roles

GET

/access/tfa

get_access_tfa

GET

/access/tfa/{userid}

get_access_tfa_userid

POST

/access/tfa/{userid}

post_access_tfa_userid

DELETE

/access/tfa/{userid}/{id}

delete_access_tfa_userid_id

GET

/access/tfa/{userid}/{id}

get_access_tfa_userid_id

PUT

/access/tfa/{userid}/{id}

put_access_tfa_userid_id

DELETE

/access/ticket

delete_access_ticket

POST

/access/ticket

post_access_ticket

GET

/access/users

get_access_users

POST

/access/users

post_access_users

DELETE

/access/users/{userid}

delete_access_users_userid

GET

/access/users/{userid}

get_access_users_userid

PUT

/access/users/{userid}

put_access_users_userid

GET

/access/users/{userid}/token

get_access_users_userid_token

DELETE

/access/users/{userid}/token/{token-name}

delete_access_users_userid_token_token_name

GET

/access/users/{userid}/token/{token-name}

get_access_users_userid_token_token_name

POST

/access/users/{userid}/token/{token-name}

post_access_users_userid_token_token_name

PUT

/access/users/{userid}/token/{token-name}

put_access_users_userid_token_token_name

Method

Path

Operation ID

GET

/auto-install

get_auto_install

POST

/auto-install/answer

post_auto_install_answer

GET

/auto-install/installations

get_auto_install_installations

DELETE

/auto-install/installations/{uuid}

delete_auto_install_installations_uuid

POST

/auto-install/installations/{uuid}/post-hook

post_auto_install_installations_uuid_post_hook

GET

/auto-install/prepared

get_auto_install_prepared

POST

/auto-install/prepared

post_auto_install_prepared

DELETE

/auto-install/prepared/{id}

delete_auto_install_prepared_id

GET

/auto-install/prepared/{id}

get_auto_install_prepared_id

PUT

/auto-install/prepared/{id}

put_auto_install_prepared_id

GET

/auto-install/tokens

get_auto_install_tokens

POST

/auto-install/tokens

post_auto_install_tokens

DELETE

/auto-install/tokens/{id}

delete_auto_install_tokens_id

PUT

/auto-install/tokens/{id}

put_auto_install_tokens_id

Method

Path

Operation ID

GET

/ceph

get_ceph

GET

/ceph/clusters

get_ceph_clusters

GET

/ceph/clusters/{cluster}

get_ceph_clusters_cluster

GET

/ceph/clusters/{cluster}/flags

get_ceph_clusters_cluster_flags

GET

/ceph/clusters/{cluster}/fs

get_ceph_clusters_cluster_fs

GET

/ceph/clusters/{cluster}/mds

get_ceph_clusters_cluster_mds

GET

/ceph/clusters/{cluster}/mgr

get_ceph_clusters_cluster_mgr

GET

/ceph/clusters/{cluster}/mon

get_ceph_clusters_cluster_mon

GET

/ceph/clusters/{cluster}/osd-tree

get_ceph_clusters_cluster_osd_tree

GET

/ceph/clusters/{cluster}/pools

get_ceph_clusters_cluster_pools

GET

/ceph/clusters/{cluster}/status

get_ceph_clusters_cluster_status

GET

/ceph/clusters/{cluster}/summary

get_ceph_clusters_cluster_summary

Method

Path

Operation ID

GET

/config

get_config

GET

/config/access

get_config_access

GET

/config/access/ad

get_config_access_ad

POST

/config/access/ad

post_config_access_ad

DELETE

/config/access/ad/{realm}

delete_config_access_ad_realm

GET

/config/access/ad/{realm}

get_config_access_ad_realm

PUT

/config/access/ad/{realm}

put_config_access_ad_realm

GET

/config/access/ldap

get_config_access_ldap

POST

/config/access/ldap

post_config_access_ldap

DELETE

/config/access/ldap/{realm}

delete_config_access_ldap_realm

GET

/config/access/ldap/{realm}

get_config_access_ldap_realm

PUT

/config/access/ldap/{realm}

put_config_access_ldap_realm

GET

/config/access/openid

get_config_access_openid

POST

/config/access/openid

post_config_access_openid

DELETE

/config/access/openid/{realm}

delete_config_access_openid_realm

GET

/config/access/openid/{realm}

get_config_access_openid_realm

PUT

/config/access/openid/{realm}

put_config_access_openid_realm

GET

/config/access/tfa

get_config_access_tfa

GET

/config/access/tfa/webauthn

get_config_access_tfa_webauthn

PUT

/config/access/tfa/webauthn

put_config_access_tfa_webauthn

GET

/config/acme

get_config_acme

GET

/config/acme/account

get_config_acme_account

POST

/config/acme/account

post_config_acme_account

DELETE

/config/acme/account/{name}

delete_config_acme_account_name

GET

/config/acme/account/{name}

get_config_acme_account_name

PUT

/config/acme/account/{name}

put_config_acme_account_name

GET

/config/acme/challenge-schema

get_config_acme_challenge_schema

GET

/config/acme/directories

get_config_acme_directories

GET

/config/acme/plugins

get_config_acme_plugins

POST

/config/acme/plugins

post_config_acme_plugins

DELETE

/config/acme/plugins/{id}

delete_config_acme_plugins_id

GET

/config/acme/plugins/{id}

get_config_acme_plugins_id

PUT

/config/acme/plugins/{id}

put_config_acme_plugins_id

GET

/config/acme/tos

get_config_acme_tos

GET

/config/certificate

get_config_certificate

PUT

/config/certificate

put_config_certificate

GET

/config/notes

get_config_notes

PUT

/config/notes

put_config_notes

GET

/config/views

get_config_views

POST

/config/views

post_config_views

DELETE

/config/views/{id}

delete_config_views_id

GET

/config/views/{id}

get_config_views_id

PUT

/config/views/{id}

put_config_views_id

Method

Path

Operation ID

GET

/nodes

get_nodes

GET

/nodes/{node}

get_nodes_node

GET

/nodes/{node}/apt

get_nodes_node_apt

GET

/nodes/{node}/apt/changelog

get_nodes_node_apt_changelog

GET

/nodes/{node}/apt/repositories

get_nodes_node_apt_repositories

POST

/nodes/{node}/apt/repositories

post_nodes_node_apt_repositories

PUT

/nodes/{node}/apt/repositories

put_nodes_node_apt_repositories

GET

/nodes/{node}/apt/update

get_nodes_node_apt_update

POST

/nodes/{node}/apt/update

post_nodes_node_apt_update

GET

/nodes/{node}/apt/versions

get_nodes_node_apt_versions

GET

/nodes/{node}/certificates

get_nodes_node_certificates

GET

/nodes/{node}/certificates/acme

get_nodes_node_certificates_acme

POST

/nodes/{node}/certificates/acme/certificate

post_nodes_node_certificates_acme_certificate

PUT

/nodes/{node}/certificates/acme/certificate

put_nodes_node_certificates_acme_certificate

DELETE

/nodes/{node}/certificates/custom

delete_nodes_node_certificates_custom

POST

/nodes/{node}/certificates/custom

post_nodes_node_certificates_custom

GET

/nodes/{node}/certificates/info

get_nodes_node_certificates_info

GET

/nodes/{node}/config

get_nodes_node_config

PUT

/nodes/{node}/config

put_nodes_node_config

GET

/nodes/{node}/dns

get_nodes_node_dns

PUT

/nodes/{node}/dns

put_nodes_node_dns

GET

/nodes/{node}/journal

get_nodes_node_journal

DELETE

/nodes/{node}/network

delete_nodes_node_network

GET

/nodes/{node}/network

get_nodes_node_network

POST

/nodes/{node}/network

post_nodes_node_network

PUT

/nodes/{node}/network

put_nodes_node_network

DELETE

/nodes/{node}/network/{iface}

delete_nodes_node_network_iface

GET

/nodes/{node}/network/{iface}

get_nodes_node_network_iface

PUT

/nodes/{node}/network/{iface}

put_nodes_node_network_iface

GET

/nodes/{node}/report

get_nodes_node_report

GET

/nodes/{node}/rrddata

get_nodes_node_rrddata

GET

/nodes/{node}/sdn

get_nodes_node_sdn

GET

/nodes/{node}/sdn/vnets/{vnet}

get_nodes_node_sdn_vnets_vnet

GET

/nodes/{node}/sdn/vnets/{vnet}/mac-vrf

get_nodes_node_sdn_vnets_vnet_mac_vrf

GET

/nodes/{node}/sdn/zones/{zone}

get_nodes_node_sdn_zones_zone

GET

/nodes/{node}/sdn/zones/{zone}/ip-vrf

get_nodes_node_sdn_zones_zone_ip_vrf

GET

/nodes/{node}/status

get_nodes_node_status

POST

/nodes/{node}/status

post_nodes_node_status

GET

/nodes/{node}/subscription

get_nodes_node_subscription

POST

/nodes/{node}/subscription

post_nodes_node_subscription

GET

/nodes/{node}/syslog

get_nodes_node_syslog

GET

/nodes/{node}/tasks

get_nodes_node_tasks

DELETE

/nodes/{node}/tasks/{upid}

delete_nodes_node_tasks_upid

GET

/nodes/{node}/tasks/{upid}

get_nodes_node_tasks_upid

GET

/nodes/{node}/tasks/{upid}/log

get_nodes_node_tasks_upid_log

GET

/nodes/{node}/tasks/{upid}/status

get_nodes_node_tasks_upid_status

POST

/nodes/{node}/termproxy

post_nodes_node_termproxy

GET

/nodes/{node}/time

get_nodes_node_time

PUT

/nodes/{node}/time

put_nodes_node_time

GET

/nodes/{node}/vncwebsocket

get_nodes_node_vncwebsocket

Method

Path

Operation ID

GET

/pbs

get_pbs

POST

/pbs/probe-tls

post_pbs_probe_tls

GET

/pbs/realms

get_pbs_realms

GET

/pbs/remotes

get_pbs_remotes

GET

/pbs/remotes/{remote}

get_pbs_remotes_remote

GET

/pbs/remotes/{remote}/datastore

get_pbs_remotes_remote_datastore

GET

/pbs/remotes/{remote}/datastore/{datastore}

get_pbs_remotes_remote_datastore_datastore

GET

/pbs/remotes/{remote}/datastore/{datastore}/namespaces

get_pbs_remotes_remote_datastore_datastore_namespaces

GET

/pbs/remotes/{remote}/datastore/{datastore}/rrddata

get_pbs_remotes_remote_datastore_datastore_rrddata

GET

/pbs/remotes/{remote}/datastore/{datastore}/snapshots

get_pbs_remotes_remote_datastore_datastore_snapshots

GET

/pbs/remotes/{remote}/nodes/{node}

get_pbs_remotes_remote_nodes_node

GET

/pbs/remotes/{remote}/nodes/{node}/apt

get_pbs_remotes_remote_nodes_node_apt

GET

/pbs/remotes/{remote}/nodes/{node}/apt/changelog

get_pbs_remotes_remote_nodes_node_apt_changelog

GET

/pbs/remotes/{remote}/nodes/{node}/apt/repositories

get_pbs_remotes_remote_nodes_node_apt_repositories

GET

/pbs/remotes/{remote}/nodes/{node}/apt/update

get_pbs_remotes_remote_nodes_node_apt_update

POST

/pbs/remotes/{remote}/nodes/{node}/apt/update

post_pbs_remotes_remote_nodes_node_apt_update

GET

/pbs/remotes/{remote}/nodes/{node}/subscription

get_pbs_remotes_remote_nodes_node_subscription

POST

/pbs/remotes/{remote}/nodes/{node}/termproxy

post_pbs_remotes_remote_nodes_node_termproxy

GET

/pbs/remotes/{remote}/nodes/{node}/vncwebsocket

get_pbs_remotes_remote_nodes_node_vncwebsocket

GET

/pbs/remotes/{remote}/rrddata

get_pbs_remotes_remote_rrddata

GET

/pbs/remotes/{remote}/status

get_pbs_remotes_remote_status

GET

/pbs/remotes/{remote}/tasks

get_pbs_remotes_remote_tasks

DELETE

/pbs/remotes/{remote}/tasks/{upid}

delete_pbs_remotes_remote_tasks_upid

GET

/pbs/remotes/{remote}/tasks/{upid}

get_pbs_remotes_remote_tasks_upid

GET

/pbs/remotes/{remote}/tasks/{upid}/log

get_pbs_remotes_remote_tasks_upid_log

GET

/pbs/remotes/{remote}/tasks/{upid}/status

get_pbs_remotes_remote_tasks_upid_status

POST

/pbs/scan

post_pbs_scan

Method

Path

Operation ID

GET

/pve

get_pve

GET

/pve/firewall

get_pve_firewall

GET

/pve/firewall/status

get_pve_firewall_status

POST

/pve/probe-tls

post_pve_probe_tls

GET

/pve/realms

get_pve_realms

GET

/pve/remotes

get_pve_remotes

GET

/pve/remotes/{remote}

get_pve_remotes_remote

GET

/pve/remotes/{remote}/cluster-nextid

get_pve_remotes_remote_cluster_nextid

GET

/pve/remotes/{remote}/cluster-status

get_pve_remotes_remote_cluster_status

GET

/pve/remotes/{remote}/firewall

get_pve_remotes_remote_firewall

GET

/pve/remotes/{remote}/firewall/options

get_pve_remotes_remote_firewall_options

PUT

/pve/remotes/{remote}/firewall/options

put_pve_remotes_remote_firewall_options

GET

/pve/remotes/{remote}/firewall/rules

get_pve_remotes_remote_firewall_rules

GET

/pve/remotes/{remote}/firewall/status

get_pve_remotes_remote_firewall_status

GET

/pve/remotes/{remote}/lxc

get_pve_remotes_remote_lxc

GET

/pve/remotes/{remote}/lxc/{vmid}

get_pve_remotes_remote_lxc_vmid

GET

/pve/remotes/{remote}/lxc/{vmid}/config

get_pve_remotes_remote_lxc_vmid_config

GET

/pve/remotes/{remote}/lxc/{vmid}/firewall

get_pve_remotes_remote_lxc_vmid_firewall

GET

/pve/remotes/{remote}/lxc/{vmid}/firewall/options

get_pve_remotes_remote_lxc_vmid_firewall_options

PUT

/pve/remotes/{remote}/lxc/{vmid}/firewall/options

put_pve_remotes_remote_lxc_vmid_firewall_options

GET

/pve/remotes/{remote}/lxc/{vmid}/firewall/rules

get_pve_remotes_remote_lxc_vmid_firewall_rules

POST

/pve/remotes/{remote}/lxc/{vmid}/migrate

post_pve_remotes_remote_lxc_vmid_migrate

GET

/pve/remotes/{remote}/lxc/{vmid}/pending

get_pve_remotes_remote_lxc_vmid_pending

POST

/pve/remotes/{remote}/lxc/{vmid}/remote-migrate

post_pve_remotes_remote_lxc_vmid_remote_migrate

GET

/pve/remotes/{remote}/lxc/{vmid}/rrddata

get_pve_remotes_remote_lxc_vmid_rrddata

POST

/pve/remotes/{remote}/lxc/{vmid}/shutdown

post_pve_remotes_remote_lxc_vmid_shutdown

GET

/pve/remotes/{remote}/lxc/{vmid}/snapshot

get_pve_remotes_remote_lxc_vmid_snapshot

POST

/pve/remotes/{remote}/lxc/{vmid}/snapshot

post_pve_remotes_remote_lxc_vmid_snapshot

DELETE

/pve/remotes/{remote}/lxc/{vmid}/snapshot/{snapname}

delete_pve_remotes_remote_lxc_vmid_snapshot_snapname

PUT

/pve/remotes/{remote}/lxc/{vmid}/snapshot/{snapname}/config

put_pve_remotes_remote_lxc_vmid_snapshot_snapname_config

POST

/pve/remotes/{remote}/lxc/{vmid}/snapshot/{snapname}/rollback

post_pve_remotes_remote_lxc_vmid_snapshot_snapname_rollback

POST

/pve/remotes/{remote}/lxc/{vmid}/start

post_pve_remotes_remote_lxc_vmid_start

GET

/pve/remotes/{remote}/lxc/{vmid}/status

get_pve_remotes_remote_lxc_vmid_status

POST

/pve/remotes/{remote}/lxc/{vmid}/stop

post_pve_remotes_remote_lxc_vmid_stop

GET

/pve/remotes/{remote}/nodes

get_pve_remotes_remote_nodes

GET

/pve/remotes/{remote}/nodes/{node}

get_pve_remotes_remote_nodes_node

GET

/pve/remotes/{remote}/nodes/{node}/apt

get_pve_remotes_remote_nodes_node_apt

GET

/pve/remotes/{remote}/nodes/{node}/apt/changelog

get_pve_remotes_remote_nodes_node_apt_changelog

GET

/pve/remotes/{remote}/nodes/{node}/apt/repositories

get_pve_remotes_remote_nodes_node_apt_repositories

GET

/pve/remotes/{remote}/nodes/{node}/apt/update

get_pve_remotes_remote_nodes_node_apt_update

POST

/pve/remotes/{remote}/nodes/{node}/apt/update

post_pve_remotes_remote_nodes_node_apt_update

GET

/pve/remotes/{remote}/nodes/{node}/config

get_pve_remotes_remote_nodes_node_config

GET

/pve/remotes/{remote}/nodes/{node}/firewall

get_pve_remotes_remote_nodes_node_firewall

GET

/pve/remotes/{remote}/nodes/{node}/firewall/options

get_pve_remotes_remote_nodes_node_firewall_options

PUT

/pve/remotes/{remote}/nodes/{node}/firewall/options

put_pve_remotes_remote_nodes_node_firewall_options

GET

/pve/remotes/{remote}/nodes/{node}/firewall/rules

get_pve_remotes_remote_nodes_node_firewall_rules

GET

/pve/remotes/{remote}/nodes/{node}/firewall/status

get_pve_remotes_remote_nodes_node_firewall_status

GET

/pve/remotes/{remote}/nodes/{node}/network

get_pve_remotes_remote_nodes_node_network

GET

/pve/remotes/{remote}/nodes/{node}/rrddata

get_pve_remotes_remote_nodes_node_rrddata

GET

/pve/remotes/{remote}/nodes/{node}/sdn

get_pve_remotes_remote_nodes_node_sdn

GET

/pve/remotes/{remote}/nodes/{node}/sdn/vnets/{vnet}

get_pve_remotes_remote_nodes_node_sdn_vnets_vnet

GET

/pve/remotes/{remote}/nodes/{node}/sdn/vnets/{vnet}/mac-vrf

get_pve_remotes_remote_nodes_node_sdn_vnets_vnet_mac_vrf

GET

/pve/remotes/{remote}/nodes/{node}/sdn/zones/{zone}

get_pve_remotes_remote_nodes_node_sdn_zones_zone

GET

/pve/remotes/{remote}/nodes/{node}/sdn/zones/{zone}/ip-vrf

get_pve_remotes_remote_nodes_node_sdn_zones_zone_ip_vrf

GET

/pve/remotes/{remote}/nodes/{node}/status

get_pve_remotes_remote_nodes_node_status

GET

/pve/remotes/{remote}/nodes/{node}/storage

get_pve_remotes_remote_nodes_node_storage

GET

/pve/remotes/{remote}/nodes/{node}/storage/{storage}

get_pve_remotes_remote_nodes_node_storage_storage

GET

/pve/remotes/{remote}/nodes/{node}/storage/{storage}/rrddata

get_pve_remotes_remote_nodes_node_storage_storage_rrddata

GET

/pve/remotes/{remote}/nodes/{node}/storage/{storage}/status

get_pve_remotes_remote_nodes_node_storage_storage_status

GET

/pve/remotes/{remote}/nodes/{node}/subscription

get_pve_remotes_remote_nodes_node_subscription

POST

/pve/remotes/{remote}/nodes/{node}/termproxy

post_pve_remotes_remote_nodes_node_termproxy

GET

/pve/remotes/{remote}/nodes/{node}/vncwebsocket

get_pve_remotes_remote_nodes_node_vncwebsocket

GET

/pve/remotes/{remote}/options

get_pve_remotes_remote_options

GET

/pve/remotes/{remote}/qemu

get_pve_remotes_remote_qemu

GET

/pve/remotes/{remote}/qemu/{vmid}

get_pve_remotes_remote_qemu_vmid

GET

/pve/remotes/{remote}/qemu/{vmid}/config

get_pve_remotes_remote_qemu_vmid_config

GET

/pve/remotes/{remote}/qemu/{vmid}/firewall

get_pve_remotes_remote_qemu_vmid_firewall

GET

/pve/remotes/{remote}/qemu/{vmid}/firewall/options

get_pve_remotes_remote_qemu_vmid_firewall_options

PUT

/pve/remotes/{remote}/qemu/{vmid}/firewall/options

put_pve_remotes_remote_qemu_vmid_firewall_options

GET

/pve/remotes/{remote}/qemu/{vmid}/firewall/rules

get_pve_remotes_remote_qemu_vmid_firewall_rules

GET

/pve/remotes/{remote}/qemu/{vmid}/migrate

get_pve_remotes_remote_qemu_vmid_migrate

POST

/pve/remotes/{remote}/qemu/{vmid}/migrate

post_pve_remotes_remote_qemu_vmid_migrate

GET

/pve/remotes/{remote}/qemu/{vmid}/pending

get_pve_remotes_remote_qemu_vmid_pending

POST

/pve/remotes/{remote}/qemu/{vmid}/remote-migrate

post_pve_remotes_remote_qemu_vmid_remote_migrate

POST

/pve/remotes/{remote}/qemu/{vmid}/resume

post_pve_remotes_remote_qemu_vmid_resume

GET

/pve/remotes/{remote}/qemu/{vmid}/rrddata

get_pve_remotes_remote_qemu_vmid_rrddata

POST

/pve/remotes/{remote}/qemu/{vmid}/shutdown

post_pve_remotes_remote_qemu_vmid_shutdown

GET

/pve/remotes/{remote}/qemu/{vmid}/snapshot

get_pve_remotes_remote_qemu_vmid_snapshot

POST

/pve/remotes/{remote}/qemu/{vmid}/snapshot

post_pve_remotes_remote_qemu_vmid_snapshot

DELETE

/pve/remotes/{remote}/qemu/{vmid}/snapshot/{snapname}

delete_pve_remotes_remote_qemu_vmid_snapshot_snapname

PUT

/pve/remotes/{remote}/qemu/{vmid}/snapshot/{snapname}/config

put_pve_remotes_remote_qemu_vmid_snapshot_snapname_config

POST

/pve/remotes/{remote}/qemu/{vmid}/snapshot/{snapname}/rollback

post_pve_remotes_remote_qemu_vmid_snapshot_snapname_rollback

POST

/pve/remotes/{remote}/qemu/{vmid}/start

post_pve_remotes_remote_qemu_vmid_start

GET

/pve/remotes/{remote}/qemu/{vmid}/status

get_pve_remotes_remote_qemu_vmid_status

POST

/pve/remotes/{remote}/qemu/{vmid}/stop

post_pve_remotes_remote_qemu_vmid_stop

GET

/pve/remotes/{remote}/resources

get_pve_remotes_remote_resources

GET

/pve/remotes/{remote}/tasks

get_pve_remotes_remote_tasks

DELETE

/pve/remotes/{remote}/tasks/{upid}

delete_pve_remotes_remote_tasks_upid

GET

/pve/remotes/{remote}/tasks/{upid}

get_pve_remotes_remote_tasks_upid

GET

/pve/remotes/{remote}/tasks/{upid}/log

get_pve_remotes_remote_tasks_upid_log

GET

/pve/remotes/{remote}/tasks/{upid}/status

get_pve_remotes_remote_tasks_upid_status

GET

/pve/remotes/{remote}/updates

get_pve_remotes_remote_updates

POST

/pve/scan

post_pve_scan

Method

Path

Operation ID

GET

/ping

get_ping

Method

Path

Operation ID

GET

/remotes

get_remotes

GET

/remotes/metric-collection/status

get_remotes_metric_collection_status

POST

/remotes/metric-collection/trigger

post_remotes_metric_collection_trigger

GET

/remotes/remote

get_remotes_remote

POST

/remotes/remote

post_remotes_remote

DELETE

/remotes/remote/{id}

delete_remotes_remote_id

GET

/remotes/remote/{id}

get_remotes_remote_id

PUT

/remotes/remote/{id}

put_remotes_remote_id

GET

/remotes/remote/{id}/config

get_remotes_remote_id_config

POST

/remotes/remote/{id}/probe-certificate

post_remotes_remote_id_probe_certificate

GET

/remotes/remote/{id}/rrddata

get_remotes_remote_id_rrddata

GET

/remotes/remote/{id}/version

get_remotes_remote_id_version

GET

/remotes/tasks

get_remotes_tasks

GET

/remotes/tasks/list

get_remotes_tasks_list

POST

/remotes/tasks/refresh

post_remotes_tasks_refresh

GET

/remotes/tasks/statistics

get_remotes_tasks_statistics

GET

/remotes/updates

get_remotes_updates

POST

/remotes/updates/refresh

post_remotes_updates_refresh

GET

/remotes/updates/summary

get_remotes_updates_summary

Method

Path

Operation ID

GET

/resources

get_resources

GET

/resources/list

get_resources_list

GET

/resources/location-info

get_resources_location_info

GET

/resources/status

get_resources_status

GET

/resources/subscription

get_resources_subscription

GET

/resources/top-entities

get_resources_top_entities

Method

Path

Operation ID

GET

/

get_

Method

Path

Operation ID

GET

/sdn

get_sdn

GET

/sdn/controllers

get_sdn_controllers

GET

/sdn/vnets

get_sdn_vnets

POST

/sdn/vnets

post_sdn_vnets

GET

/sdn/zones

get_sdn_zones

POST

/sdn/zones

post_sdn_zones

Method

Path

Operation ID

GET

/subscriptions

get_subscriptions

POST

/subscriptions/adopt-all

post_subscriptions_adopt_all

POST

/subscriptions/adopt-key

post_subscriptions_adopt_key

POST

/subscriptions/apply-pending

post_subscriptions_apply_pending

POST

/subscriptions/auto-assign

post_subscriptions_auto_assign

POST

/subscriptions/bulk-assign

post_subscriptions_bulk_assign

POST

/subscriptions/check

post_subscriptions_check

POST

/subscriptions/clear-pending

post_subscriptions_clear_pending

GET

/subscriptions/keys

get_subscriptions_keys

POST

/subscriptions/keys

post_subscriptions_keys

DELETE

/subscriptions/keys/{key}

delete_subscriptions_keys_key

GET

/subscriptions/keys/{key}

get_subscriptions_keys_key

DELETE

/subscriptions/keys/{key}/assignment

delete_subscriptions_keys_key_assignment

POST

/subscriptions/keys/{key}/assignment

post_subscriptions_keys_key_assignment

GET

/subscriptions/node-status

get_subscriptions_node_status

POST

/subscriptions/queue-clear

post_subscriptions_queue_clear

POST

/subscriptions/revert-pending-clear

post_subscriptions_revert_pending_clear

Method

Path

Operation ID

GET

/version

get_version

The catalog is generated deterministically from Proxmox's published API schema (apidoc.js): refresh it with npm run regen after downloading a new schema into _source/, then rebuild this section with node scripts/generate-api-coverage.mjs.

Contributing

Contributions and issues are welcome. Please open an issue first before submitting a PR.

License

AGPL-3.0: free for personal and open-source use. Organizations that cannot comply with the AGPL can purchase a commercial license, and hosted/managed versions are available. See COMMERCIAL.md or contact hello@nightsquawk.tech.

For copyright concerns or takedown requests, contact hello@nightsquawk.tech.

Available Tools

6 tools
pdm_call_endpointA

Call a Proxmox Datacenter Manager API endpoint and return its JSON response. Validates the operationId and required path params against the catalog, enforces the read-only write gate, then executes. Reads (GET) always run; writes (POST/PUT/DELETE) run only when enabled via PROXMOX_ALLOW_WRITES=true (all surfaces) or PDM_ALLOW_WRITES=true (this surface only). Use pdm_describe_endpoint first to learn the exact params.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the behavioral burden. It discloses the key traits well: read-only gate behavior, write enablement mechanism (with both env var surfaces), the confirmation requirement for destructive ops mentioned in schema, and the explicit validation steps. However, it does not describe the return format shape, error behavior on validation failure, or network/API error handling. The 'Valdestructive confirm required' caveat lives in the schema parameter description rather than being reinforced here.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact (three sentences) and front-loaded with the core purpose in the first sentence. It packs validation behavior, write-gate mechanics, both env var surfaces, and a usage pointer into efficient supporting sentences without padding or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a wrapper tool that delegates to a describe_endpoint companion, the description is fairly complete: it covers when reads/writes run, how writes are enabled, validation steps, and points to describe_endpoint for param details. With no output schema, it doesn't detail the mock JSON response shape, and given the complexity (nested params/path_params/confirm), slightly more coverage of response/error semantics would round it out.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry semantics for the parameters. It explains operation_id as 'The endpoint operationId to call' with an example ('get_nodes') and directs to describe_endpoint for details. It also clarifies params maps to query params for GET/DELETE vs JSON body for POST/PUT, and path_params for {placeholder} values. This adds meaningful meaning beyond the bare schema types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool does: 'Call a Proxmox Datacenter Manager API endpoint and return its JSON response.' It uses a specific verb (call) + resource (PDM API endpoint), and distinguishes it from the sibling pve_call_endpoint by naming the Proxmox Datacenter Manager (PDM) specifically. The validation and write-gate enforcement steps add useful process detail.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when this tool runs: 'Reads (GET) always run; writes (POST/PUT/DELETE) run only when enabled via PROXMOX_ALLOW_WRITES=true or PDM_ALLOW_WRITES=true.' It also instructs to 'Use pdm_describe_endpoint first to learn the exact params,' naming a specific sibling alternative. It lacks explicit 'when not to use' guidance relative to pve_call_endpoint, but the PDM vs PVE distinction is evident from the naming and the write-enabling alternatives are clearly enumerated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pdm_describe_endpointA

Get the full spec for one Proxmox Datacenter Manager endpoint: method, path, path params, query/body params (with types, formats, enums, constraints), the response schema, required permissions, and a request sample. Call before pdm_call_endpoint so you send exactly the right params.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the behavioral disclosure burden. It does describe what the tool returns (full endpoint spec, request sample) which adds value, but it doesn't disclose side effects (none expected for a describe operation), latency, or failure modes. There's no contradiction with annotations, and the description adds useful context about the return value, but doesn't go deeper into behavioral characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, information-dense sentence that lists all return components compactly then gives the usage directive. No wasted words, but it's somewhat long and could benefit from slight structural front-loading of the purpose. Still, it earns its length given the tool's role in preparing for PDMS calls.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (single parameter, no output schema but returns rich endpoint spec data), the description adequately explains the return contents and usage. It doesn't fully compensate for the absence of an output schema, but the enumeration of returned components (types, formats, enums, constraints, permissions, sample) gives a strong picture. Sibling tools exist for listing endpoints and calling them, which is referenced. A return format description isn't strictly needed here since the description tells you what's in the spec.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden for explaining the single parameter. The description mentions operationId usage and its format ('get_nodes' or 'post_nodes_node_qemu'), and references 'list_endpoints' as the source for valid values. It also explains what the operationId represents. With only one parameter and the description covering its semantics well, this is solid.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb+resource structure: 'Get the full spec for one Proxmox Datacenter Manager endpoint' with detailed enumeration of what the spec includes (method, path, path params, query/body params with types/formats/enums, response schema, permissions, request sample). It clearly distinguishes from siblings by naming pdm_call_endpoint as the after-step and referencing pdm_list_endpoints behavior.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use it: 'Call before pdm_call_endpoint so you send exactly the right params.' This provides clear usage context and pairs it with the follow-up action. It doesn't explicitly state when-not-to-use, but the 'call before pdm_call_endpoint' instruction effectively guides correct sequencing among the sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pdm_list_endpointsA

List Proxmox Datacenter Manager API endpoints (operationId, method, path, category, description, read/write, destructive). Filter by category, resource, method, reads/writes, or search. Use this to discover an endpoint, then pdm_describe_endpoint for its parameters and pdm_call_endpoint to execute it.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the disclosure burden. It does list what fields are returned and notes filtering behaviors, plus the limit default of 200 and advice to narrow for big surfaces. However, it doesn't describe pagination behavior, error cases, or whether the output might be truncated. Still, the core behavior (read-only discovery listing) is clearly implied by naming it a discovery tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with zero filler. Front-loads the primary purpose, enumerates returned fields and filter dimensions compactly, and closes with a terse usage chain. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a discovery/listing tool with useful guidance on filters and chaining to describe/call. No output schema exists, but the returned field set is enumerated in the description, partially compensating. Slight gap: it doesn't cover edge behaviors like empty results or combined filter semantics, but for a list tool scaffolded by sibling describe/call tools, it's substantially complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for parameter meaning. It names each filter dimension (category, resource, method, reads/writes, search) corresponding to the params, adding functional context like case-insensitive substring search and resource-as-first-path-segment. This adds meaningful value beyond the bare schema, though the description doesn't enumerate params verbatim.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses a specific verb ('List') plus resource ('Proxmox Datacenter Manager API endpoints') and details what's returned (operationId, method, path, category, description, read/write, destructive). It distinguishes from sibling tools by explicitly referring to pdm_describe_endpoint and pdm_call_endpoint as downstream steps, clearly separating it from pve_* counterparts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance: 'Use this to discover an endpoint, then pdm_describe_endpoint for its parameters and pdm_call_endpoint to execute it.' This chains the tool within a workflow and names alternatives. The filter options (category, resource, method, reads/writes, search) signal when narrowing is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pve_call_endpointA

Call a Proxmox VE API endpoint and return its JSON response. Validates the operationId and required path params against the catalog, enforces the read-only write gate, then executes. Reads (GET) always run; writes (POST/PUT/DELETE) run only when enabled via PROXMOX_ALLOW_WRITES=true (all surfaces) or PVE_ALLOW_WRITES=true (this surface only). Use pve_describe_endpoint first to learn the exact params.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does a strong job: explains validation of operationId and path params, the read-only write gate, the two env-var mechanisms for enabling writes, and the confirm requirement for destructive operations. This is rich behavioral context for a generic dispatching tool. It could mention what the response looks like or error behavior, but the write-gate and destructive confirm disclosure are substantial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a compact paragraph of ~60 words covering purpose, gating rules, and usage guidance. It's dense but not bloated; every clause earns its place. It could be structured slightly better with separators, but it front-loads the core purpose and adds crucial behavioral details efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a generic API-dispatch tool with 1 required parameter, nested object params, and no output schema, the description is substantially complete. It covers the validating behavior, write-gating across two env surfaces, destructive confirm flow, and directs to the describe tool for param specifics. The main gap is that it doesn't describe the shape of the JSON response or error-handling behavior, but for a low-param generic dispatcher paired with a describe tool, this is a strong, complete description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% in the structured fields provided, but the actual input schema itself has descriptive text for each parameter (operation_id, path_params, confirm, params). The description adds directional value by telling the agent to use describe_endpoint for exact params. For this tool the schema already annotates parameters reasonably; the description complements rather than repeats. Given nested object params for path_params and body fields, the pointer to describe_endpoint is genuinely helpful and raises this above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool does: 'Call a Proxmox VE API endpoint and return its JSON response.' It names the specific verb+resource (call a PVE API endpoint), mentions validation against a catalog, the read/write gate, then execution. It distinguishes from siblings by noting pve_ prefix (as opposed to pdm_) and referencing pve_describe_endpoint for param details, though it doesn't explicitly differentiate from pdm_call_endpoint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Excellent usage guidance. It explicitly states when reads run vs writes and how to enable writes (PROXMOX_ALLOW_WRITES=true vs PVE_ALLOW_WRITES=true). It explicitly directs the user to 'Use pve_describe_endpoint first to learn the exact params,' giving clear instruction on sequencing with a sibling tool. The confirm gate for destructive operations is also disclosed in the schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pve_describe_endpointA

Get the full spec for one Proxmox VE endpoint: method, path, path params, query/body params (with types, formats, enums, constraints), the response schema, required permissions, and a request sample. Call before pve_call_endpoint so you send exactly the right params.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It discloses what the tool returns (the full spec including response schema and permissions) and clearly frames it as a read/preparatory operation preceding pve_call_endpoint. The read-only nature is implied rather than stated explicitly, and rate limits or other constraints aren't mentioned, but the return content is well-specified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, information-dense sentence followed by a short directive. It front-loads the enumerated contents of the spec and ends with clear usage guidance. Slightly long but every clause earns its place; no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with a single documented parameter, a clear read-only purpose, absence of an output schema, and precise workflow positioning relative to pve_call_endpoint, the description covers what an agent needs. It doesn't explain the return format in detail, but given the tool's purpose is to reveal spec details, the description's enumeration of what's returned is adequate. No output schema exists, so the description partially serves that role.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and there is only one parameter, operation_id. The schema provides a description with an example value and a pointer to list_endpoints for discovery. The tool description adds no further param semantics beyond the schema. With a single well-documented param, this is roughly at baseline despite the 0% coverage metric.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the verb ('Get') and resource ('full spec for one Proxmox VE endpoint'), enumerating exactly what the spec contains (method, path, params, response schema, permissions, sample). It distinguishes from siblings by noting 'Call before pve_call_endpoint', positioning it as a companion to pve_call_endpoint and differentiating from pve_list_endpoints.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: 'Call before pve_call_endpoint so you send exactly the right params.' This gives clear context for invocation and implies the alternative (calling directly without the spec look-up). It effectively communicates the tool's role in the workflow relative to its sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pve_list_endpointsA

List Proxmox VE API endpoints (operationId, method, path, category, description, read/write, destructive). Filter by category, resource, method, reads/writes, or search. Use this to discover an endpoint, then pve_describe_endpoint for its parameters and pve_call_endpoint to execute it.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. The description reveals it's a read-only listing tool (read/write/destructive fields are listed output, not side effects), which is non-destructive by nature. However, it doesn't mention pagination behavior, output size limits beyond the limit param, or whether results are truncated. The description is adequate but lacks depth on behavior edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose and returned fields. The second sentence is valuable workflow guidance. Minor waste: the filter list partially duplicates the schema parameter names, but the field enumeration adds useful output context. Efficient overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list/discovery tool with no output schema, the description enumerates what will be returned (operationId, method, path, category, description, read/write, destructive), which is valuable. It explains the workflow pipeline and filter options. Lacks explicit statement about it being read-only/safe, but the nature of listing makes that reasonably inferable. The default limit of 200 and filtering guidance partially compensates for the large surface area.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% per context signals, yet all 7 parameters actually have descriptive schema text (filter behavior, defaults). The description adds the limit default (200) and advises narrowing with filters for big surfaces, plus guides users to call with no args to see all categories. This is a 0-param structure (params wraps an object), so the nested param object's individual descriptions carry meaning. The description adds marginal strategic guidance.on top of what schemas already say.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists Proxmox VE API endpoints and enumerates the returned fields (operationId, method, path, category, description, read/write, destructive). It distinguishes itself from siblings by referenceing pve_describe_endpoint and pve_call_endpoint as the next steps, positioning this as the discovery tool in a pipeline.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States explicit filters (category, resource, method, reads/writes, search) and gives clear when-to-use guidance: 'Use this to discover an endpoint, then pve_describe_endpoint for its parameters and pve_call_endpoint to execute it.' This positions the tool within its sibling workflow and differentiates it from pve_describe_endpoint and pve_call_endpoint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 6 tool updatesv0.1.0
    • First observedpdm_call_endpoint
    • First observedpdm_describe_endpoint
    • First observedpdm_list_endpoints
    • First observedpve_call_endpoint
    • First observedpve_describe_endpoint
    • First observedpve_list_endpoints

TDQS

A4.3/5.0
Disambiguation4/5

The two endpoint categories (PVE vs PDM) are cleanly separated by the pve_/pdm_ prefixes, and within each the list/describe/call trio has clearly distinct purposes. The only minor ambiguity is that the two list and two describe tools are functionally identical except for their target API, which could cause a misselection if an agent fails to notice the prefix.

Naming Consistency4/5

The naming follows a very consistent pattern: {api}_list_endpoints, {api}_describe_endpoint, {api}_call_endpoint for both PVE and PDM. The pattern is perfectly parallel across both surfaces, though the slightly verbose prefix scheme (pve_/pdm_) could arguably be more concise. This is a strong, predictable convention.

Tool Count5/5

Six tools is an ideal count for a server that proxies two large API surfaces. The two trios each cover the full discover→describe→call workflow for their respective API, making each tool earn its place without any redundancy or bloat.

Completeness5/5

The server's purpose is to proxy arbitrary Proxmox APIs, and it fully covers the necessary surface: discover endpoints, inspect a specific endpoint's spec, and execute the call. The read/write gate and permission metadata are handled by the underlying catalog rather than requiring additional tools. There are no dead-end operations since any Proxmox endpoint can be reached indirectly through this generic pattern.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    MCP server for managing Proxmox VE clusters — provision VMs and containers, manage snapshots and backups, execute commands, browse storage, and monitor resources through natural language
    34
    14
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server for Proxmox VE that enables read-only cluster inspection, VM/container lifecycle operations, snapshots, migration, and provisioning with safe confirmation gates.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/NightSquawk/proxmox-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server