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

# Delete asset

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

Removes an asset from the app's media library. This can't be undone.

When the file is stored with Base44 for this app, the file is deleted too, and its URL stops working, including in the app's code. A file added by URL from somewhere else stays where it is. The asset is removed even if deleting the file fails.

This endpoint is limited to 120 requests per minute, shared with Create asset, Rename asset and Delete asset. Some workspaces have a different limit.

<Note>This endpoint accepts a personal API key belonging to a user with editor access to the app. A read-only key is refused, and workspace API keys are not accepted.</Note>



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json delete /api/apps/{app_id}/assets/{asset_id}
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/{asset_id}:
    delete:
      summary: Delete asset
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Removes an asset from the app's media library. This can't be undone.


        When the file is stored with Base44 for this app, the file is deleted
        too, and its URL stops working, including in the app's code. A file
        added by URL from somewhere else stays where it is. The asset is removed
        even if deleting the file fails.


        This endpoint is limited to 120 requests per minute, shared with Create
        asset, Rename asset and Delete asset. Some workspaces have a different
        limit.


        <Note>This endpoint accepts a personal API key belonging to a user with
        editor access to the app. A read-only key is refused, and workspace API
        keys are not accepted.</Note>
      operationId: delete_asset_api_apps__app_id__assets__asset_id__delete
      parameters:
        - name: asset_id
          in: path
          required: true
          schema:
            type: string
            description: >-
              ID of the asset to delete. Get it from `id` in [List
              assets](/api-reference/list-assets).
            title: Asset Id
          description: >-
            ID of the asset to delete. Get it from `id` in [List
            assets](/api-reference/list-assets).
          example: 68b0e1f2a3c4d5e6f7a8b9c0
        - name: app_id
          in: path
          required: true
          schema:
            type: string
            description: ID of the app whose media library to change.
            title: App Id
          description: ID of the app whose media library to change.
          example: 6820f3a4e7b91d003c45a1f2
      responses:
        '200':
          description: The asset was removed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeletedAsset'
        '401':
          description: Missing or invalid credentials.
        '403':
          description: >-
            You don't have editor access to this app, the app is blocked, your
            API key is read-only, or you used a workspace API key.
        '404':
          description: App not found, or the app has no asset with this ID.
        '429':
          description: >-
            Rate limit exceeded. The base limit is 120 requests per minute. See
            [Rate
            limits](/developers/references/apps-api/get-started/rate-limits) for
            the multiplier your plan gets.
components:
  schemas:
    DeletedAsset:
      properties:
        success:
          type: boolean
          title: Success
          description: Always `true`.
          example: true
      type: object
      required:
        - success
      title: DeletedAsset
  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.