Proxmox provides a complete REST API for automation, CI/CD, Terraform, and Ansible integration. Use API tokens for scripts.
TOKEN="automation@pve!mytoken=xxxxxxxx..."
HOST="https://192.168.1.100:8006/api2/json"
curl -s -k -H "Authorization: PVEAPIToken=$TOKEN" "$HOST/nodes/pve/qemu"
# Python
from proxmoxer import ProxmoxAPI
proxmox = ProxmoxAPI('192.168.1.100', user='automation@pve',
token_name='mytoken', token_value='xxxxx', verify_ssl=False)
for vm in proxmox.nodes('pve').qemu.get():
print(f"{vm['vmid']}: {vm['name']}")
API docs are available on your server at
https://YOUR-PVE:8006/pve-docs/api-viewer/ — interactive explorer with all endpoints.