Appearance
Open endpoints
Public endpoints under /open/*. No authentication required. They are rate-limited per IP, so please do not use the status page as a heartbeat monitor with a one-second interval.
Config options
http
GET /open/config-optionsReturns everything the console needs to build the "create a pod" and "create a network" forms: the workloads, sizes, regions, and schedule choices. If you are building your own UI or picking values for an API call, start here so you never hardcode a name that later changes.
Response keys:
| Key | What it is |
|---|---|
podOptions | Workloads you can run: Ubuntu (instance) and MySQL (database), each with its selectable versions, default username, and type |
computeOptions | Compute sizes (name, cpu, ramInMb, description) |
storageOptions | Storage sizes (name, sizeInGb) |
servers | Regions you can deploy into (id, region, name) - the id is what you pass as serverId |
emailServers | Mail servers available for email hosting |
scheduleOptions | Auto-schedule choices for snapshots and backups |
Response (abridged):
json
{
"podOptions": [
{ "name": "ubuntu", "type": "instance", "username": "ubuntu", "versions": ["22.04", "24.04"] },
{ "name": "mysql", "type": "database", "username": "root", "versions": ["5.7", "8.0"] }
],
"computeOptions": [
{ "name": "tiny", "cpu": 1, "ramInMb": 512, "description": "1 vCPU, 0.5GB RAM" },
{ "name": "small", "cpu": 1, "ramInMb": 1024, "description": "1 vCPU, 1GB RAM" },
{ "name": "medium", "cpu": 1, "ramInMb": 2048, "description": "1 vCPU, 2GB RAM" }
],
"storageOptions": [
{ "name": "tiny", "sizeInGb": 5 },
{ "name": "small", "sizeInGb": 10 },
{ "name": "medium", "sizeInGb": 20 },
{ "name": "large", "sizeInGb": 40 }
],
"servers": [
{ "id": "srv_...", "region": "eu-west", "name": "Amsterdam" }
],
"scheduleOptions": [
{ "value": "", "label": "Disabled" },
{ "value": "daily", "label": "Every day at 3:00 AM UTC" },
{ "value": "weekly", "label": "Every Sunday at 3:00 AM UTC" },
{ "value": "monthly", "label": "On the 1st of every month at 3:00 AM UTC" }
]
}Each compute and storage option also carries an hourlyRate field - the current hourly rate the console uses to price it. For the authoritative numbers, see the pricing page.
Health
http
GET /open/healthjson
{ "status": "ok" }A liveness check. If this returns anything other than 200, it is us, not you.
Platform status
http
GET /open/statusReturns the public platform status shown at the status page: an overall state and a per-component breakdown. Handy if you want to surface our status inside your own dashboard.
Email unsubscribe
http
GET /open/unsubscribe/:sessionId
POST /open/unsubscribe/:sessionIdBacks the one-click unsubscribe link in mail sent through MicroApps. The :sessionId is the signed token from the message's List-Unsubscribe header, so there is nothing to construct by hand. A forged or expired token returns 400.