Cloud Infrastructure API: Automate Your Deployment
Provision and manage servers, networks, and infrastructure resources programmatically with our RESTful API. Deploy VPS instances, configure networking, manage snapshots, and monitor resources through a single unified interface.
Our infrastructure API provides complete control over your cloud infrastructure services, enabling automation, CI/CD integration, and infrastructure-as-code workflows with OAuth 2.0 authentication.
Built for DevOps teams and developers who need programmatic infrastructure management. Real-time API with 99.9% uptime, rate limits designed for production workloads, and extensive documentation with working code examples.
TL;DR
Full infrastructure lifecycle automation via RESTful API with Terraform support.
What is Infrastructure Automation API?
A RESTful HTTP API that allows you to manage your entire cloud infrastructure through code. Create, modify, delete, and monitor servers, networks, storage, and other resources without using a web interface. All operations return JSON responses and support standard HTTP methods (GET, POST, PUT, DELETE).
Full programmatic control over infrastructure lifecycle
Integrate with CI/CD pipelines and deployment tools
Automate repetitive tasks and enable self-service portals
Infrastructure-as-code workflows via REST API
API Capabilities
Comprehensive infrastructure management through REST endpoints
Server Provisioning
Create, resize, reboot, and delete VPS instances. Deploy from templates or custom ISOs. Configure CPU, RAM, storage, and network settings. Full lifecycle management.
Network Management
Assign and manage IPv4/IPv6 addresses. Configure BGP sessions, firewall rules, and reverse DNS. Create private networks and VLANs. Real-time network statistics.
Storage Operations
Create and manage snapshots, backups, and volumes. Attach/detach block storage. Configure automated backup schedules. Clone and restore from snapshots.
Resource Monitoring
Real-time metrics for CPU, RAM, disk I/O, and network traffic. Historical data with granular sampling. Usage statistics and billing forecasts. Alert thresholds and notifications.
Key API Endpoints
Core operations for infrastructure automation
/serversCreate new server instance with specified configuration
/servers/{id}Retrieve detailed information about a specific server
/servers/{id}Update server configuration (resize, rename, settings)
/servers/{id}Permanently delete a server instance
/servers/{id}/rebootReboot a server (hard or soft reboot)
/servers/{id}/consoleGet VNC console access URL for server
/ipsList all IP addresses and their assignments
/ips/{ip}/reverse-dnsConfigure reverse DNS (PTR record) for an IP
/snapshotsCreate a snapshot of a server or volume
/billing/usageGet current billing cycle usage and forecasts
Authentication & Security
Enterprise-grade security with OAuth 2.0 and API keys
OAuth 2.0
Full OAuth 2.0 implementation with refresh tokens. Ideal for applications that need to act on behalf of users. Granular permission scopes (read-only, write, billing).
API Keys
Long-lived API keys for server-to-server communication. Create multiple keys with different permission levels. Rotate keys without service disruption.
IP Whitelisting
Restrict API access to specific IP ranges. Additional security layer for production environments. CIDR notation support for subnets.
HTTPS Only
All API traffic encrypted with TLS 1.3. Certificate pinning support. Perfect forward secrecy. HSTS enforced.
Code Examples
Real working examples to get started quickly
cURL (Create Server)
curl -X POST https://api.virtuasys.eu/v1/servers \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d {'
"name": "web-server-01",
"plan": "vps-4gb",
"region": "par1",
"os": "ubuntu-24.04",
"ssh_keys": ["ssh-rsa AAAAB3..."]
}''Python (List Servers)
import requests
api_key = "YOUR_API_KEY"
headers = {"Authorization": f"Bearer {api_key}"}'
response = requests.get(
"https://api.virtuasys.eu/v1/servers",
headers=headers
)
servers = response.json()
for server in servers['data']:
print(f"{server['name']}: {server['status']}'"))Node.js (Reboot Server)
const axios = require('axios');
const api = axios.create({
baseURL: 'https://api.virtuasys.eu/v1',
headers: { 'Authorization': `Bearer ${process.env.API_KEY}` }
});
async function rebootServer(serverId) {
const response = await api.post(`/servers/${serverId}/reboot`, {
type: 'soft'
});
return response.data;
}API Use Cases
Real-world automation scenarios
Auto-Scaling Infrastructure
Automatically provision additional servers when traffic increases and deprovision when demand decreases. Integrate with monitoring tools (Prometheus, Datadog) to trigger scaling based on metrics like CPU usage, request rate, or queue depth. Implement custom auto-scaling logic tailored to your application's needs without vendor lock-in.
CI/CD Pipeline Integration
Deploy ephemeral test environments for each pull request or branch. Provision staging servers automatically when code is pushed. Run integration tests on fresh instances with production-like configurations. Tear down environments after tests complete to minimize costs. Full lifecycle automation from commit to production.
Multi-Tenant SaaS Platforms
Provision isolated server instances for each customer automatically during onboarding. Create custom configurations based on customer tier (CPU, RAM, storage). Implement tenant-specific networking and security policies. Scale customer infrastructure independently based on usage patterns.
DevOps Automation
Infrastructure-as-code workflows via our REST API. Declarative infrastructure definitions in version control. Automated disaster recovery and backup procedures. Scheduled maintenance tasks (snapshot creation, log rotation). Self-service portals for development teams.
Rate Limits & Best Practices
API Rate Limits
1,000 requests per hour per API key
100 requests per minute burst capacity
X-RateLimit-* headers in all responses
Higher limits available for enterprise accounts
Best Practices
Implement exponential backoff for retries on 429 responses
Cache responses when possible to reduce API calls
Use webhooks for event-driven updates instead of polling
Batch operations when creating multiple resources
Monitor rate limit headers to avoid throttling
Use API versioning (/v1/) to ensure compatibility
Webhooks & Events
Real-time notifications for infrastructure events
Configure webhook endpoints to receive HTTP POST notifications when events occur. No polling required—get instant updates for server state changes, billing events, or maintenance notifications.
server.created - New server provisionedserver.deleted - Server removedserver.rebooted - Server rebootedsnapshot.completed - Snapshot finishedbilling.threshold - Usage threshold reachedmaintenance.scheduled - Planned maintenance notificationFrequently Asked Questions
Common questions about our API and automation capabilities
Start Automating Your Infrastructure
Get API credentials and start building automated workflows in minutes. Full documentation and sandbox environment included.