Developers · API v1.0
DediJet API
A small, predictable JSON API. Read the catalog, live stock and network status without a key. With a token from your dashboard, manage servers and read your SSH keys and invoices.
Base URLhttps://dedijet.com/api/v1

Introduction
The API speaks JSON over HTTPS. Every response is an object with a data key, plus meta on lists. Prices are monthly, excluding VAT, in USD and EUR; timestamps are UTC in ISO 8601.
Public endpoints are open to everyone and send Access-Control-Allow-Origin: *, so you can call them from a browser, a script or a monitoring tool, for example to get an alert when a sold-out server is back in stock.
curl -s https://dedijet.com/api/v1/plans/ryzen-9-9950xAuthentication
Endpoints that touch your account need an API token, sent as a bearer token. Tokens are created and revoked in your dashboard; each token can be limited to read-only access. Keep tokens secret: anyone holding one can act on your servers.
curl -s https://dedijet.com/api/v1/servers \
-H "Authorization: Bearer $DEDIJET_TOKEN"Client area opening soon. Until it opens, tokens cannot be created, so account endpoints answer 401 unauthorized. Public endpoints work today.
Errors
Errors use standard HTTP status codes and a consistent body:
{
"error": {
"code": "not_found",
"message": "No plan with this id. List plans with GET /api/v1/plans.",
"docs": "https://dedijet.com/docs/api#errors"
}
}| Status | Code | Meaning |
|---|---|---|
400 | invalid_parameter | A query parameter has an unknown value. |
401 | unauthorized, invalid_token | Missing, invalid or expired token. |
404 | not_found | Unknown endpoint or resource id. |
405 | method_not_allowed | Public endpoints are read-only. |
429 | rate_limited | Too many requests; retry after the delay in Retry-After. |
Rate limits and caching
Public responses are cached for 60 seconds (30 for status), so polling faster does not give fresher data. Please keep public requests under 60 per minute per IP. Authenticated requests will be limited per token; the limit is returned in RateLimit-* headers.
List plans
PublicGET/api/v1/plans
All server configurations with live stock and prices. Filter with query parameters.
| Parameter | Type | Description |
|---|---|---|
family | string | entry, performance, enterprise, storage or gpu |
location | string | Location id, e.g. fra |
in_stock | boolean | 1 to return only servers that can be delivered now |
curl -s "https://dedijet.com/api/v1/plans?family=performance&in_stock=1"{
"data": [
{
"id": "ryzen-9-9950x",
"name": "AMD Ryzen 9 9950X",
"family": "performance",
"cpu": {
"model": "AMD Ryzen 9 9950X",
"cores": 16,
"threads": 32,
"base_ghz": 4.3,
"boost_ghz": 5.7,
"architecture": "Zen 5",
"l3_cache_mb": 64
},
"memory": {
"size_gb": 128,
"type": "DDR5",
"ecc": false
},
"storage": "2 × 2 TB NVMe",
"gpu": null,
"network": {
"port": "1 Gbps",
"bandwidth": "unmetered",
"ipv4": 1,
"ipv6": "/64",
"ddos_protection": true
},
"price": {
"monthly": {
"usd": 269.0,
"eur": 234.0
},
"setup_fee": 0.0,
"currency_note": "Monthly, excluding VAT"
},
"availability": {
"in_stock": true,
"delivery": "instant",
"locations": [
"fra",
"ams",
"lon",
"nyc",
"lax",
"sin"
]
},
"links": {
"page": "https://dedijet.com/servers/ryzen-9-9950x",
"order": "https://dedijet.com/order/ryzen-9-9950x"
}
}
],
"meta": {
"count": 1,
"in_stock": 1,
"generated_at": "2026-10-14T19:57:30Z"
}
}Retrieve a plan
PublicGET/api/v1/plans/{id}
One configuration by id. Sold-out plans include the id of the closest in-stock alternative.
| Parameter | Type | Description |
|---|---|---|
id | string | Plan id, e.g. ryzen-9-9950x |
curl -s "https://dedijet.com/api/v1/plans/ryzen-9-9950x"{
"data": {
"id": "ryzen-9-9950x",
"name": "AMD Ryzen 9 9950X",
"family": "performance",
"cpu": {
"model": "AMD Ryzen 9 9950X",
"cores": 16,
"threads": 32,
"base_ghz": 4.3,
"boost_ghz": 5.7,
"architecture": "Zen 5",
"l3_cache_mb": 64
},
"memory": {
"size_gb": 128,
"type": "DDR5",
"ecc": false
},
"storage": "2 × 2 TB NVMe",
"gpu": null,
"network": {
"port": "1 Gbps",
"bandwidth": "unmetered",
"ipv4": 1,
"ipv6": "/64",
"ddos_protection": true
},
"price": {
"monthly": {
"usd": 269.0,
"eur": 234.0
},
"setup_fee": 0.0,
"currency_note": "Monthly, excluding VAT"
},
"availability": {
"in_stock": true,
"delivery": "instant",
"locations": [
"fra",
"ams",
"lon",
"nyc",
"lax",
"sin"
]
},
"links": {
"page": "https://dedijet.com/servers/ryzen-9-9950x",
"order": "https://dedijet.com/order/ryzen-9-9950x"
}
}
}List locations
PublicGET/api/v1/locations
Data center locations with coordinates and the number of plans in stock.
curl -s "https://dedijet.com/api/v1/locations"{
"data": [
{
"id": "fra",
"iata": "FRA",
"city": "Frankfurt",
"country": "Germany",
"country_code": "DE",
"region": "Europe",
"coordinates": {
"lat": 50.1,
"lon": 8.7
},
"plans": 15,
"plans_in_stock": 10,
"links": {
"page": "https://dedijet.com/locations/frankfurt"
}
}
],
"meta": {
"count": 8
}
}List operating systems
PublicGET/api/v1/os
One-click OS images with support windows and typical install times.
curl -s "https://dedijet.com/api/v1/os"{
"data": [
{
"id": "ubuntu-2404",
"name": "Ubuntu 24.04 LTS",
"family": "Ubuntu",
"version": "24.04 LTS",
"support": "Standard support until April 2029",
"typical_install_minutes": 8,
"license": null
}
],
"meta": {
"count": 15,
"custom_iso": true
}
}Network status
PublicGET/api/v1/status
Component status per location and the number of ongoing incidents or scheduled maintenance windows.
curl -s "https://dedijet.com/api/v1/status"{
"data": {
"overall": "operational",
"since": "2026-10-14",
"locations": {
"fra": {
"city": "Frankfurt",
"components": {
"network": "operational",
"ddos": "operational",
"provisioning": "operational",
"ipmi": "operational"
}
}
},
"ongoing": 0,
"scheduled": 0,
"updated_at": "2026-10-14T19:57:30Z"
}
}List your servers
Token requiredGET/api/v1/servers
Servers on your account, with their plan, location, IP addresses and power state.
| Parameter | Type | Description |
|---|---|---|
status | string | Optional filter: active, suspended |
curl -s "https://dedijet.com/api/v1/servers" \
-H "Authorization: Bearer $DEDIJET_TOKEN"{
"data": [
{
"id": "srv_7d2k9x",
"plan": "ryzen-9-9950x",
"location": "fra",
"hostname": "game1.example.com",
"ipv4": [
"203.0.113.10"
],
"ipv6": "2001:db8:1234:5678::/64",
"os": "ubuntu-2404",
"power": "on",
"status": "active",
"renews_at": "2026-11-14"
}
]
}Retrieve a server
Token requiredGET/api/v1/servers/{id}
One server by id, including its add-ons and the next renewal date.
| Parameter | Type | Description |
|---|---|---|
id | string | Server id |
curl -s "https://dedijet.com/api/v1/servers/srv_7d2k9x" \
-H "Authorization: Bearer $DEDIJET_TOKEN"{
"data": {
"id": "srv_7d2k9x",
"plan": "ryzen-9-9950x",
"location": "fra",
"power": "on",
"addons": [
{
"type": "ipv4",
"quantity": 2
}
],
"renews_at": "2026-11-14"
}
}Run a server action
Token requiredPOST/api/v1/servers/{id}/actions
Power and lifecycle actions. A reinstall erases all disks. Actions are asynchronous: poll the server or the returned action.
| Parameter | Type | Description |
|---|---|---|
type | string | reboot, power_on, power_off, reinstall or rescue |
os | string | Required for reinstall: an OS id from /os |
ssh_keys | array | Optional for reinstall and rescue: SSH key ids |
curl -s -X POST "https://dedijet.com/api/v1/servers/srv_7d2k9x/actions" \
-H "Authorization: Bearer $DEDIJET_TOKEN" \
-H "Content-Type: application/json" \
-d '{"type": "reinstall", "os": "debian-13", "ssh_keys": ["key_1"]}'{
"data": {
"id": "act_3n8q1z",
"type": "reinstall",
"status": "running",
"started_at": "2026-10-14T09:12:00Z"
}
}List SSH keys
Token requiredGET/api/v1/ssh-keys
SSH public keys saved on your account, usable at order, reinstall and rescue time.
curl -s "https://dedijet.com/api/v1/ssh-keys" \
-H "Authorization: Bearer $DEDIJET_TOKEN"{
"data": [
{
"id": "key_1",
"name": "laptop",
"fingerprint": "SHA256:2Yh…",
"created_at": "2026-10-14T08:00:00Z"
}
]
}List invoices
Token requiredGET/api/v1/invoices
Your invoices with amounts, currency, status and the payment method used.
curl -s "https://dedijet.com/api/v1/invoices" \
-H "Authorization: Bearer $DEDIJET_TOKEN"{
"data": [
{
"id": "inv_2026_000184",
"amount": {
"usd": 269.0
},
"status": "paid",
"issued_at": "2026-10-14",
"paid_with": "usdt-trc20"
}
]
}