{"url":"https://nexovirt.com/features/rest-api","title":"Proxmox REST API: a single token and envelope · NexoVirt","description":"One bearer token and one JSON envelope for hosts, nodes, guests and users. Create a Proxmox guest from a plan in one call, then poll the job until it is ready.","markdown_url":"https://nexovirt.com/features/rest-api.md","sections":[{"heading":"A simpler REST API for Proxmox","content":"NexoVirt adds a simpler REST API on top of Proxmox that covers hosts, nodes, the full guest lifecycle and users with one bearer token and one response format. You create a guest from a plan in a single call and poll the job until it is ready.\n\n[Install free](https://docs.nexovirt.com/getting-started/installation/) [Read the Clean REST API guide](https://docs.nexovirt.com/api/)\n\n![Clean REST API in the NexoVirt panel](https://nexovirt.com/assets/img/screenshots/api-docs-light.webp?v=1792068738)"},{"heading":"What it does","content":"One bearer token, one response envelope, the full guest lifecycle.\n\n- ### Tokens with limits\n\nCreate tokens in Settings, with an optional IP allow-list, rate limit and scope to specific hosts.\n- ### One envelope\n\nEvery response is {success, data, error}, and lists are paginated the same way.\n- ### The whole lifecycle\n\nCreate, power, reinstall, change the IP and delete guests, read hosts, nodes and usage, manage users and ownership.\n- ### Discovery endpoints\n\nPlans, OS templates, CT templates, IP zones and the next free VMID, so a script finds every ID it needs.\n- ### Event webhooks\n\nThe Pro plan and up send signed, retried webhooks on lifecycle events to any system."},{"heading":"Why not just use the Proxmox web UI?","content":"Proxmox VE runs the virtualization. NexoVirt adds the layer around it. Clean REST API, task by task:\n\n| Task | Proxmox web UI | NexoVirt |\n|---|---|---|\n| Authentication | Ticket plus CSRF token, or an API token per host | One bearer token, optional IP allow-list and host scope |\n| Response format | Differs per endpoint | {success, data, error} everywhere |\n| Create a VM from a plan | Several calls: clone, configure, resize, start | One POST, then poll the job |"},{"heading":"How to use it","content":"Up and running in 3 steps, all in the panel.\n\n1. Create an API token in Settings, API tokens.\n2. Read the in-panel docs for endpoints and examples.\n3. Call it from your billing system, scripts or the Terraform provider.\n\n[Clean REST API: step-by-step guide in the docs](https://docs.nexovirt.com/api/)"},{"heading":"Clean REST API FAQ","content":"How is the NexoVirt API different from the Proxmox API?The Proxmox API mirrors every node and setting one to one. NexoVirt's API is task-shaped: one call creates a ready guest from a plan, one token covers all hosts, and every response has the same envelope."},{"heading":"Related pages","content":"- [ REST API reference Every endpoint with examples. ](https://docs.nexovirt.com/api/)\n- [ Provisioning & automation Async create, reinstall, delete and power, with a live progress page. ](https://nexovirt.com/features/provisioning)\n- [ Guest management Every VM and container across all hosts in one searchable list with bulk actions. ](https://nexovirt.com/features/guests)\n- [ Users, access & security Admins and customers, guest ownership, TOTP 2FA, impersonation and an audit log. ](https://nexovirt.com/features/security)\n- [ All features Everything NexoVirt adds to Proxmox VE. ](https://nexovirt.com/features)"},{"heading":"Start running NexoVirt today","content":"Free for homelabs with unlimited VMs on up to 2 nodes. Running a hosting business? Upgrade in place when you grow, no migration.\n\n[Install free](https://docs.nexovirt.com/getting-started/installation/) [See pricing](https://nexovirt.com/pricing)"}],"faq":[{"question":"How is the NexoVirt API different from the Proxmox API?","answer":"The Proxmox API mirrors every node and setting one to one. NexoVirt's API is task-shaped: one call creates a ready guest from a plan, one token covers all hosts, and every response has the same envelope."}]}