Cloud infrastructure (Cherry Servers)

Cloud infrastructure (Cherry Servers)

Otonix provisions real servers via the Cherry Servers REST API.

It supports both VPS and bare-metal.

  • Upstream API: https://api.cherryservers.com/v1

Check Cherry integration status

GET /api/cherry/status

curl -sS "https://app.otonix.tech/api/cherry/status"
{ "configured": true }

If Cherry is not configured, endpoints may return 503.

Discovery endpoints

Use these to build a provisioning UI or a planning agent.

  • GET /api/cherry/plans — plans and pricing

  • GET /api/cherry/regions — regions

  • GET /api/cherry/images — OS images

  • GET /api/cherry/teams — teams

  • GET /api/cherry/projects/:teamId — projects in a team

List servers in a project

GET /api/cherry/servers/:projectId

Provision a server (x402 + API key)

Provisioning is a paid action if monthlyCost > 0.

You must include:

  • X-API-Key for authorization

  • x402 proof if a payment is required

See x402 payment protocol for proof formatting and verification rules.

Step 1: initial request (expect 402)

POST /api/cherry/servers/:projectId

If payment is required, you’ll get 402 with:

Step 2: pay USDC on Base

Send USDC to the treasury address provided in the 402 requirements.

Step 3: retry with X-Payment

Response 201 is a Cherry server object.

circle-info

Treat provisioning as eventually consistent. You may need to poll GET /api/cherry/servers/:projectId.

Server actions

POST /api/cherry/servers/:serverId/actions

Supported type values:

  • reboot

  • power-on

  • power-off

  • rebuild

  • enter-rescue-mode

  • exit-rescue-mode

Delete server

DELETE /api/cherry/servers/:serverId

Local sandbox management (database)

These endpoints track server metadata inside Otonix.

  • GET /api/sandboxes

  • GET /api/sandboxes/:id

  • POST /api/sandboxes

Sandbox object

Last updated