NodeOps
UK

Catalog & Identity

These endpoints expose the static catalog (shapes, rootfs images, hosts) and identity/health utilities. Most are unauthenticated or low-overhead — useful for validating credentials, listing available options, or checking service health.

Get your API key from https://createos.nodeops.network/profile. Pass it as X-Api-Key: <token> on requests that require auth.

Base URL: https://api.sb.createos.sh


At a glance

  • Base URL: https://api.sb.createos.sh
  • Auth: X-Api-Key: <token> header — get a token
  • Response envelope: JSend — {"status": "...", "data": ...}

GET /v1/shapes

List the available VM shapes. Use the id value (e.g. s-1vcpu-256mb) as the shape field when creating a sandbox.

Auth required: No

Example

Bash
1curl https://api.sb.createos.sh/v1/shapes

Success response 200

JSON
1{
2 "status": "success",
3 "data": {
4 "data": [
5 { "id": "s-1vcpu-256mb", "vcpu": 1, "mem_mib": 256, "default_disk_mib": 10240 },
6 { "id": "s-1vcpu-1gb", "vcpu": 1, "mem_mib": 1024, "default_disk_mib": 10240 }
7 ],
8 "pagination": { "total": 2, "limit": 50, "offset": 0, "count": 2 }
9 }
10}

Shape fields

FieldTypeDescription
idstringShape identifier to pass as shape on sandbox create.
vcpuintegerNumber of vCPUs.
mem_mibintegerMemory in MiB.
default_disk_mibintegerDefault disk size in MiB when disk_mib is omitted at create time.

GET /v1/rootfs

List available rootfs images. Use the rootfs field value when creating a sandbox. Disabled rootfses are filtered out. The response also indicates the recommended default.

Auth required: No

Example

Bash
1curl https://api.sb.createos.sh/v1/rootfs

Success response 200

JSON
1{
2 "status": "success",
3 "data": {
4 "rootfs": ["devbox:1", "node"],
5 "default": "devbox:1"
6 }
7}

Response fields

FieldTypeDescription
rootfsarray of stringsAll available (non-disabled) rootfs names.
defaultstringRecommended default. Used when rootfs is omitted on sandbox create.
entriesarrayOptional rich per-rootfs metadata (name, description, etc.) when present.

GET /v1/hosts

List hosts in the cluster (public view). Shows capacity and available rootfs images per host.

Auth required: No

Query parameters

ParameterTypeDefaultDescription
limitinteger50Max items to return (maximum 500).
offsetinteger0Pagination offset.

Example

Bash
1curl https://api.sb.createos.sh/v1/hosts

Success response 200

JSON
1{
2 "status": "success",
3 "data": {
4 "data": [
5 {
6 "id": "136.243.150.252",
7 "status": "active",
8 "free_mib": 8192,
9 "vm_count": 12,
10 "rootfses": ["devbox:1", "node"]
11 }
12 ],
13 "pagination": { "total": 1, "limit": 50, "offset": 0, "count": 1 }
14 }
15}

Host fields

FieldTypeDescription
idstringHost identifier (IP address).
statusstringactive, draining, or dead.
free_mibintegerAvailable memory in MiB.
vm_countintegerNumber of VMs currently running on this host.
rootfsesarray of stringsRootfs images available on this host.

GET /v1/whoami

Return the identity resolved from the bearer token plus a snapshot of the caller's sandbox counts. Useful for confirming credentials before doing real work — equivalent in spirit to aws sts get-caller-identity.

Counts are observational and carry no atomicity guarantee against concurrent creates/destroys.

Auth required: Yes

Example

Bash
1curl https://api.sb.createos.sh/v1/whoami \
2 -H "X-Api-Key: $CREATEOS_API_KEY"

Success response 200

JSON
1{
2 "status": "success",
3 "data": {
4 "user_id": "usr_01K…",
5 "stats": {
6 "running": 3,
7 "paused": 1,
8 "other": 0,
9 "total": 47
10 }
11 }
12}

stats fields

FieldTypeDescription
runningintegerSandboxes currently running (counts toward the per-user concurrent cap).
pausedintegerSandboxes currently paused.
otherintegerSandboxes in any other non-terminal status (creating, pausing, resuming, etc.).
totalintegerEvery sandbox the user has ever owned, including destroyed and failed.

GET /healthz

Liveness probe. Returns {"up": true} when the control plane process is alive.

Auth required: No

Example

Bash
1curl https://api.sb.createos.sh/healthz

Success response 200

JSON
1{ "status": "success", "data": { "up": true } }

GET /readyz

Readiness probe. Returns {"ready": true} when the control plane can reach its database.

Auth required: No

Example

Bash
1curl https://api.sb.createos.sh/readyz

Success response 200

JSON
1{ "status": "success", "data": { "ready": true } }

Notable errors: 503 — control plane is up but cannot reach the database.

100,000+ Builders. One Workspace.

Get product updates, builder stories, and early access to features that help you ship faster.

CreateOS is a unified intelligent workspace where ideas move seamlessly from concept to live deployment, eliminating context-switching across tools, infrastructure, and workflows with the opportunity to monetize ideas immediately on the CreateOS Marketplace.