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

# Retry email domain setup

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

Retries setup for a domain that stalled, and reports where it got to.

What it retries depends on where the domain stopped:

- A domain waiting on DNS gets its records written again when Base44 controls them, or is reset so you can publish them yourself.
- A domain whose provider registration failed is registered again.
- A domain waiting on verification is checked again.

The `active` and `not_configured` statuses can't be retried. There's nothing to retry on a domain that already sends, and one that was never set up needs [Enable email sending for a domain](/api-reference/enable-email-sending-for-a-domain) instead.



## OpenAPI

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


        Retries setup for a domain that stalled, and reports where it got to.


        What it retries depends on where the domain stopped:


        - A domain waiting on DNS gets its records written again when Base44
        controls them, or is reset so you can publish them yourself.

        - A domain whose provider registration failed is registered again.

        - A domain waiting on verification is checked again.


        The `active` and `not_configured` statuses can't be retried. There's
        nothing to retry on a domain that already sends, and one that was never
        set up needs [Enable email sending for a
        domain](/api-reference/enable-email-sending-for-a-domain) instead.
      operationId: >-
        configure_email_domain_api_apps__app_id__custom_email_domains_configure_post
      parameters:
        - name: app_id
          in: path
          required: true
          schema:
            type: string
            description: ID of the app whose email domains you want to work with.
            title: App Id
          description: ID of the app whose email domains you want to work with.
          example: 6820f3a4e7b91d003c45a1f2
        - name: domain
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Domain to configure. Required when multiple domains exist.
            title: Domain
          description: Domain to configure. Required when multiple domains exist.
      responses:
        '200':
          description: Where setup stands after the retry.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfigureEmailResponse'
        '400':
          description: >-
            This app has more than one email domain and you didn't say which to
            act on. Send `domain`.
        '401':
          description: Missing or invalid credentials.
        '403':
          description: >-
            You don't have access to this app, you used a workspace API key, or
            the email domain is suspended. A suspended domain says why in the
            message.
        '404':
          description: >-
            This app has no email domain set up, or none matching the `domain`
            you sent.
        '412':
          description: >-
            There's nothing to retry. The domain already sends, or it was never
            set up.
        '429':
          description: >-
            Rate limit exceeded. The base limit is 5 requests per minute. See
            [Rate
            limits](/developers/references/apps-api/get-started/rate-limits) for
            the multiplier your plan gets.
components:
  schemas:
    ConfigureEmailResponse:
      properties:
        domain:
          type: string
          title: Domain
          description: The domain that was retried.
          example: example.com
        configuration_status:
          type: string
          title: Configuration Status
          description: >-
            Where setup stands after the retry. Only `active` sends mail. A
            retry starts the next step rather than finishing it, so this is
            often still a `pending_` value, meaning setup is in progress. The
            `failed_` values mean it stopped and you can try again.
          example: pending_domain_verification
        last_check:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Check
          description: >-
            When Base44 last checked this domain's records, as a UTC timestamp
            in ISO 8601 format, or `null` before the first check.
          example: '2026-08-26T09:12:44'
      type: object
      required:
        - domain
        - configuration_status
        - last_check
      title: ConfigureEmailResponse
      description: Response for email domain configuration.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: api_key
      description: Personal API key.

````