---
title: "List app folders"
method: GET
path: "/api/app-folders/tree"
---

# List app folders

`GET /api/app-folders/tree`

## Request

- Base URL: `https://app.base44.com`
- URL: `https://app.base44.com/api/app-folders/tree`
- Auth: HTTP bearer

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Returns the folders you can see in the workspace: its workspace folders, which every member sees, and your personal folders, which only you see.

A folder holds builder apps or agents, never both. Set `app_type` to `user_agent` to list agent folders.

Each folder names the folder it sits in through `parent_folder_id`, so build the tree from that. This returns folders only. To list the apps in a folder, call [List apps](/api-reference/list-apps) with `folder_id`.

This is limited to 300 requests per minute. A signed-in session has its own limit, and every personal access token for the workspace shares one. Some workspaces have a different limit.

<Note>Call this with a personal access token sent as a Bearer token, or from a signed-in session. A token works on its own workspace's folders. Workspace API keys aren't accepted, and a read-only token works.</Note>

## Query parameters

- `app_type` string: Which folders to list: `user_app` for builder app folders, or `user_agent` for agent folders. Defaults to `user_app`, and so does any other value.

## Response `200`

The folders you can see.

- AppFolderTree
  - `workspace_folders` AppFolderSummary[], required: Workspace folders, sorted by `position`.
    - `id` string, required: ID of the folder.
    - `name` string, required: Name of the folder.
    - `parent_folder_id` string, nullable, required: ID of the folder this one sits in, or `null` for a top-level folder.
    - `scope` 'workspace' | 'personal', required: `workspace` for a folder every member of the workspace sees, or `personal` for one only you see.
    - `position` number, required: Sort key among folders. Lower values come first.
    - `color` string, nullable: Color set on the folder, or `null` when none is set.
    - `icon` string, nullable: Icon name set on the folder, or `null` when none is set.
    - `app_type` 'user_app' | 'user_agent', nullable: `user_app` for a folder of builder apps, or `user_agent` for a folder of agents. Builder app folders created before agent folders existed leave it out.
    - `created_date` string, date-time, required: Time the folder was created, in UTC, as an ISO 8601 timestamp without a time zone offset.
  - `personal_folders` AppFolderSummary[], required: Your personal folders, sorted by `position`.
    - `id` string, required: ID of the folder.
    - `name` string, required: Name of the folder.
    - `parent_folder_id` string, nullable, required: ID of the folder this one sits in, or `null` for a top-level folder.
    - `scope` 'workspace' | 'personal', required: `workspace` for a folder every member of the workspace sees, or `personal` for one only you see.
    - `position` number, required: Sort key among folders. Lower values come first.
    - `color` string, nullable: Color set on the folder, or `null` when none is set.
    - `icon` string, nullable: Icon name set on the folder, or `null` when none is set.
    - `app_type` 'user_app' | 'user_agent', nullable: `user_app` for a folder of builder apps, or `user_agent` for a folder of agents. Builder app folders created before agent folders existed leave it out.
    - `created_date` string, date-time, required: Time the folder was created, in UTC, as an ISO 8601 timestamp without a time zone offset.
  - `favorite_folder_ids` string[], required: IDs of the folders in this response that you starred in the Base44 dashboard.

## Other responses

- `401`: Missing or invalid credentials.
- `429`: Rate limit exceeded.

## Changes

- **2026-10-21** `c23775445de2`: 1 breaking, 1 info
  - `query` request parameter `app_type` list-of-types was narrowed by removing types `null`
  - for the `query` request parameter `app_type`, the type was generalized from no type to `string`
- **2026-10-11** `80287813ab84`: 1 info
  - the endpoint scheme security `PersonalAccessTokenAuth` was added to the API
- **2026-10-07** `16e7d910d549`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/base44/apis/base44-app-management-api/changes/api/app-folders/tree/get.md)

---

[API](https://skmtc.dev/base44/apis/base44-app-management-api.md) - [All operations](https://skmtc.dev/base44/apis/base44-app-management-api/llms.txt) - [OpenAPI document](https://skmtc.dev/base44/apis/base44-app-management-api/revisions/c534f09cf314?raw)
