> ## Documentation Index
> Fetch the complete documentation index at: https://docs.notifique.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Expandir provedores do domínio

> Registra provedores de entrega adicionais em um domínio já cadastrado e atualiza os registros DNS sugeridos. Mantém **VERIFIED** quando o provedor primário já estava verificado.



## OpenAPI

````yaml /es/emails-api/api-reference/openapi-email.json post /v1/email/domains/{id}/expand-providers
openapi: 3.0.3
info:
  title: Notifique API. E-mail
  description: >-
    Envie e-mails, gerencie domínios (envio e recebimento inbound), e consulte
    status. Autentique com `Authorization: Bearer sk_live_...` ou `x-api-key`.
  version: 1.0.0
servers:
  - url: https://api.notifique.dev
    description: Produção
security:
  - ntfEmailBearerAuth: []
  - ntfEmailApiKeyHeader: []
tags:
  - name: E-mail
    description: Envio e consulta de e-mails
  - name: Domínios
    description: Registro, verificação DNS (envio e inbound)
  - name: E-mails recebidos
    description: Listagem e detalhe de e-mails inbound persistidos (`email:inbound:read`)
  - name: Dominios
paths:
  /v1/email/domains/{id}/expand-providers:
    post:
      tags:
        - Domínios
      summary: Expandir provedores do domínio
      description: >-
        Registra provedores de entrega adicionais em um domínio já cadastrado e
        atualiza os registros DNS sugeridos. Mantém **VERIFIED** quando o
        provedor primário já estava verificado.
      operationId: ntfEmail_postV1EmailDomainExpandProviders
      parameters:
        - name: id
          in: path
          required: true
          description: ID (cuid) do domínio.
          schema:
            type: string
      responses:
        '200':
          description: Provedores expandidos ou nenhum provedor pendente para adicionar.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/NtfEmail_ExpandEmailDomainProvidersResponse
              examples:
                expanded:
                  summary: Novos provedores registrados
                  value:
                    success: true
                    verified: true
                    code: EMAIL_DOMAIN_VERIFIED
                    message: Provedores expandidos. Confira os novos registros DNS.
                    addedRoles:
                      - delivery
                    roleErrors: []
                    data:
                      id: clxx123...
                      domain: seudominio.com
                      status: VERIFIED
                      dnsRecords: []
                nothingToExpand:
                  summary: Nada a expandir
                  value:
                    success: true
                    addedRoles: []
                    message: Nenhum provedor adicional para registrar neste domínio.
                    data:
                      id: clxx123...
                      domain: seudominio.com
                      status: VERIFIED
        '401':
          description: API Key ausente ou inválida.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NtfEmail_ErrorResponse'
              example:
                success: false
                error: Bad Request
                code: VALIDATION_ERROR
                message: Campo inválido ou ausente.
        '403':
          description: Escopo `email:domains:list` e `email:domains:create` ausentes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NtfEmail_ErrorResponse'
              example:
                success: false
                error: Bad Request
                code: VALIDATION_ERROR
                message: Campo inválido ou ausente.
        '404':
          description: Domínio não encontrado.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NtfEmail_ErrorResponse'
              example:
                success: false
                error: Not Found
                message: >-
                  Domínio de e-mail não encontrado ou não pertence a este
                  workspace
                code: EMAIL_DOMAIN_NOT_FOUND
        '502':
          description: Falha ao consultar status no provedor após expansão.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NtfEmail_ErrorResponse'
        '503':
          description: Serviço de e-mail não configurado.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NtfEmail_ErrorResponse'
components:
  schemas:
    NtfEmail_ExpandEmailDomainProvidersResponse:
      type: object
      required:
        - success
        - message
      properties:
        success:
          type: boolean
          example: true
        data:
          $ref: '#/components/schemas/NtfEmail_EmailDomainItem'
        verified:
          type: boolean
          description: Presente após refresh DNS; indica se o domínio está verificado.
        code:
          type: string
          description: >-
            Código de verificação após expansão (ex.: EMAIL_DOMAIN_VERIFIED,
            EMAIL_DOMAIN_DNS_PENDING).
        message:
          type: string
          description: Mensagem orientando próximos passos de DNS.
        verificationSummary:
          type: string
          description: Resumo legível do status DNS após expansão.
        addedRoles:
          type: array
          items:
            type: string
          description: 'Papéis de provedor recém-registrados (ex.: delivery).'
        roleErrors:
          type: array
          items:
            type: object
            properties:
              role:
                type: string
              message:
                type: string
          description: Erros por papel de provedor que não puderam ser registrados.
      example:
        success: true
        message: string
        data:
          id: clxx...
          domain: string
          status: PENDING
          dnsRecords:
            - type: text
              name: Exemplo
              value: string
          suggestedDnsRecords:
            - type: text
              name: Exemplo
              value: string
          inboundDnsRecords:
            - type: text
              name: Exemplo
              value: string
          dkim:
            name: Exemplo
            value: string
          verification:
            primaryProvider: clxx...
            domainStatus: PENDING
            providers:
              - id: clxx...
                status: pending
                checks: {}
                isPrimary: true
            records: {}
          verifiedAt: '2025-02-10T14:00:00.000Z'
          createdAt: '2025-02-10T14:00:00.000Z'
          updatedAt: '2025-02-10T14:00:00.000Z'
        verified: true
        code: string
        verificationSummary: string
        addedRoles:
          - string
        roleErrors:
          - role: string
            message: string
    NtfEmail_ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          example: false
        error:
          type: string
          description: 'Rótulo HTTP do erro (ex.: Unauthorized, Bad Request, Not Found).'
        message:
          type: string
          description: >-
            Mensagem legível para exibir ao usuário (localizada via
            Accept-Language / x-locale quando aplicável).
        code:
          type: string
          description: >-
            Código estável da API v1 (enum). Sempre presente em erros. Use com o
            status HTTP para decidir retry ou correção. Ver [Respostas de
            erro](/guides/conceitos/resposta-de-erros).
        details:
          type: array
          items:
            type: object
            properties:
              field:
                type: string
              message:
                type: string
        data:
          type: object
          description: 'Dados adicionais em alguns erros (ex.: status do e-mail em cancel).'
          properties:
            status:
              type: string
              example: QUEUED
            id:
              type: string
              example: clxx...
            domain:
              type: string
              example: seudominio.com
      required:
        - success
        - error
        - message
        - code
      example:
        success: false
        error: string
        message: string
        code: string
        details:
          - field: string
            message: string
        data: {}
    NtfEmail_EmailDomainItem:
      type: object
      description: >-
        Domínio de e-mail (listagem, detalhe ou verify). Campos internos de
        provedor (`provider`, `providerDomainKey`, …) não são expostos.
      properties:
        id:
          type: string
          description: ID (cuid) do domínio.
        domain:
          type: string
          description: 'Domínio (ex.: seudominio.com).'
        status:
          type: string
          enum:
            - PENDING
            - VERIFIED
            - FAILED
          description: >-
            PENDING = aguardando DNS; VERIFIED = verificado para envio; FAILED =
            verificação falhou.
        dnsRecords:
          type: array
          items:
            $ref: '#/components/schemas/NtfEmail_DnsRecord'
          description: Registros do provedor (DKIM, bounce, tracking, MAIL FROM SES, etc.).
        suggestedDnsRecords:
          type: array
          items:
            $ref: '#/components/schemas/NtfEmail_DnsRecord'
          description: SPF e DMARC recomendados (não inclui MX inbound).
        inboundDnsRecords:
          type: array
          items:
            $ref: '#/components/schemas/NtfEmail_DnsRecord'
          description: MX para receber e-mails no domínio (inbound).
        dkim:
          type: object
          nullable: true
          properties:
            name:
              type: string
            value:
              type: string
          description: Atalho do registro DKIM principal, quando disponível.
        verification:
          $ref: '#/components/schemas/NtfEmail_DomainVerificationView'
        verifiedAt:
          type: string
          format: date-time
          nullable: true
          description: Data/hora da verificação (quando VERIFIED).
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
          description: Presente em GET por ID e após verify.
      example:
        id: clxx...
        domain: string
        status: PENDING
        dnsRecords:
          - type: text
            name: Exemplo
            value: string
        suggestedDnsRecords:
          - type: text
            name: Exemplo
            value: string
        inboundDnsRecords:
          - type: text
            name: Exemplo
            value: string
        dkim:
          name: Exemplo
          value: string
        verification:
          primaryProvider: clxx...
          domainStatus: PENDING
          providers:
            - id: clxx...
              status: pending
              checks: {}
              isPrimary: true
          records: {}
        verifiedAt: '2025-02-10T14:00:00.000Z'
        createdAt: '2025-02-10T14:00:00.000Z'
        updatedAt: '2025-02-10T14:00:00.000Z'
    NtfEmail_DnsRecord:
      type: object
      properties:
        type:
          type: string
          description: TXT, CNAME, MX, etc.
        name:
          type: string
          description: Nome do host do registro.
        value:
          type: string
          description: >-
            Valor do registro (para MX inclui prioridade, ex.: `10
            inbound.notifique.dev`).
      example:
        type: text
        name: Exemplo
        value: string
    NtfEmail_DomainVerificationView:
      type: object
      properties:
        primaryProvider:
          type: string
          description: Identificador da rota de envio primária configurada para o domínio.
        domainStatus:
          type: string
          enum:
            - PENDING
            - VERIFIED
            - FAILED
        providers:
          type: array
          items:
            $ref: '#/components/schemas/NtfEmail_DomainProviderVerification'
        records:
          type: object
          additionalProperties:
            type: string
            enum:
              - verified
              - pending
              - failed
              - not_checked
          description: 'Mapa `TIPO|host` → status (ex.: `TXT|api._domainkey.example.com`).'
          properties:
            TXT|api._domainkey.seudominio.com:
              type: string
              example: pending
      example:
        primaryProvider: clxx...
        domainStatus: PENDING
        providers:
          - id: clxx...
            status: pending
            checks: {}
            isPrimary: true
        records: {}
    NtfEmail_DomainProviderVerification:
      type: object
      properties:
        id:
          type: string
          description: >-
            Identificador interno da rota de entrega (valor retornado pela API;
            não exibido ao usuário final).
        status:
          type: string
          enum:
            - pending
            - verified
            - failed
        checks:
          type: object
          additionalProperties:
            type: string
            enum:
              - verified
              - pending
              - failed
              - not_checked
          description: >-
            Checks por tipo (dkim, bounce, tracking, spf, dmarc, inbound,
            mailFrom, …).
        isPrimary:
          type: boolean
      example:
        id: clxx...
        status: pending
        checks: {}
        isPrimary: true
  securitySchemes:
    ntfEmailBearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        API Key no header Authorization. Exemplo: `Authorization: Bearer
        sk_live_xxxxx`
    ntfEmailApiKeyHeader:
      type: apiKey
      in: header
      name: x-api-key
      description: 'API Key no header x-api-key. Exemplo: `x-api-key: sk_live_xxxxx`'

````