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

> ## Agent Instructions
> Internal links on these pages omit the .md extension. Append .md to a docs page URL, or send an Accept: text/markdown header, to get that page as markdown.

# Add apps to folder

> <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>



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json post /api/app-folders/{folder_id}/items
openapi: 3.1.0
info:
  title: Base44 App Management API
  version: 1.0.0
servers:
  - url: https://app.base44.com
security:
  - PersonalAccessTokenAuth: []
paths:
  /api/app-folders/{folder_id}/items:
    post:
      summary: Add apps to folder
      description: >-
        <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>
      operationId: api_add_items_api_app_folders__folder_id__items_post
      parameters:
        - name: folder_id
          in: path
          required: true
          schema:
            type: string
            description: >-
              ID of the folder to add apps to. Get it from `id` in [List app
              folders](/api-reference/list-app-folders).
            title: Folder Id
          description: >-
            ID of the folder to add apps to. Get it from `id` in [List app
            folders](/api-reference/list-app-folders).
          example: 68c1f2a9b4e7d3005a2c9e11
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddFolderAppsRequest'
      responses:
        '200':
          description: The apps are in the folder.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddFolderAppsResult'
        '400':
          description: >-
            `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':
          description: Missing or invalid credentials.
        '403':
          description: >-
            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':
          description: >-
            `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':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '429':
          description: Rate limit exceeded.
components:
  schemas:
    AddFolderAppsRequest:
      properties:
        app_ids:
          items:
            type: string
          type: array
          maxItems: 500
          title: App Ids
          description: IDs of the apps to put in the folder, up to 500.
          example:
            - 6820f3a4e7b91d003c45a1f2
      type: object
      required:
        - app_ids
      title: AddFolderAppsRequest
    AddFolderAppsResult:
      properties:
        linked_count:
          type: integer
          title: Linked Count
          description: Number of apps added to the folder.
          example: 1
        skipped_count:
          type: integer
          title: Skipped Count
          description: >-
            Number of IDs skipped because the app was already in the folder or
            was listed twice.
          example: 0
        folder_id:
          type: string
          title: Folder Id
          description: ID of the folder.
          example: 68c1f2a9b4e7d3005a2c9e11
      type: object
      required:
        - linked_count
        - skipped_count
        - folder_id
      title: AddFolderAppsResult
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    PersonalAccessTokenAuth:
      type: http
      scheme: bearer
      description: 'Personal access token, sent as `Authorization: Bearer <token>`.'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.