The XessOne API allows you to programmatically manage your infrastructure. All endpoints are available at api.xessone.com and return JSON responses.
All API requests require an API key passed in the Authorization header:
terminal
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.xessone.com/v1/vps
API Keys
Generate your API key from the dashboard under Settings > API Keys. Keep it secret — never expose it in client-side code.
base URL
https://api.xessone.com/v1
| Method | Endpoint | Description |
|---|
| GET | /v1/vps | List all VPS instances |
| GET | /v1/vps/:id | Get VPS details |
| POST | /v1/vps | Create a new VPS |
| PATCH | /v1/vps/:id | Update VPS settings |
| DELETE | /v1/vps/:id | Delete a VPS instance |
| POST | /v1/vps/:id/restart | Restart a VPS |
| Method | Endpoint | Description |
|---|
| GET | /v1/email | List email accounts |
| POST | /v1/email | Create email account |
| DELETE | /v1/email/:id | Delete email account |
| PATCH | /v1/email/:id/password | Reset password |
| GET | /v1/email/activity | Get usage stats |
| Method | Endpoint | Description |
|---|
| GET | /v1/storage | Get storage usage |
| GET | /v1/storage/buckets | List buckets |
| POST | /v1/storage/buckets | Create bucket |
| DELETE | /v1/storage/buckets/:name | Delete bucket |
| Method | Endpoint | Description |
|---|
| GET | /v1/dns/zones | List DNS zones |
| GET | /v1/dns/zones/:domain/records | List records |
| POST | /v1/dns/zones/:domain/records | Create record |
| DELETE | /v1/dns/zones/:domain/records/:id | Delete record |
response.json
{
"success": true,
"data": {
"id": "vps-abc123",
"label": "my-app",
"region": "sgp1",
"status": "active"
}
}
| Status | Meaning |
|---|
| 200 | Success |
| 400 | Bad request — check parameters |
| 401 | Unauthorized — invalid API key |
| 403 | Forbidden — insufficient permissions |
| 404 | Not found |
| 429 | Rate limited — slow down |
| 500 | Server error — contact support |
| Plan | Requests / minute |
|---|
| Starter | 60 |
| Growth | 300 |
| Enterprise | 1000 |