Your servers, from your own code.
A REST API with an OpenAPI document. Order, renew and upgrade servers, run them, and hear back through signed webhooks.
Lists your servers, ten at a time. Create the token under Settings → API in your dashboard.
What your code can do
All of this is in the OpenAPI document today, with the scope each request needs.
Order servers
Price a server with a quote, then order it, paid from your balance. An idempotency key makes a retried order charge once.
Renew and upgrade
Renew a server for another term or move it to a larger plan, both paid from your balance. Or let it renew by itself.
Run them
Start, stop, restart and reinstall, set the login password, open a browser console and follow each action until it finishes.
Firewall
Switch a server's firewall on or off, apply a preset, and add, replace or remove inbound allow rules.
Snapshots and backups
Take, restore and delete snapshots and backups, and schedule tasks for a server.
Webhooks
Hear when a server is ready, suspended, unsuspended or terminated, or when an order is refunded. Every delivery is signed with HMAC-SHA256.
The ground rules
- Base URL
- https://api.exy.sh/v1
- Authentication
- A bearer token that starts with exy_, limited to the scopes you pick. It expires after at most 365 days.
- Limits
- 60 requests per minute per account, across all of its tokens. Above that the answer is 429 with Retry-After.
- Errors
- Every error has the same shape: a stable code for your program and a message for people.
- Compatibility
- Within /v1 we only add endpoints, optional fields and response fields. Anything else comes as /v2.
Documentation
Selling servers to your own customers? See the reseller programme.
Paid up front. Nothing renews by itself.