10 of 15 server configurations in stockInstant deliveryNo setup fees

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

Dex typing on a laptop

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.

Request
curl -s https://dedijet.com/api/v1/plans/ryzen-9-9950x

Authentication

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.

Request
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 response
{
    "error": {
        "code": "not_found",
        "message": "No plan with this id. List plans with GET /api/v1/plans.",
        "docs": "https://dedijet.com/docs/api#errors"
    }
}
StatusCodeMeaning
400invalid_parameterA query parameter has an unknown value.
401unauthorized, invalid_tokenMissing, invalid or expired token.
404not_foundUnknown endpoint or resource id.
405method_not_allowedPublic endpoints are read-only.
429rate_limitedToo 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

Public

GET/api/v1/plans

All server configurations with live stock and prices. Filter with query parameters.

ParameterTypeDescription
familystringentry, performance, enterprise, storage or gpu
locationstringLocation id, e.g. fra
in_stockboolean1 to return only servers that can be delivered now

Request
curl -s "https://dedijet.com/api/v1/plans?family=performance&in_stock=1"
Response · live data, shortened
{
    "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

Public

GET/api/v1/plans/{id}

One configuration by id. Sold-out plans include the id of the closest in-stock alternative.

ParameterTypeDescription
idstringPlan id, e.g. ryzen-9-9950x

Request
curl -s "https://dedijet.com/api/v1/plans/ryzen-9-9950x"
Response · live data, shortened
{
    "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

Public

GET/api/v1/locations

Data center locations with coordinates and the number of plans in stock.

Request
curl -s "https://dedijet.com/api/v1/locations"
Response · live data, shortened
{
    "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

Public

GET/api/v1/os

One-click OS images with support windows and typical install times.

Request
curl -s "https://dedijet.com/api/v1/os"
Response · live data, shortened
{
    "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

Public

GET/api/v1/status

Component status per location and the number of ongoing incidents or scheduled maintenance windows.

Request
curl -s "https://dedijet.com/api/v1/status"
Response · live data, shortened
{
    "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 required

GET/api/v1/servers

Servers on your account, with their plan, location, IP addresses and power state.

ParameterTypeDescription
statusstringOptional filter: active, suspended
Request
curl -s "https://dedijet.com/api/v1/servers" \
  -H "Authorization: Bearer $DEDIJET_TOKEN"
Example response
{
    "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 required

GET/api/v1/servers/{id}

One server by id, including its add-ons and the next renewal date.

ParameterTypeDescription
idstringServer id
Request
curl -s "https://dedijet.com/api/v1/servers/srv_7d2k9x" \
  -H "Authorization: Bearer $DEDIJET_TOKEN"
Example response
{
    "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 required

POST/api/v1/servers/{id}/actions

Power and lifecycle actions. A reinstall erases all disks. Actions are asynchronous: poll the server or the returned action.

ParameterTypeDescription
typestringreboot, power_on, power_off, reinstall or rescue
osstringRequired for reinstall: an OS id from /os
ssh_keysarrayOptional for reinstall and rescue: SSH key ids
Request
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"]}'
Example response
{
    "data": {
        "id": "act_3n8q1z",
        "type": "reinstall",
        "status": "running",
        "started_at": "2026-10-14T09:12:00Z"
    }
}

List SSH keys

Token required

GET/api/v1/ssh-keys

SSH public keys saved on your account, usable at order, reinstall and rescue time.

Request
curl -s "https://dedijet.com/api/v1/ssh-keys" \
  -H "Authorization: Bearer $DEDIJET_TOKEN"
Example response
{
    "data": [
        {
            "id": "key_1",
            "name": "laptop",
            "fingerprint": "SHA256:2Yh…",
            "created_at": "2026-10-14T08:00:00Z"
        }
    ]
}

List invoices

Token required

GET/api/v1/invoices

Your invoices with amounts, currency, status and the payment method used.

Request
curl -s "https://dedijet.com/api/v1/invoices" \
  -H "Authorization: Bearer $DEDIJET_TOKEN"
Example response
{
    "data": [
        {
            "id": "inv_2026_000184",
            "amount": {
                "usd": 269.0
            },
            "status": "paid",
            "issued_at": "2026-10-14",
            "paid_with": "usdt-trc20"
        }
    ]
}