---
title: "Order a server · API | Rdp.Vision"
description: "POST /orders: Orders a server, paid from the balance. It comes back right away with status provisioning; Linux is ready in a few minutes, Windows in about 10 to"
url: https://rdp.vision/docs/api/orders/create
---

Open in AI

[ChatGPT](https://chatgpt.com/?q=Read%20https%3A%2F%2Frdp.vision%2Fdocs%2Fapi%2Forders%2Fcreate.md%20and%20help%20me%20use%20the%20Rdp.Vision%20API.)[Claude](https://claude.ai/new?q=Read%20https%3A%2F%2Frdp.vision%2Fdocs%2Fapi%2Forders%2Fcreate.md%20and%20help%20me%20use%20the%20Rdp.Vision%20API.)

Orders

# Order a server

Orders a server, paid from the balance. It comes back right away with status provisioning; Linux is ready in a few minutes, Windows in about 10 to 20. Poll Get a server until setup.stage is ready.

POST`/orders`

## Authorization

`Authorization`header required

`Bearer rv_…`, a key with the `order` scope. [About keys](https://rdp.vision/docs/api/authentication)

## Body

application/json

`plan_id`integer required

From List plans.

`region_id`integer required

From List locations; must be in the plan’s available\_region\_ids.

`distro_id`integer required

From List operating systems.

`duration`integer optional, default 1

Months, 1 to 12.

`ssh_key`string optional

A public SSH key for Linux servers.

## Response

`id`string (uuid)

The server id.

`hostname`string | null

The name you gave it.

`ip_address`string | null

Public IPv4 address, null while it’s being created.

`status`string

provisioning, reinstalling, moving, running, stopped, suspended, expired or deleted.

`distro_name`string | null

Operating system, e.g. Windows Server 2022.

`plan_id`integer

The plan, see List plans.

`region_id`integer

The location, see List locations.

`distro_id`integer

The operating system, see List operating systems.

`sell_price`string (decimal)

Monthly price in USD.

`duration_months`integer

The term it was ordered for.

`expiry_date`string (datetime) | null

Paid until.

`auto_renew`boolean

Renews from the balance before it expires.

`created_at`string (datetime)

When it was ordered.

`suspended_at`string (datetime) | null

Set while the server is suspended.

`suspend_reason`string | null

Why, when it is.

## Status codes

- 200 | Success.
- 401 | No key, a wrong key, or a revoked or expired one.
- 402 | The balance doesn’t cover it. detail has message, required and balance.
- 400 | Something in the request is wrong, for example an unknown plan or a duration over 12.
- 429 | More than 120 requests a minute with one key, or too many wrong keys from one address.

Request

curl -X POST "https://rdp.vision/api/v1/orders" \\
  -H "Authorization: Bearer $RDPVISION\_KEY" \\
  -H "Content-Type: application/json" \\
  -d '{"plan\_id":1,"region\_id":10,"distro\_id":2,"duration":1}'

Response

{
  "id": "3f6c2a8e-91d4-4b7a-a5e2-7c0d9b1f4e36",
  "hostname": "trading-01",
  "ip\_address": null,
  "status": "provisioning",
  "distro\_name": "Windows Server 2022",
  "plan\_id": 1,
  "region\_id": 10,
  "distro\_id": 2,
  "sell\_price": "13.00",
  "duration\_months": 1,
  "expiry\_date": "2026-12-12T18:20:57Z",
  "auto\_renew": true,
  "created\_at": "2026-11-12T18:20:56Z",
  "suspended\_at": null,
  "suspend\_reason": null
}
