Cloud API

REST API reference for managing Cloud nodes.

Cloud API

Manage Cloud nodes over a REST JSON API.

Base URL

https://cloud-api.thunderstack.org

Authentication

All endpoints use bearer auth.

export CLOUD_API_TOKEN="<your_token>"

Each request must include:

-H "Authorization: Bearer ${CLOUD_API_TOKEN}"
circle-info

Examples below use curl and show paths relative to the base URL.

List nodes

GET /api/nodes

Returns all nodes and their build history.

curl -s \
  -H "Authorization: Bearer ${CLOUD_API_TOKEN}" \
  "https://cloud-api.thunderstack.org/api/nodes"

Example response:

Create a node

POST /api/nodes

Body fields:

  • name (string, required)

  • network (string, required): regtest or testnet

  • settings (object, optional)

    • webhookUrl (string, optional)

Example response:

Get a node

GET /api/nodes/{id}

Destroy a node

DELETE /api/nodes

Body fields:

  • destroyNodeId (string, required)

circle-exclamation

Example response:

Webhooks: public key

GET /api/webhook-public-key

Returns the public key used to verify webhook signatures.

Example response:

RLN images: latest version

GET /api/nodes/latest-rln-image

Example response:

RLN images: upgrade node

POST /api/nodes/{id}/upgrade

Example response:

Node settings: update

POST /api/nodes/{id}/settings

Use this to change node settings like webhookUrl.

Example response:

Node lifecycle: start

POST /api/nodes/{id}/start

Example response:

Node lifecycle: stop

POST /api/nodes/{id}/stop

Example response:

Logs: trigger export

POST /api/nodes/{id}/logs

Starts a log export job for a node.

Example response:

Logs: get download URLs

GET /api/nodes/{id}/logs?taskId={taskId}

Example response:

Last updated