REST API
VPS with API access.
Manage servers from your code.
Everything you can do in the dashboard, you can do from code: servers, storage, IPs, firewalls, backups, billing and support tickets. It's plain REST and JSON, and you sign requests with a single header.
- Free API access
- Read-only keys by default
- Lock a key to one IP
# Deploy: 2 vCPU, 4 GB RAM, 40 GB SSD, Ubuntu 24.04, Frankfurt
curl -X POST https://iotamine.com/api/vps/ \
-H "Authorization: Api-Key $IOTAMINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"hostname": "web-01",
"password": "use-a-long-random-password",
"pop": 2,
"operating_system": 3,
"cores": 2, "ram": 4, "disk": 40,
"ssh_key": 7,
"disable_pwd_auth": true
}'
# Check status
curl https://iotamine.com/api/vps/413/ \
-H "Authorization: Api-Key $IOTAMINE_API_KEY"
# Destroy it, releasing its IP instead of keeping it
curl -X DELETE https://iotamine.com/api/vps/413/ \
-H "Authorization: Api-Key $IOTAMINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"release_ip_ids": [88]}'At a glance
- Base URL
- https://iotamine.com/api/
- Style
- REST over HTTPS, JSON request and response bodies, standard HTTP status codes.
- Authentication
- One header: Authorization: Api-Key YOUR_API_KEY. Create keys in the dashboard under API Keys.
- Key scopes
- Read-only by default (GET only). Switch a key to Read & write to allow changes.
- IP lock
- Optionally bind a key to one source IP; requests from anywhere else are rejected.
- Coverage
- VPS lifecycle and power, console, metrics, backups, disks, IPs, reverse DNS, firewall, standalone volumes and IPs, SSH keys, regions and OS images, quota, invoices, usage billing, transactions, activity log, support tickets, maintenance notices.
- Long-running work
- Builds expose a pollable build log; volume operations return a task id you can poll.
- Regions
- New Delhi, India and Frankfurt, Germany. KVM virtual machines.
- Billing
- Hourly per resource; an invoice at month end combines all usage. API access is free.
- AI agents
- A hosted MCP server at https://mcp.iotamine.com/mcp exposes the same actions to Claude, Cursor and VS Code.
Quickstart
From sign-up to SSH in four steps
- 1
Sign up and create an API key under API Keys. Set it to Read & write to deploy.
- 2
Send
POST /api/vps/with a hostname, region, OS and size. - 3
Poll
GET /api/vps/{id}/untilmachine_statusisRunning. - 4
SSH in. Billing runs hourly until you
DELETEit.
Region and OS ids come from GET /api/pop/ and GET /api/os/; SSH key ids from GET /api/sshkey/.
Coverage
What the API covers
Compute
VPS
Full lifecycle for your virtual machines — deploy, resize, power control, console access, backups, and the disks/IPs bundled onto one.
19 documented endpoints →
Compute
SSH Keys
Public keys saved to your account, reusable across any VPS you deploy.
3 documented endpoints →
Compute
Firewall Rules
Per-VPS firewall rules, nested under the VPS resource.
2 documented endpoints →
Networking
IP Addresses
Standalone IPv4 addresses — purchased independently of any VM, attached or detached whenever you need to.
7 documented endpoints →
Storage
Volumes
Standalone block storage — including boot volumes. Create one, install an OS on it, set it as a VM's boot disk, or move it to a different VM entirely.
12 documented endpoints →
Reference data
Regions & Operating Systems
Read-only catalogs — the region and OS ids every create/deploy request above needs, plus any maintenance affecting your own infrastructure.
3 documented endpoints →
Account
Account, Billing & Activity
Your plan tier and quota, profile, invoices, transactions, usage cost breakdown, and account activity log.
10 documented endpoints →
Support
Support Tickets
Open and reply to support tickets — the same conversation the dashboard shows, reachable from your own code too.
6 documented endpoints →
Highlights
Features that help with automation
Boot from a volume you already own
Deploy a new VM straight onto an existing volume, keeping its OS and data, instead of a fresh disk.
"existing_boot_volume": 31Keep your IP across rebuilds
Pass an IP you already own at deploy time, or move it between VMs later.
POST /api/ip-addresses/{id}/attach/Destroy without losing data
Deleting a VM keeps its owned disks and IPs by default. List the ones you want released.
"release_disk_ids": [31]Resize in place
Change vCPU and RAM with a PATCH. Grow volumes independently of the VM.
PATCH /api/vps/{id}/ {"cores": 8}Cost and usage data
Usage billing overview and per-resource line items, so you can reconcile spend in your own tools.
GET /api/usage-billing/line-items/Firewall, DNS and tickets
Firewall rules, reverse DNS, backups, maintenance notices and support tickets are all API calls too.
POST /api/tickets/Use cases
What teams build on it
Preview environments in CI
Spin up a VM per pull request, run tests against it, destroy it when the branch merges. Hourly billing keeps short-lived servers cheap.
Scheduled scaling
Resize a server up before a known traffic peak and back down after, from a cron job.
Internal platforms
Give your team a "create server" button in your own tool, backed by a Read & write key locked to your server's IP.
Monitoring and cost dashboards
Pull live stats, metrics history and usage line items into Grafana, a spreadsheet or your own reports with a Read-only key.
AI agents
Let an assistant manage infrastructure through the hosted MCP server, which calls this same API on your behalf.
For AI agents
Same API, as an MCP server
If you want Claude, Cursor or VS Code to call this API for you, we run a hosted MCP server. It wraps every endpoint here as a tool, uses OAuth sign-in, and asks you to confirm before anything costs money.
https://mcp.iotamine.com/mcpVPS with MCP access
Choosing a provider
What to check in a VPS API
| Question to ask | Why it matters | Iotamine |
|---|---|---|
| Can you create read-only keys? | Dashboards and monitoring scripts should never be able to change anything. | Yes, every key starts read-only |
| Can a key be locked to one IP? | A leaked key is useless from anywhere else. | Yes, optional per key |
| Does the API cover billing and support? | Automation breaks down if half the account is dashboard-only. | Yes: invoices, usage, transactions, tickets |
| Do storage and IPs outlive a VM? | Lets scripts rebuild servers without losing data or changing DNS. | Yes: standalone volumes and IPs |
| Is sizing flexible? | Fixed plans force you to over-buy one resource to get another. | 1–32 vCPU, 2–64 GB RAM, 15–520 GB SSD, any mix |
| How is it billed? | Short-lived automated servers should cost only the hours they exist. | Hourly per resource, one monthly invoice |
| Is there an AI/MCP option? | More teams now let AI agents manage their servers. | Yes: hosted MCP at https://mcp.iotamine.com/mcp |
FAQ
Frequently asked questions
Yes. A REST + JSON API at https://iotamine.com/api/ lets you deploy, resize, power-control, back up and destroy VPS servers, and manage volumes, IP addresses, firewall rules, SSH keys, billing and support tickets. The full reference is at iotamine.com/api-docs.
Create an API key in the dashboard under API Keys and send it on every request as the header Authorization: Api-Key YOUR_API_KEY. There is no separate signing step.
Yes. There is no charge for the API itself. You pay the normal hourly rates for the servers, storage and IPs you create, the same as if you used the dashboard.
Every key is read-only by default and can only make GET requests. Switch it to Read & write to allow changes. You can also lock a key to a single source IP address.
Only a few: adding funds, payment-gateway and currency lookups, trusted IPs, and creating or managing API keys themselves. Everything else, including invoices, usage billing and support tickets, works with an API key.
Poll GET /api/vps/{id}/ until machine_status is Running. For step-by-step progress, GET /api/vps/{id}/build_log/ returns a cursor-based provisioning log.
Not today. The API is plain REST + JSON, so any HTTP client works; the examples above use curl, Python requests and Node fetch. For AI assistants there is a hosted MCP server.
Yes. Iotamine's hosted MCP server at https://mcp.iotamine.com/mcp exposes the API as tools for Claude, Cursor, VS Code and other MCP clients, with OAuth sign-in and confirmation before any action that costs money.
New Delhi, India and Frankfurt, Germany. List them with GET /api/pop/, which also returns each region's per-resource hourly pricing.
Get started
From API key to running server in one request.
₹800 signup bonus after KYC ($10 for international accounts). No sales call and no approval wait.