📖 Main Documentation: See the main README for complete project overview and both PVE/PBS specifications.
This directory contains a complete OpenAPI 3.0.3 specification for the Proxmox Virtual Environment API, automatically generated from the official Proxmox API documentation.
- Total Endpoints: 398 unique API paths
- Total Operations: 605 HTTP operations (GET, POST, PUT, DELETE)
- OpenAPI Version: 3.0.3
- Generated From: Proxmox VE API Viewer documentation
- Available Formats: JSON and YAML
pve-api.json- 1.8MB comprehensive JSON specificationpve-api.yaml- 1.2MB comprehensive YAML specification
generate_openapi.py- Main OpenAPI specification generatorconvert_to_yaml.py- JSON to YAML converter- Various analysis and parsing scripts
- Direct API Fetching - Pull from PVE API Viewer instead of working from downloaded files
- Unified Parser Framework - Use standardized
generate_openapi.pyacross both APIs to reduce code duplication - Enhanced Validation - More comprehensive OpenAPI spec validation
- Client Libraries - Pre-generated clients in multiple languages
The specification covers all aspects of Proxmox VE management:
- Virtual Machine Management: Create, configure, and manage VMs
- Container Management: LXC container lifecycle management
- Storage Management: Configure and manage storage backends
- Network Configuration: Virtual networks and firewall rules
- Cluster Operations: Multi-node cluster management
- User Management: Authentication, authorization, and access control
- Backup & Restore: Data protection and recovery
- Monitoring: System status and performance metrics
| Category | Operations |
|---|---|
| Nodes | 394 |
| Cluster | 226 |
| Access Control | 58 |
| Resource Pools | 5 |
| Storage | 4 |
| Method | Count |
|---|---|
| GET | 338 |
| DELETE | 139 |
| POST | 163 |
| PUT | 47 |
The API supports multiple authentication methods:
- API Token Authentication:
PVEAPIToken=USER@REALM!TOKENID=UUID - Session Cookie: Obtained via
/access/ticketendpoint - CSRF Protection: Required for state-changing operations
# Use the JSON specification
curl -H "Content-Type: application/json" \
-d @pve-api.json \
https://editor.swagger.io# Use the YAML specification (more readable)
cat pve-api.yaml# Generate client code using OpenAPI Generator
openapi-generator-cli generate \
-i pve-api.yaml \
-g python \
-o ./proxmox-client| Format | Size | Readability | Usage |
|---|---|---|---|
| JSON | 1.8MB | Machine-friendly | API tools, code generation |
| YAML | 1.2MB | Human-friendly | Documentation, editing |
- Python 3.8+
- UV (recommended) or PyYAML for YAML conversion
cd scripts/pve
python3 generate_openapi.py
python3 convert_to_yaml.py
# Files will be generated as pve-api.json and pve-api.yamlThis specification is generated from official Proxmox VE documentation and follows the same licensing terms.
- Ensure compatibility with official Proxmox VE API
- Validate against MCP specification
- Test both JSON and YAML formats
- Update verification documentation
Generated: 2025-06-10
Proxmox Version: 8.0.0
Specification Status: ✅ Production Ready