> ## Documentation Index
> Fetch the complete documentation index at: https://docs.versuno.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List containers (tree)

> Returns the brain's containers as a nested tree, each carrying its `children`.



## OpenAPI

````yaml /openapi.yaml get /brains/{id}/containers/tree
openapi: 3.1.0
info:
  title: Versuno Public API
  description: >
    The Versuno Public API lets you manage AI assets, projects, and version
    history programmatically.


    All endpoints except key management require a Bearer API key in the
    `Authorization` header.

    API keys are formatted as
    `uk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`.
  version: 1.0.0
  contact:
    email: support@versuno.ai
servers:
  - url: https://versuno.ai/api/public
    description: Production
  - url: http://localhost:3000/api/public
    description: Local development
security:
  - bearerAuth: []
tags:
  - name: Authentication
    description: Verify API key validity and retrieve the caller's identity.
  - name: Teams
    description: Teams the authenticated user owns or is an active member of.
  - name: Assets
    description: AI assets — prompts, personas, contexts, system prompts, and skills.
  - name: Asset Trash
    description: Single-asset soft-delete, restore, and permanent delete lifecycle.
  - name: Bulk Asset Trash
    description: Bulk trash operations across multiple assets at once.
  - name: Projects
    description: Project folders for organising assets and teams.
  - name: Project Trash
    description: Project trash lifecycle — trashing deletes the entire subtree.
  - name: Versioning
    description: Full-snapshot version history with non-destructive revert support.
  - name: Public Brains
    description: >-
      Graph-based knowledge structures composed of containers (folders/groups)
      and nodes (content items). Read the graph, or run semantic RAG queries
      against it.
  - name: Memory
    description: >-
      The universal agent-memory layer. Capture coding-agent memory, recall it
      semantically, and resolve contradictions. Capture-only, scoped to your API
      key's account.
  - name: Key Management
    description: >-
      Create, update, and delete API keys. These endpoints do not require a
      Bearer token.
paths:
  /brains/{id}/containers/tree:
    get:
      tags:
        - Public Brains
      summary: List containers (tree)
      description: >-
        Returns the brain's containers as a nested tree, each carrying its
        `children`.
      operationId: listBrainContainersTree
      parameters:
        - name: id
          in: path
          required: true
          description: ID of the brain.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Array of root container trees.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BrainContainerTree'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
components:
  schemas:
    BrainContainerTree:
      description: A container plus its nested child containers.
      allOf:
        - $ref: '#/components/schemas/BrainContainer'
        - type: object
          properties:
            children:
              type: array
              description: Child containers, recursively nested.
              items:
                $ref: '#/components/schemas/BrainContainerTree'
    Error401:
      type: object
      properties:
        error:
          type: string
          example: Invalid API key
    BrainContainer:
      type: object
      description: A container — a folder/group node that organises nodes within a brain.
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the container.
          example: e5f6a7b8-c9d0-1234-ef01-567890123456
        brainId:
          type: string
          format: uuid
          description: ID of the brain this container belongs to.
          example: d4e5f6a7-b8c9-0123-def0-456789012345
        name:
          type: string
          description: Display name of the container.
          example: Routing
        canonicalName:
          type: string
          description: Stable, canonical name of the container.
          example: routing
        description:
          anyOf:
            - type: string
            - type: 'null'
          description: Short summary of the container, or null.
          example: Pages, layouts, and navigation.
        parentId:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          description: ID of the parent container, or null for a top-level container.
          example: null
        createdAt:
          type: string
          format: date-time
          description: When the container was created.
          example: '2026-06-01T08:05:00.000Z'
  securitySchemes:
    bearerAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Versuno API key. Must be prefixed with `Bearer`. Format: `Bearer
        uk_live_...`
      x-default: Bearer uk_live_your_api_key_here

````