🛠️ThunderEngine API

Retrieve all nodes

get
/api/nodes

Returns a list of all nodes including their details and builds.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

A list of nodes

application/json
get
/api/nodes
GET /api/nodes HTTP/1.1
Host: cloud-api.thunderstack.org/
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "nodes": [
    {
      "builds": [
        {
          "action": "text",
          "buildComplete": true,
          "buildNumber": 1,
          "buildStatus": "SUCCESS",
          "currentPhase": "text",
          "id": "text",
          "timestamp": "text"
        }
      ],
      "initialized": true,
      "invoke_url": "text",
      "name": "text",
      "nodeId": "text",
      "port": 1,
      "protocol": "text",
      "peerDNS": "text",
      "peerPort": 1,
      "network": "regtest",
      "status": "STARTING",
      "settings": {
        "webhookUrl": "text"
      }
    }
  ]
}

Create a new node

post
/api/nodes

This endpoint allows you to create a new node.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
namestringRequired

Name of the node.

networkstring · enumRequiredPossible values:
Responses
200

Node created successfully

application/json
post
/api/nodes
POST /api/nodes HTTP/1.1
Host: cloud-api.thunderstack.org/
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 68

{
  "name": "text",
  "network": "regtest",
  "settings": {
    "webhookUrl": "text"
  }
}
{
  "data": {
    "builds": [
      {
        "action": "text",
        "buildComplete": true,
        "buildNumber": 1,
        "buildStatus": "SUCCESS",
        "currentPhase": "text",
        "id": "text",
        "timestamp": "text"
      }
    ],
    "initialized": true,
    "invoke_url": "text",
    "name": "text",
    "nodeId": "text",
    "port": 1,
    "protocol": "text",
    "peerDNS": "text",
    "peerPort": 1,
    "network": "regtest",
    "status": "STARTING",
    "settings": {
      "webhookUrl": "text"
    }
  },
  "message": "text"
}

Destroy a node

delete
/api/nodes

This endpoint destroys a node by its identifier.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
destroyNodeIdstringRequired

Unique identifier of the node to be destroyed.

Responses
200

Node destroyed successfully

application/json
delete
/api/nodes
DELETE /api/nodes HTTP/1.1
Host: cloud-api.thunderstack.org/
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 24

{
  "destroyNodeId": "text"
}
{
  "message": "text"
}

Retrieve a specific node

get
/api/nodes/{id}

Returns details of a specific node by node ID.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

The unique identifier of the node.

Responses
200

Details of the node

application/json
get
/api/nodes/{id}
GET /api/nodes/{id} HTTP/1.1
Host: cloud-api.thunderstack.org/
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "builds": [
    {
      "action": "text",
      "buildComplete": true,
      "buildNumber": 1,
      "buildStatus": "SUCCESS",
      "currentPhase": "text",
      "id": "text",
      "timestamp": "text"
    }
  ],
  "initialized": true,
  "invoke_url": "text",
  "name": "text",
  "nodeId": "text",
  "port": 1,
  "protocol": "text",
  "peerDNS": "text",
  "peerPort": 1,
  "network": "regtest",
  "status": "STARTING",
  "settings": {
    "webhookUrl": "text"
  }
}

Get the ThunderStack public key for webhook verification

get
/api/webhook-public-key

Returns public key for webhook verification.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

success response

application/json
get
/api/webhook-public-key
GET /api/webhook-public-key HTTP/1.1
Host: cloud-api.thunderstack.org/
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "data": "text"
}

Get latest RLN image version

get
/api/nodes/latest-rln-image

Returns a latest RLN image version.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

A list of nodes

application/json
get
/api/nodes/latest-rln-image
GET /api/nodes/latest-rln-image HTTP/1.1
Host: cloud-api.thunderstack.org/
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "data": "text"
}

Upgrade a node to latest RLN image

post
/api/nodes/{id}/upgrade

This endpoint allows you to upgrade a node.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

The unique identifier of the node.

Responses
200

Node upgraded successfully

application/json
post
/api/nodes/{id}/upgrade
POST /api/nodes/{id}/upgrade HTTP/1.1
Host: cloud-api.thunderstack.org/
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "message": "text"
}

Update node settings

post
/api/nodes/{id}/settings

This endpoint allows you to Update node settings.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
Responses
200

Node Updated successfully

application/json
post
/api/nodes/{id}/settings
POST /api/nodes/{id}/settings HTTP/1.1
Host: cloud-api.thunderstack.org/
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "message": "text"
}

Start a Node

post
/api/nodes/{id}/start

Start a Node

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

The unique identifier of the node.

Responses
200

Start a Node initiated successfully.

application/json
Responseobject
post
/api/nodes/{id}/start
POST /api/nodes/{id}/start HTTP/1.1
Host: cloud-api.thunderstack.org/
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{}

Stop a Node

post
/api/nodes/{id}/stop

Stop a Node

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

The unique identifier of the node.

Responses
200

Stop a Node initiated successfully.

application/json
Responseobject
post
/api/nodes/{id}/stop
POST /api/nodes/{id}/stop HTTP/1.1
Host: cloud-api.thunderstack.org/
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{}

Trigger log export

post
/api/nodes/{id}/logs

Initiates an export of logs for a specified node.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

The unique identifier of the node.

Responses
200

Log export initiated successfully.

application/json
post
/api/nodes/{id}/logs
POST /api/nodes/{id}/logs HTTP/1.1
Host: cloud-api.thunderstack.org/
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "taskId": "text"
}

Get log download URLs

get
/api/nodes/{id}/logs

Retrieves the download URLs for logs related to a specific task ID.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

The unique identifier of the node.

Query parameters
taskIdstringRequired

The task ID associated with the log export.

Responses
200

List of log download URLs retrieved successfully.

application/json
get
/api/nodes/{id}/logs
GET /api/nodes/{id}/logs?taskId=text HTTP/1.1
Host: cloud-api.thunderstack.org/
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "data": [
    "text"
  ]
}

Last updated