> ## 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 custom domain

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

Removes a custom domain from the app and stops serving it.

This detaches the domain from Base44's hosting, deletes any email domain configured on it, and stops it serving your app. Other domains that were redirecting to this one stop redirecting.

Deleting is permanent and there's no undo. The domain itself isn't affected at your registrar, so you can point it somewhere else afterwards, but its Base44 configuration is removed. To stop serving a domain while keeping it attached, use [Unlink custom domain](/api-reference/unlink-custom-domain) instead.

The hostname stays reserved for your workspace after the delete. You can add it to another of your apps at any time; another workspace adding it must first prove it controls the DNS zone by publishing a TXT record Base44 hands them.

A failed delete can still take the domain out of service. Base44 detaches it from hosting and removes its email domain first, so a failure after that point leaves a domain that no longer works but still appears in [List custom domains](/api-reference/list-custom-domains). Retrying is safe and is how you finish the job. If the domain has already been deleted, the retry reports it as missing.



## OpenAPI

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


        Removes a custom domain from the app and stops serving it.


        This detaches the domain from Base44's hosting, deletes any email domain
        configured on it, and stops it serving your app. Other domains that were
        redirecting to this one stop redirecting.


        Deleting is permanent and there's no undo. The domain itself isn't
        affected at your registrar, so you can point it somewhere else
        afterwards, but its Base44 configuration is removed. To stop serving a
        domain while keeping it attached, use [Unlink custom
        domain](/api-reference/unlink-custom-domain) instead.


        The hostname stays reserved for your workspace after the delete. You can
        add it to another of your apps at any time; another workspace adding it
        must first prove it controls the DNS zone by publishing a TXT record
        Base44 hands them.


        A failed delete can still take the domain out of service. Base44
        detaches it from hosting and removes its email domain first, so a
        failure after that point leaves a domain that no longer works but still
        appears in [List custom domains](/api-reference/list-custom-domains).
        Retrying is safe and is how you finish the job. If the domain has
        already been deleted, the retry reports it as missing.
      operationId: delete_domain_api_apps__app_id__custom_domains__domain_id__delete
      parameters:
        - name: app_id
          in: path
          required: true
          schema:
            type: string
            description: ID of the app the domain belongs to.
            title: App Id
          description: ID of the app the domain belongs to.
          example: 6820f3a4e7b91d003c45a1f2
        - name: domain_id
          in: path
          required: true
          schema:
            type: string
            description: >-
              ID of the custom domain. Get this from [List custom
              domains](/api-reference/list-custom-domains).
            title: Domain Id
          description: >-
            ID of the custom domain. Get this from [List custom
            domains](/api-reference/list-custom-domains).
          example: 68b1c0d4e7b91d003c45a1f7
      responses:
        '200':
          description: The domain is deleted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomainMessageResponse'
        '400':
          description: >-
            The domain could not be detached from Base44's hosting. The domain
            is left attached, so retry.
        '401':
          description: Missing or invalid credentials.
        '403':
          description: >-
            You don't have access to this app, or you used a workspace API key.
            These endpoints take a personal API key.
        '404':
          description: The app has no custom domain with this ID, or the app doesn't exist.
components:
  schemas:
    DomainMessageResponse:
      properties:
        message:
          type: string
          title: Message
          description: What happened, in plain text.
          example: Domain successfully unlinked
      type: object
      required:
        - message
      title: DomainMessageResponse
      description: A one-line confirmation.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: api_key
      description: Personal API key.

````