---
updatedAt: 2026-02-10T11:58:53.000Z
---

# List Organization Nodes

**This API requires the Account Administrator role.**

Lists the organization nodes for an account.

# OpenAPI definition

```json
{
  "openapi": "3.0.2",
  "x-explorer-enabled": false,
  "x-samples-languages": [
    "curl",
    "node",
    "java",
    "javascript",
    "python",
    "go"
  ],
  "info": {
    "title": "Admin - Account",
    "description": "Multi Tenancy Service REST APIs are used to create,update delete,fetch the Account and Account hierarchy.",
    "contact": {
      "name": "Avaya API Team",
      "url": "https://developers.avayacloud.com/onecloud-ccaas",
      "email": "apiteam@avaya.com"
    },
    "license": {
      "name": "Avaya Software Development Kit (SDK) Software License Terms",
      "url": "http://support.avaya.com/css/P8/documents/101038288"
    },
    "version": "1.0.1"
  },
  "security": [
    {},
    {
      "BearerAuth": [],
      "AppKey": []
    }
  ],
  "servers": [
    {
      "url": "{protocol}://{server}{basePath}",
      "description": "Open API",
      "variables": {
        "protocol": {
          "enum": [
            "https"
          ],
          "default": "https"
        },
        "server": {
          "default": "HOST-REGION.api.avayacloud.com"
        },
        "basePath": {
          "default": "/api/admin/account/v1"
        }
      }
    }
  ],
  "tags": [
    {
      "name": "Organization Structure",
      "description": "APIs to manage a customer's organization structure"
    }
  ],
  "paths": {
    "/accounts/{accountId}/organization-nodes": {
      "get": {
        "tags": [
          "Organization Structure"
        ],
        "summary": "List Organization Nodes",
        "description": "**This API requires the Account Administrator role.**\n\nLists the organization nodes for an account.\n",
        "operationId": "listOrganizationNodes",
        "parameters": [
          {
            "$ref": "#/components/parameters/accountId"
          },
          {
            "$ref": "#/components/parameters/pageNumber"
          },
          {
            "name": "children",
            "in": "query",
            "description": "Flag to indicate if response should contain child nodes.",
            "schema": {
              "type": "boolean",
              "default": false,
              "example": false
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The max number of records to retrieve per page. Default value is 5,max value is 50.",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "example": 5,
              "default": 5,
              "minimum": 5,
              "maximum": 50
            }
          },
          {
            "name": "filter",
            "in": "query",
            "required": false,
            "description": "Specifies details of a row filter.\n\nThe possible fields you can filter are:\n* name\n* accountId\n\nThe allowed format:\n\n- Begins with the column name to be filtered, followed by a colon, (This will be used as Contains operator.) then:\n  - Either an exact string to match, or\n  - A string expression including the * wildcard character.\n    - :{PREFIX}* will be used to find out word start with.\n    - :*{POSTFIX} will be used to find out word end with\n    - : will be used to match exact word\n- Begin with column name to be filtered, followed by a = operator. (this will be used to match exact string)\n",
            "schema": {
              "type": "string",
              "maxLength": 255
            },
            "examples": {
              "exact": {
                "description": "Example of filtering based on an exact string.",
                "value": "name:LocationPune"
              },
              "prefix": {
                "description": "Example of filtering based on a prefix string.",
                "value": "name:LocationPune*"
              },
              "postfix": {
                "description": "Example of filtering based on a postfix string.",
                "value": "name:*LocationPune"
              }
            }
          },
          {
            "name": "orderBy",
            "in": "query",
            "required": false,
            "description": "Field name on which sorting needs to be performed.\n\nThe possible fields you ordered on\n* name\n* accountId\n\nField Names are case-sensitive (should be written as it is in description).\n\nThe default sorting order is name ascending.\n\nTo specify descending order, a suffix \"desc\" should be added. For example, \"name\" for ascending or \"name desc\" for descending\".\n",
            "schema": {
              "type": "string",
              "minLength": 4,
              "maxLength": 255
            },
            "examples": {
              "ascending": {
                "value": "name"
              },
              "descending": {
                "value": "name desc"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of OrganizationNodes",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationNodePage"
                },
                "examples": {
                  "OrganizationNodePage": {
                    "$ref": "#/components/examples/OrganizationNodePage"
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/OrganizationNodeNotFound"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Problem": {
        "type": "object",
        "description": "<b>Problem Detail</b> as a way to carry machine-readable details of errors in a HTTP response to avoid the need to define new error response formats for HTTP APIs <a href=\"https://tools.ietf.org/html/rfc7807\">RFC 7807</a>\n",
        "properties": {
          "type": {
            "type": "string",
            "format": "uri",
            "description": "An absolute URI that identifies the problem type. When dereferenced, it SHOULD provide human-readable documentation for the problem type (e.g., using HTML).\n",
            "default": "about:blank",
            "example": "https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#constraint-violation"
          },
          "title": {
            "type": "string",
            "description": "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized).\n",
            "example": "Service Unavailable",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "description": "The HTTP status code generated by the origin server for this occurrence of the problem.\n",
            "minimum": 100,
            "maximum": 600,
            "exclusiveMaximum": true,
            "example": 503,
            "nullable": true
          },
          "detail": {
            "type": "string",
            "description": "A human readable explanation specific to this occurrence of the problem.\n",
            "example": "Connection to database timed out",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "format": "uri",
            "description": "An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.\n",
            "nullable": true
          },
          "violations": {
            "type": "array",
            "description": "A list of violations that occurred as a result of invalid data provided as part of a request.\n",
            "nullable": true,
            "items": {
              "type": "object",
              "properties": {
                "field": {
                  "type": "string",
                  "description": "The name of the field in the request that caused the violation. This can be the name of a path parameter, query parameter, or a field within the request body.\n",
                  "example": "accountId"
                },
                "message": {
                  "type": "string",
                  "description": "A human readable explanation specific to this occurrence of the violation.\n",
                  "example": "must match \"^[a-zA-Z]{6}$\""
                },
                "code": {
                  "type": "integer",
                  "format": "int32",
                  "description": "The violation code generated by the server for this occurrence of the violation. Use this code when implementing any error handling logic instead of the message, as the message can change.\n",
                  "example": 20006
                }
              }
            },
            "example": [
              {
                "field": "emailAddress",
                "message": "must not be null",
                "code": 20002
              },
              {
                "field": "accountId",
                "message": "must match \"^[a-zA-Z]{6}$\"",
                "code": 20006
              }
            ]
          }
        }
      },
      "OrganizationNode": {
        "description": "A node in Account's organization structure. It is managed by an account administrator. It is an efficient way to manage a large number of users, features and profiles by grouping them into different levels and hierarchical nodes based on regions, lines of business, etc.",
        "allOf": [
          {
            "$ref": "#/components/schemas/OrganizationNodeBasic"
          },
          {
            "type": "object",
            "properties": {
              "children": {
                "description": "Complete hierarchy of child nodes.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ChildNodePath"
                },
                "readOnly": true
              },
              "profiles": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Profile"
                }
              },
              "accountId": {
                "type": "string",
                "readOnly": true,
                "example": "AVSDER",
                "minLength": 6,
                "maxLength": 6,
                "description": "Unique Account"
              },
              "nodeType": {
                "type": "string",
                "maxLength": 255,
                "readOnly": true,
                "example": "OrganizationNode"
              },
              "countryCode": {
                "type": "string",
                "example": "IN",
                "minLength": 2,
                "maxLength": 2,
                "description": "Country code of the Organization Node"
              }
            },
            "title": "OrganizationNode"
          }
        ]
      },
      "ChildNodePath": {
        "description": "Path of the child of Organization node with the complete hierarchy.",
        "type": "string",
        "example": "account/location1"
      },
      "Profile": {
        "description": "Unique ID of User Profile like Basic, Core, Power, Trial, etc.",
        "type": "object",
        "required": [
          "profileId"
        ],
        "properties": {
          "profileId": {
            "type": "string",
            "example": "ASEDFG",
            "minLength": 6,
            "maxLength": 6,
            "pattern": "^[a-zA-Z0-9\\-\\_\\.\\ ]+$"
          },
          "url": {
            "type": "string",
            "example": "/api/admin/user/v1/accounts/AVSDER/profiles/ASEDFG",
            "minLength": 1,
            "maxLength": 255
          },
          "name": {
            "type": "string",
            "readOnly": true,
            "example": "ASEDFG",
            "minLength": 0,
            "maxLength": 255
          }
        },
        "title": "Profile"
      },
      "OrganizationNodePage": {
        "type": "object",
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          },
          "organizationNodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrganizationNode"
            }
          },
          "links": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Links"
              }
            ],
            "example": {
              "prev": "/api/admin/account/v1/accounts/ASDFAE/organization-nodes?pageNumber=1&pageSize=10",
              "next": "/api/admin/account/v1/accounts/ASDFAE/organization-nodes?pageNumber=3&pageSize=10"
            }
          }
        },
        "title": "OrganizationNodePage"
      },
      "OrganizationNodeBasic": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Location 1",
            "minLength": 1,
            "maxLength": 255,
            "pattern": "^(?=.*[a-zA-Z0-9\\p{L}])[a-zA-Z0-9\\p{L}(){};,'+&\\[\\]\\-\\_\\.\\ ]+$"
          },
          "parentPath": {
            "description": "Fully qualified name of this node's parent node",
            "type": "string",
            "maxLength": 1024,
            "example": "AccountA"
          },
          "organizationNodeId": {
            "type": "string",
            "minLength": 6,
            "maxLength": 6,
            "example": "DFSAWE",
            "readOnly": true
          },
          "url": {
            "type": "string",
            "example": "/api/admin/account/v1/accounts/accountA-id/organization-nodes/accountA-location1-id",
            "readOnly": true
          }
        },
        "title": "OrganizationNodeBasic"
      },
      "Pagination": {
        "type": "object",
        "properties": {
          "pageNumber": {
            "type": "integer",
            "description": "The current page number."
          },
          "pageSize": {
            "type": "integer",
            "description": "The max number of records that can be retrieved on this page."
          },
          "total": {
            "type": "integer",
            "description": "The total number of records."
          }
        }
      },
      "Links": {
        "type": "object",
        "properties": {
          "prev": {
            "type": "string",
            "default": "",
            "description": "URL of the previous page. Blank if currently on the first page."
          },
          "next": {
            "type": "string",
            "default": "",
            "description": "URL of the next page. Blank if currently on the last page."
          }
        }
      }
    },
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "This API uses Bearer Token Authorization Flow",
        "bearerFormat": "JWT"
      },
      "AppKey": {
        "type": "apiKey",
        "in": "header",
        "name": "appkey",
        "description": "This API needs an appKey as header"
      }
    },
    "parameters": {
      "accountId": {
        "name": "accountId",
        "description": "The unique 6 character internal id that represents the customer account.",
        "required": true,
        "in": "path",
        "schema": {
          "type": "string",
          "minLength": 6,
          "maxLength": 6,
          "pattern": "^[a-zA-Z]{6}$",
          "example": "ABCDEF"
        }
      },
      "pageNumber": {
        "name": "pageNumber",
        "in": "query",
        "description": "The page number of the records to retrieve. Default value is 1.",
        "schema": {
          "type": "integer",
          "format": "int32",
          "default": 1,
          "minimum": 1,
          "example": 2
        }
      }
    },
    "examples": {
      "OrganizationNodePage": {
        "description": "OrganizationNode list response",
        "value": {
          "pagination": {
            "pageNumber": 2,
            "pageSize": 10,
            "total": 45
          },
          "organizationNodes": [
            {
              "name": "Location",
              "parentPath": "AccountA",
              "organizationNodeId": "ACDSFE",
              "url": "/api/admin/account/v1/accounts/accountA-id/organization-nodes/accountA-location1-id",
              "nodeType": "OrganizationNode",
              "countryCode": "IN"
            }
          ],
          "links": {
            "prev": "/api/admin/account/v1/accounts/accountId/organization-nodes?pageNumber=1&pageSize=10",
            "next": "/api/admin/account/v1/accounts/accountId/organization-nodes?pageNumber=3&pageSize=10"
          }
        }
      },
      "OrganizationNodeNotFoundError": {
        "description": "OrganizationNode not found",
        "value": {
          "type": "https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#resource-not-found",
          "title": "OrganizationNode Not Found",
          "status": 404,
          "detail": "Organization Node with organizationNodeId:ASDAES not found."
        }
      },
      "UnauthorizedError": {
        "description": "Forbidden",
        "value": {
          "type": "https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#unauthorized",
          "title": "Unauthorized",
          "status": 401,
          "detail": "This operation requires authentication. See https://developers.avayacloud.com/onecloud-ccaas/docs/how-to-authenticate-with-ccaas-apis"
        }
      },
      "ForbiddenError": {
        "description": "Forbidden",
        "value": {
          "type": "https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#forbidden",
          "title": "Forbidden",
          "status": 403,
          "detail": "According to the access control policy the current user and/or accountId does not have permission to access this resource."
        }
      },
      "ServerError": {
        "description": "Internal Server Error",
        "value": {
          "type": "https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#server-error",
          "title": "Server Error",
          "status": 500,
          "detail": "An internal server error was encountered."
        }
      }
    },
    "responses": {
      "Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/Problem"
            },
            "examples": {
              "default": {
                "$ref": "#/components/examples/UnauthorizedError"
              }
            }
          }
        }
      },
      "Forbidden": {
        "description": "Forbidden",
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/Problem"
            },
            "examples": {
              "default": {
                "$ref": "#/components/examples/ForbiddenError"
              }
            }
          }
        }
      },
      "OrganizationNodeNotFound": {
        "description": "Not Found",
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/Problem"
            },
            "examples": {
              "default": {
                "$ref": "#/components/examples/OrganizationNodeNotFoundError"
              }
            }
          }
        }
      },
      "InternalServerError": {
        "description": "All other application errors",
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/Problem"
            },
            "examples": {
              "default": {
                "$ref": "#/components/examples/ServerError"
              }
            }
          }
        }
      }
    }
  },
  "x-readme": {
    "proxy-enabled": true
  }
}
```