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

# List assets

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

Returns the files in the app's media library, newest first unless you set `sort`. That includes files uploaded to the app and files Base44 generated for it, such as AI-generated images and videos.

You can filter by:
- Text in the file name
- How the file got into the library
- File type

You get up to 500 assets, and there's no pagination. Use the filters to narrow a larger library.

This is limited to 120 requests a minute per app for each workspace's personal API keys, so every key in a workspace shares one allowance. Some workspaces have a different limit.

<Note>This endpoint accepts a personal API key, including a read-only one, from anyone with access to the app, viewers included. Workspace API keys are not authorized for it.</Note>

<Warning>The response includes fields beyond the ones documented here. Don't rely on undocumented response fields, as they can change at any time.</Warning>



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json get /api/apps/{app_id}/assets
openapi: 3.1.0
info:
  title: Base44 App Management API
  version: 1.0.0
servers:
  - url: https://app.base44.com
security:
  - PersonalAccessTokenAuth: []
paths:
  /api/apps/{app_id}/assets:
    get:
      summary: List assets
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Returns the files in the app's media library, newest first unless you
        set `sort`. That includes files uploaded to the app and files Base44
        generated for it, such as AI-generated images and videos.


        You can filter by:

        - Text in the file name

        - How the file got into the library

        - File type


        You get up to 500 assets, and there's no pagination. Use the filters to
        narrow a larger library.


        This is limited to 120 requests a minute per app for each workspace's
        personal API keys, so every key in a workspace shares one allowance.
        Some workspaces have a different limit.


        <Note>This endpoint accepts a personal API key, including a read-only
        one, from anyone with access to the app, viewers included. Workspace API
        keys are not authorized for it.</Note>


        <Warning>The response includes fields beyond the ones documented here.
        Don't rely on undocumented response fields, as they can change at any
        time.</Warning>
      operationId: list_assets_api_apps__app_id__assets_get
      parameters:
        - name: app_id
          in: path
          required: true
          schema:
            type: string
            description: ID of the app whose media library to read.
            title: App Id
          description: ID of the app whose media library to read.
          example: 6820f3a4e7b91d003c45a1f2
        - name: search
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Text to match, ignoring case, anywhere in the file name. For
              example, `logo` matches `Logo-dark.png`.
            title: Search
          description: >-
            Text to match, ignoring case, anywhere in the file name. For
            example, `logo` matches `Logo-dark.png`.
          example: logo
        - name: sort
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Order of the list. Either `newest`, `oldest`, or `a-z` for file
              name order, where uppercase letters come before lowercase ones.
              Defaults to `newest`, and any other value also sorts newest first.
            default: newest
            title: Sort
          description: >-
            Order of the list. Either `newest`, `oldest`, or `a-z` for file name
            order, where uppercase letters come before lowercase ones. Defaults
            to `newest`, and any other value also sorts newest first.
          example: a-z
        - name: source_type
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Keep only files with this `source_type`, either `upload` or
              `generated`.
            title: Source Type
          description: >-
            Keep only files with this `source_type`, either `upload` or
            `generated`.
          example: upload
        - name: file_type
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Keep only files with this `file_type`, matched exactly. For
              example, `png`.
            title: File Type
          description: >-
            Keep only files with this `file_type`, matched exactly. For example,
            `png`.
          example: png
      responses:
        '200':
          description: The app's assets.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Assets'
        '401':
          description: Missing or invalid credentials.
        '403':
          description: You don't have access to this app, or you used a workspace API key.
        '404':
          description: App not found.
        '429':
          description: >-
            Too many requests for this app in the last minute from personal API
            keys in your workspace.
components:
  schemas:
    Assets:
      items:
        $ref: '#/components/schemas/AssetSummary'
      type: array
      title: Assets
      description: The app's assets.
    AssetSummary:
      properties:
        id:
          type: string
          title: Id
          description: ID of the asset.
          example: 68b0e1f2a3c4d5e6f7a8b9c0
        app_id:
          type: string
          title: App Id
          description: ID of the app the asset belongs to.
          example: 6820f3a4e7b91d003c45a1f2
        file_name:
          type: string
          title: File Name
          description: Name of the file.
          example: Logo-dark.png
        file_url:
          type: string
          title: File Url
          description: URL of the file.
          example: >-
            https://media.base44.com/files/public/6820f3a4e7b91d003c45a1f2/Logo-dark.png
        source_type:
          type: string
          enum:
            - upload
            - generated
          title: Source Type
          description: >-
            How the file got into the library. `upload` for a file someone
            uploaded, and `generated` for most files Base44 created for the app,
            such as AI-generated images and videos or a Figma import.
          example: upload
        file_type:
          anyOf:
            - type: string
            - type: 'null'
          title: File Type
          description: >-
            File extension without the dot, usually lowercase, such as `png` or
            `mp4`. The value is `null` when the file was added without one.
          example: png
        created_date:
          type: string
          title: Created Date
          description: >-
            When the asset was added to the library, as a UTC timestamp in ISO
            8601 format.
          example: '2026-01-15T09:23:41'
        updated_date:
          type: string
          title: Updated Date
          description: >-
            When the asset was last changed, such as renamed, as a UTC timestamp
            in ISO 8601 format.
          example: '2026-01-15T09:31:07'
      type: object
      required:
        - id
        - app_id
        - file_name
        - file_url
        - source_type
        - file_type
        - created_date
        - updated_date
      title: AssetSummary
      description: A file in the app's media library.
  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.