1. Docs
  2. API Reference
  3. Get ancestor chain for a node

Get ancestor chain for a node

GET/portal/v1/accounts/{accountSlug}/applications/{appSlug}/environments/{envSlug}/nodes/{id}/ancestors

Returns the ancestor chain for a node as an items array ordered root-first, including the node itself, scoped to the current Environment. The node must be within the caller's accessible scope (otherwise 403); a cross-Environment or unknown id returns 404.

Authentication

Bearer TokenAuthorization

JWT access token. Never send alongside X-API-Key: a request carrying both is refused.

Requires capability env_structure.viewDeveloper Console

View the Environment's hierarchy tree and its schema. Granted through an administrator role in the Admin Workspace; a valid token without it is refused with 403.

Path Parameters

idstring Required

Responses

application/json

  • itemsNodeResponseDto[]*

application/json

  • errorApiErrorBodyDto*

application/json

  • errorApiErrorBodyDto*

Errors

When the request can't be completed, the response body includes a stable error code you can branch on.

403account.capability_requiredForbidden
When it happens

The signed-in user's administrator roles do not grant the capability this endpoint requires.

Remediation

Ask an account administrator to grant a role carrying the capability named in the Authentication section, then retry.

Returned object

Request
curl -X GET "https://auth.canopy-io.com/portal/v1/accounts/{accountSlug}/applications/{appSlug}/environments/{envSlug}/nodes/value/ancestors" \
  -H "Authorization: Bearer $CANOPY_TOKEN"
Response
{
  "items": [
    {
      "id": "string",
      "application_id": "string",
      "parent_node_id": "string",
      "node_type": "string",
      "name": "string",
      "description": "string",
      "slug": "string",
      "status": "string",
      "metadata": {},
      "created_at": "2026-04-20T12:00:00.000Z",
      "updated_at": "2026-04-20T12:00:00.000Z",
      "version": 0
    }
  ]
}
Related endpoints
GETList hierarchy (scoped tree)
POSTCreate a hierarchy node
GETGet a hierarchy node
PATCHUpdate a hierarchy node
DELETEDelete a hierarchy node
GETGet subtree from a node
GETGet direct children of a node
POSTMove (reparent) a node
GETList identities at a node
GETGet identity summary for a node
Was this page helpful?

Tell us how we can improve this guide.