Nodes API Reference
These endpoints let you inspect the nodes your access key can reach, whether that is checking their information, querying blockchain state or retrieving block data. All requests use X-AccessKey for authentication.
List Nodes
Returns the list of all nodes your access key has access to. Use this to discover available node IDs before calling node-specific endpoints like/info or /blockchains.
Request
GET /api/v1/nodes
Headers
X-AccessKey— Your entity access key
Response
Returns an array of node objects.
Example response
[
{
"nodeId": "04575EFB562CD87A9F666D44A527A23184E8306FE07E62136015FC8F7F7577A3A0AF8D37455F976939FC9D1867ED2DEB7353AFCC65AE871E05CA6BC7CB6E53AC95",
"url": "https://aws.dev.node1.uledger.net",
"status": "active"
}
]
- cURL
- TypeScript
curl -X GET \
'https://your-tms-url/api/v1/nodes' \
-H 'X-AccessKey: your-entity-access-key' \
-H 'Accept: application/json'
const res = await fetch('https://your-tms-url/api/v1/nodes', {
headers: {
'X-AccessKey': 'your-entity-access-key',
'Accept': 'application/json',
},
});
const nodes = await res.json();
console.log('Available nodes:', nodes.length);
nodes.forEach(n => console.log(n.nodeId, n.url));
Get Node Info
Returns health and connectivity information for a specific node, covering its version, peer count, peer ID and the blockchains it tracks.
Request
POST /api/v1/nodes/info
Headers
X-AccessKey— Your entity access keyContent-Type: application/json
Body
nodeId(required) — The node ID to query
Response
Example response
{
"nodeId": "04575EFB...",
"nodeVersion": "9373386",
"network": {
"networkType": "p2p",
"peerCount": 9,
"peerId": "12D3KooW...",
"networkPeers": ["12D3KooW...", "..."]
},
"blockchains": ["08c28f29..."]
}
- cURL
- TypeScript
curl -X POST \
'https://your-tms-url/api/v1/nodes/info' \
-H 'X-AccessKey: your-entity-access-key' \
-H 'Content-Type: application/json' \
-d '{ "nodeId": "04575EFB562CD87A9F666D44A527A23184E8306FE07E62136015FC8F7F7577A3A0AF8D37455F976939FC9D1867ED2DEB7353AFCC65AE871E05CA6BC7CB6E53AC95" }'
const res = await fetch('https://your-tms-url/api/v1/nodes/info', {
method: 'POST',
headers: {
'X-AccessKey': 'your-entity-access-key',
'Content-Type': 'application/json',
},
body: JSON.stringify({
nodeId: '04575EFB562CD87A9F666D44A527A23184E8306FE07E62136015FC8F7F7577A3A0AF8D37455F976939FC9D1867ED2DEB7353AFCC65AE871E05CA6BC7CB6E53AC95',
}),
});
const health = await res.json();
console.log('Peer count:', health.network.peerCount);
console.log('Blockchains:', health.blockchains);
List Node Blockchains
Returns the list of blockchain IDs that a specific node is currently tracking. Use this to confirm a node supports your target blockchain before submitting transactions.
Request
POST /api/v1/nodes/blockchains
Headers
X-AccessKey— Your entity access keyContent-Type: application/json
Body
nodeId(required) — The node ID to query
Response
Returns an object containing an array of blockchain IDs.
Example response
{
"blockchains": [
"08c28f29a62819120958984b761ddf8ccb45951612731409873994958fd150a2"
]
}
- cURL
- TypeScript
curl -X POST \
'https://your-tms-url/api/v1/nodes/blockchains' \
-H 'X-AccessKey: your-entity-access-key' \
-H 'Content-Type: application/json' \
-d '{ "nodeId": "04575EFB562CD87A9F666D44A527A23184E8306FE07E62136015FC8F7F7577A3A0AF8D37455F976939FC9D1867ED2DEB7353AFCC65AE871E05CA6BC7CB6E53AC95" }'
const res = await fetch('https://your-tms-url/api/v1/nodes/blockchains', {
method: 'POST',
headers: {
'X-AccessKey': 'your-entity-access-key',
'Content-Type': 'application/json',
},
body: JSON.stringify({
nodeId: '04575EFB562CD87A9F666D44A527A23184E8306FE07E62136015FC8F7F7577A3A0AF8D37455F976939FC9D1867ED2DEB7353AFCC65AE871E05CA6BC7CB6E53AC95',
}),
});
const data = await res.json();
console.log('Blockchains:', data.blockchains);
Get Blockchain Info
Returns detailed information about a specific blockchain as seen by a given node, including its current height, council membership, consensus config, pending transactions and active vote sessions.
Request
POST /api/v1/nodes/blockchain-info
Headers
X-AccessKey— Your entity access keyContent-Type: application/json
Body
nodeId(required) — The node to queryblockchain(required) — The blockchain ID
Response
Example response
{
"blockHeight": 2275,
"keyType": "secp256k1",
"isInCouncil": true,
"pendingTransactions": 0,
"councilMembers": ["02F94D90...", "..."],
"consensus": {
"consensusType": "council_leader_proposal",
"minMembers": 4,
"consensusTimeout": "30m0s"
}
}
- cURL
- TypeScript
curl -X POST \
'https://your-tms-url/api/v1/nodes/blockchain-info' \
-H 'X-AccessKey: your-entity-access-key' \
-H 'Content-Type: application/json' \
-d '{
"nodeId": "04575EFB562CD87A9F666D44A527A23184E8306FE07E62136015FC8F7F7577A3A0AF8D37455F976939FC9D1867ED2DEB7353AFCC65AE871E05CA6BC7CB6E53AC95",
"blockchain": "08c28f29a62819120958984b761ddf8ccb45951612731409873994958fd150a2"
}'
const res = await fetch('https://your-tms-url/api/v1/nodes/blockchain-info', {
method: 'POST',
headers: {
'X-AccessKey': 'your-entity-access-key',
'Content-Type': 'application/json',
},
body: JSON.stringify({
nodeId: '04575EFB562CD87A9F666D44A527A23184E8306FE07E62136015FC8F7F7577A3A0AF8D37455F976939FC9D1867ED2DEB7353AFCC65AE871E05CA6BC7CB6E53AC95',
blockchain: '08c28f29a62819120958984b761ddf8ccb45951612731409873994958fd150a2',
}),
});
const info = await res.json();
console.log('Block height:', info.blockHeight);
console.log('In council:', info.isInCouncil);
Get Block
Retrieves a specific block from a blockchain on a given node by its height. Useful for inspecting transactions after a deploy or submit.
Request
POST /api/v1/nodes/blockchain-block
Headers
X-AccessKey— Your entity access keyContent-Type: application/json
Body
nodeId(required) — The node to queryblockchain(required) — The blockchain IDblockHeight(required) — The block height to retrieve
Response
Returns the full block object including all transactions at that height.
Example response
{
"height": 2301,
"blockHash": "a1b2c3...",
"merkleRoot": "d4e5f6...",
"transactions": [
{
"transactionId": "tx123...",
"payload": "hello blockchain",
"status": "confirmed"
}
],
"timestamp": "2026-05-25T19:00:00Z"
}
- cURL
- TypeScript
curl -X POST \
'https://your-tms-url/api/v1/nodes/blockchain-block' \
-H 'X-AccessKey: your-entity-access-key' \
-H 'Content-Type: application/json' \
-d '{
"nodeId": "04575EFB562CD87A9F666D44A527A23184E8306FE07E62136015FC8F7F7577A3A0AF8D37455F976939FC9D1867ED2DEB7353AFCC65AE871E05CA6BC7CB6E53AC95",
"blockchain": "08c28f29a62819120958984b761ddf8ccb45951612731409873994958fd150a2",
"blockHeight": 2301
}'
const res = await fetch('https://your-tms-url/api/v1/nodes/blockchain-block', {
method: 'POST',
headers: {
'X-AccessKey': 'your-entity-access-key',
'Content-Type': 'application/json',
},
body: JSON.stringify({
nodeId: '04575EFB562CD87A9F666D44A527A23184E8306FE07E62136015FC8F7F7577A3A0AF8D37455F976939FC9D1867ED2DEB7353AFCC65AE871E05CA6BC7CB6E53AC95',
blockchain: '08c28f29a62819120958984b761ddf8ccb45951612731409873994958fd150a2',
blockHeight: 2301,
}),
});
const block = await res.json();
console.log('Block hash:', block.blockHash);
console.log('Transactions:', block.transactions);