If you drive infrastructure from code rather than a control panel, the only latency that matters is the gap between POST /orders and a box that answers SSH. On our fleet that gap is typically about a minute. This is a NOC note on how to deploy a VPS via API at NODED.CLOUD, how hourly billing changes what "cheap" means, and the CLI workflow (plus what to do if you live in Terraform) that turns ephemeral boxes from a novelty into a habit.
The API surface: one call to a running box
The API lives at my.noded.cloud/api/v1 (a public beta, version 1). You authenticate with a bearer key and place an order with a product, billingCycle: "hourly", one of our 26 Linux and FreeBSD images, your SSH key IDs and optional cloud-init user-data; the server comes up with its dedicated IPv4 (plus free IPv6 in Romania, the Netherlands and Germany). There is no ticket, no manual approval, no "provisioning" state that sits for ten minutes. Every instance is a real KVM guest with root, not a container pretending to be one, so the box you script against behaves exactly like the box you would have clicked into on our VPS hosting plans.
The lifecycle is deliberately small: create, read, power, destroy. That is the whole point of programmatic provisioning — the fewer verbs, the fewer ways your automation can wedge. An order returns right away; you poll GET /vps (or watch for the SSH port to open, which is what most people actually do) and you are in. Typical time from order to a box that answers SSH is about a minute across our locations.
Why fast deploys and hourly billing belong in the same sentence
Fast deploys are a party trick unless the billing model rewards you for tearing things down. Ours does. VPS instances are billed hourly, starting at EUR 0.0056/hr for the 2GB tier. A box you spin up for a 20-minute integration run is billed as one started hour — EUR 0.0056 on the entry tier — not a daily minimum, not a monthly commit you forgot to cancel. That is the mechanic that makes a one-minute deploy pay for itself: fast up plus cheap-down is what lets you treat compute as disposable.
Concretely, the pattern we see from IaC shops looks like this: a CI job creates three boxes at the start of a test matrix, runs the suite in parallel, and destroys all three when the runner exits. Total wall-clock is maybe 15 minutes. Billed by the hour, that is a rounding error, and there is nothing left running overnight to surprise you on the invoice. Wiring it into a pipeline is two calls — a create at the start of the job, a destroy by instance ID when the runner tears down — and the hourly meter does the rest.
The Terraform and CLI workflow
You do not need a dashboard for any of this. The two workflows we recommend:
- CLI / shell for one-offs. A single
curlagainstmy.noded.cloud/api/v1with a JSON body creates a box; a second call,DELETE /vps/{id}with"immediate": true, destroys it on the spot (without that flag the delete only schedules a cancellation). Good for scratch work, reproduction environments, and "I need a clean Debian box for ten minutes." - Terraform, if that's your stack. There is no official NODED Terraform provider or SDK. What exists is an OpenAPI 3.0 spec you can generate a client from; in Terraform, wrap the two calls yourself — for example a
terraform_dataresource whoselocal-execprovisioners callPOST /orderson create andDELETE /vps/{id}with"immediate": trueon destroy — keeping the SSH key and OS image as variables soterraform apply/terraform destroystill own the lifecycle.
The rule we give people building automation on a European footprint: keep your state describing the box (plan, region, image, key) and let the hourly meter handle the economics. You are never punished for a destroy, so aggressive teardown is the correct default, not a risk.
What you get on every instance
| Property | What the API gives you |
|---|---|
| Deploy time | About a minute, order call to answering SSH |
| Billing | Hourly, from EUR 0.0056/hr |
| OS images | 26 Linux and FreeBSD images, selectable at order time |
| Access | Root SSH on a real KVM guest |
| Networking | Dedicated IPv4 per instance (free IPv6 in RO, NL, DE), unmetered, 100–300 Mbps by plan |
| Storage | SSD (NVMe in Ashburn) |
| DDoS | 100 Gbps L3/4 protection included, always on, no toggle |
Every instance sits on our own network, AS60982, in seven locations — six in the EU plus Ashburn — so a box you provision in code is on the same network as everything else we run. The network page explains how it's connected if latency budgets matter to your placement decisions.
Where the API stops being the right tool
Honesty from the rack: not everything wants to be ephemeral. If you are running a stateful database, a persistent build cache, or anything where the box is the workload rather than a disposable runner, hourly churn is the wrong pattern and a longer-lived instance is cheaper and calmer. And if you have outgrown virtualization entirely — you want dedicated cores, a /29 or larger subnet, or BYOIP and BGP sessions with AS60982 — that is a dedicated server conversation, not an API-churn one. The API is for elastic, disposable capacity; use it where elasticity is the actual requirement.
How Noded Can Help
We built the VPS API for people who never wanted to see a dashboard. Point your scripts or your CI at my.noded.cloud/api/v1, pass a product and one of our 26 images, and you have root on a KVM box in about a minute — billed by the hour, so aggressive teardown costs you at most the hour you started. It is all on our own AS60982 network with 100 Gbps of DDoS protection included on every instance by default. Browse the tiers on our VPS hosting page, grab a token, and script your first create. If you are wiring it into a pipeline, the loop is just a create call at job start and a destroy by instance ID when the runner exits.
FAQ
How fast can I deploy a VPS via API?
Typically about a minute from the order call to a box that answers SSH. Poll GET /vps (or watch for the SSH port) while the KVM guest boots.
How is API-provisioned VPS billing calculated?
billed by the hour, starting at EUR 0.0056/hr for the 2GB tier. A box you create and destroy inside 20 minutes costs you one hour — there is no daily minimum and no monthly commitment, which is what makes fast teardown worthwhile.
Can I use Terraform to provision VPS instances in Europe?
Not with an official provider — there is no NODED Terraform provider or SDK. You can still drive it from Terraform by wrapping the API: a terraform_data resource with local-exec provisioners that call my.noded.cloud/api/v1 on create and destroy, with your SSH key and OS image as variables, or a client generated from our OpenAPI 3.0 spec.
Do API-created instances get root access and their own IPs?
Every instance is a real KVM guest with root SSH, a dedicated IPv4 (plus free IPv6 in Romania, the Netherlands and Germany), SSD storage, and unmetered symmetric networking shaped by plan. There is no difference between a box you create by API and one you order any other way.
Which operating systems can I choose at create time?
26 Linux and FreeBSD images are selectable in the order call. You pass the image ID (os_image_id) in the request body alongside the product and your SSH key IDs.