List Node Descendants
Lists every node below a node, excluding the node itself, newest first, with pagination. The list is flat, so each row carries path_name — the names of its ancestors and itself joined by /, root first — to show where it sits without walking the tree again. For the immediate children only, use List Children Nodes.
Required permission: node:descendants:view
Request
GET /v2/admin/nodes/{node_id}/descendants
Parameters
| Name | Type | In | Description |
|---|---|---|---|
node_id | string | path | Required. The node whose subtree is listed |
search | string | query | Case-insensitive partial match on the node name |
depth | integer | query | How many levels below the node to include, 1–20. Relative to the node, so 1 means its children only. Default 10 |
page | integer | query | Required. Page number, starting at 1 |
per_page | integer | query | Required. Items per page, 1–100 |
Headers
| Name | Description |
|---|---|
Authorization | Required. Bearer <access_token> |
Example
curl --request GET \
--url '{{baseUrl}}/v2/admin/nodes/665ae536a6392b75cfd40352/descendants?depth=2&page=1&per_page=20' \
--header 'Authorization: Bearer <access_token>'
Response
{
"data": [
{
"id": "6a5c1e9b2f4d8a0012ab34cd",
"parent_id": "6a4bef2b1e781b11c22e9707",
"parent_name": null,
"name": "Tostik 5 Branch",
"type": 3,
"status": 1,
"contract": null,
"meta": null,
"int_id": 41,
"path": "1.38.41",
"listed_token_count": 0,
"supervisor_count": 0,
"created_at": "2026-04-02T08:11:20.12Z",
"path_name": "Apex / Tostik 5 / Tostik 5 Branch"
}
],
"total": 1,
"page": 1,
"per_page": 20
}
Response Fields
| Field | Type | Description |
|---|---|---|
data | array | The descendant nodes. Each row has the fields of a node on Get Node, with the differences below |
data[].path_name | string | Names of the node's ancestors and of the node itself, root first, joined by / |
data[].parent_name | null | Always null in this listing |
data[].listed_token_count | integer | Always 0 in this listing; read the node with Get Node for the count |
data[].supervisor_count | integer | Always 0 in this listing; read the node with Get Node for the count |
data[].created_by_supervisor | — | Not included in this listing (created_by still is) |
total | integer | Number of descendants matching the filters |
page | integer | Page number |
per_page | integer | Items per page |
Errors
| Status | Code | Description |
|---|---|---|
| 400 | 10015 | Validation failed (for example depth outside 1–20, or a missing page) — see details |
| 400 | 10016 | node_id is not a valid id |
| 400 | 10001 | Node not found (node domain 2) |
| 403 | 10005 | The node is outside your part of the hierarchy (node domain 2) |
See Errors for the error format and common codes.