---
title: "Add apps to folder"
method: POST
path: "/api/app-folders/{folder_id}/items"
---

# Add apps to folder

`POST /api/app-folders/{folder_id}/items`

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

Puts apps in a folder. An app is in one folder at a time, so this moves an app that's already in another folder.

The apps must be in the workspace, not deleted, and of the folder's kind: builder apps for a `user_app` folder and agents for a `user_agent` one. You can add any app in the workspace, including one you can't open. If an app is in a folder you can't change, such as another user's personal folder, the request is refused. Send up to 500 IDs per request. IDs that aren't valid app IDs are ignored and aren't counted in the response.

You can change your own personal folders. Workspace folders need the editor role or higher, and any editor can change any workspace folder. A folder that doesn't exist, or another user's personal folder, returns a `404` with the code `folder_not_found`. A personal access token limited to selected apps can only use the apps it lists. Any other app ID returns a `404`.

This is limited to 60 requests per minute, shared with the other endpoints that change folders. 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 is refused.</Note>

## Path parameters

- `folder_id` string, required — ID of the folder to add apps to. Get it from `id` in [List app folders](/api-reference/list-app-folders).

## Request body

- AddFolderAppsRequest
  - `app_ids` string[], required — IDs of the apps to put in the folder, up to 500.

## Response `200`

The apps are in the folder.

- AddFolderAppsResult
  - `linked_count` integer, required — Number of apps added to the folder.
  - `skipped_count` integer, required — Number of IDs skipped because the app was already in the folder or was listed twice.
  - `folder_id` string, required — ID of the folder.

## Other responses

- `400` — `app_ids` lists more than 500 IDs or holds no valid app ID (`invalid_request` for more than 500), or an app isn't of the folder's kind.
- `401` — Missing or invalid credentials.
- `403` — The folder is a workspace folder and you're a viewer or guest, or your token is read-only. Also returned when an app isn't in the workspace or is deleted, or is in a folder you can't change.
- `404` — `folder_not_found`: the folder doesn't exist in the workspace, or it's another user's personal folder. Also returned when your personal access token is limited to selected apps and doesn't list the app.
- `422` — Validation Error
- `429` — Rate limit exceeded.

## Changes

- **2026-10-07** `16e7d910d549` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/idealspot/apis/base44-app-management-api/changes/api/app-folders/:folder_id/items/post.md)

---

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