API reference
HTTP API
RESTful. JSON in, JSON out. All requests need an Authorization: Bearer <token> header. Rate limit: 600 req/min per token.
Authentication
Every API request needs a bearer token. Generate one in your dashboard under API keys. Tokens are scoped — read-only, deploy-only, or full-access — and can be restricted by IP CIDR.
user@nodara ~ zsh
➜ ~ curl -H "Authorization: Bearer nk_live_..." \ https://api.nodara.host/v1/instances { "data": [ { "id": "nv-8f2a10c3", "status": "running", ... }, ], "meta": { "count": 1 } }
Endpoints
Everything is under https://api.nodara.host.
| method | path | purpose |
|---|---|---|
| GET | /v1/instances | List instances in your account. |
| POST | /v1/instances | Create (rent) a new instance. |
| GET | /v1/instances/:id | Retrieve a single instance. |
| PATCH | /v1/instances/:id | Update instance metadata or plan. |
| DELETE | /v1/instances/:id | Destroy an instance. |
| POST | /v1/instances/:id/actions/reboot | Soft reboot. |
| POST | /v1/instances/:id/actions/reinstall | Reinstall from image. |
| GET | /v1/snapshots | List all snapshots. |
| POST | /v1/snapshots | Create a snapshot from an instance. |
| POST | /v1/snapshots/:id/actions/restore | Restore a snapshot to an instance. |
| GET | /v1/regions | List available regions. |
| GET | /v1/plans | List all plans and current pricing. |
| GET | /v1/billing/balance | Fetch current account balance. |
| GET | /v1/billing/invoices | List invoices, most recent first. |
Error shape
All errors return a JSON body with error.code and error.message. HTTP status maps to error category: 4xx is your fault, 5xx is ours.
user@nodara ~ zsh
HTTP/2 422 Unprocessable Entity
content-type: application/json
{
"error": {
"code": "region_unavailable",
"message": "fra1 has no gp-h200 offers right now",
"request_id": "req_01k8n2fj9zc7x2"
}
}Versioning
The current API version is v1. We commit to twelve months of support after any breaking change is announced in the changelog. Minor additive changes (new endpoints, new optional fields) can happen any time and don't require a version bump.