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

# Delete entity schema

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

Removes an entity from the app.

The entity has to be empty first. A delete on an entity that still has records returns a 428 and changes nothing, so delete its records before calling this.

<Warning>This changes the app's live schema right away, but it does not change the entity definition in the app's source code. Base44 rebuilds the live schema from the source files whenever the app's code changes, which reverts anything you set here. Change the code itself when you need the edit to last.</Warning>

Pass `User` as the `entity_name` to drop the custom fields from the built-in user entity. That does not delete any app users, and it is not blocked by existing records: the custom values stay in storage but stop being part of the user schema.

A name the app does not have returns a 404, except for a workspace API key, which gets a 200 so a repeated deploy is safe.

<Note>This endpoint accepts a personal API key, or a workspace API key with the `apps:deploy` scope.</Note>



## OpenAPI

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


        Removes an entity from the app.


        The entity has to be empty first. A delete on an entity that still has
        records returns a 428 and changes nothing, so delete its records before
        calling this.


        <Warning>This changes the app's live schema right away, but it does not
        change the entity definition in the app's source code. Base44 rebuilds
        the live schema from the source files whenever the app's code changes,
        which reverts anything you set here. Change the code itself when you
        need the edit to last.</Warning>


        Pass `User` as the `entity_name` to drop the custom fields from the
        built-in user entity. That does not delete any app users, and it is not
        blocked by existing records: the custom values stay in storage but stop
        being part of the user schema.


        A name the app does not have returns a 404, except for a workspace API
        key, which gets a 200 so a repeated deploy is safe.


        <Note>This endpoint accepts a personal API key, or a workspace API key
        with the `apps:deploy` scope.</Note>
      operationId: delete_schema_api_apps__app_id__entity_schemas__entity_name__delete
      parameters:
        - name: entity_name
          in: path
          required: true
          schema:
            type: string
            description: >-
              Name of the entity to remove, as returned by [List entity
              schemas](/api-reference/list-entity-schemas). Pass `User` to drop
              the built-in user entity's custom fields.
            title: Entity Name
          description: >-
            Name of the entity to remove, as returned by [List entity
            schemas](/api-reference/list-entity-schemas). Pass `User` to drop
            the built-in user entity's custom fields.
          example: Invoice
        - name: app_id
          in: path
          required: true
          schema:
            type: string
            description: ID of the app whose entity schemas you want.
            title: App Id
          description: ID of the app whose entity schemas you want.
          example: 6820f3a4e7b91d003c45a1f2
      responses:
        '200':
          description: The entity schema was removed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteEntitySchemaResponse'
        '401':
          description: Missing or invalid credentials.
        '403':
          description: >-
            You don't have editor access to this app, or your workspace API key
            lacks the `apps:deploy` scope.
        '404':
          description: >-
            App not found, or the app has no entity with this name (a workspace
            API key gets a 200 instead).
        '409':
          description: >-
            The request is scoped to a feature branch. Entity schemas can only
            be changed on the main branch.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '428':
          description: The entity still has records. Delete them first.
components:
  schemas:
    DeleteEntitySchemaResponse:
      properties:
        success:
          type: boolean
          title: Success
          description: Always `true`. A delete that failed returns an error status instead.
          example: true
      type: object
      required:
        - success
      title: DeleteEntitySchemaResponse
    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:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: api_key
      description: Personal API key.

````