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

# Obter o resultado da importação de registros

> O que veio de `import_existing_records` — lendo os registros do domínio do provedor do qual ele estava se afastando.

Seu próprio recurso em vez de um campo na zona, porque descreve um evento que aconteceu uma vez quando a zona foi criada e nunca muda.

Sondagem após a criação de uma zona com `import_existing_records: true`: `state` é `pending` enquanto o trabalho de fundo é executado. **Leia `complete` antes de desligar o seu antigo provedor** — veja o esquema.


<Info>
  Requer a ação do IAM **`dns:GetZone`**. Consulte [permissões de DNS](/pt/dns/permissions) para obter a lista completa, o que cada uma abrange e um exemplo de política.
</Info>


## OpenAPI

````yaml /pt/api-reference/specs/dns.yaml get /v1/zones/{zone_id}/record-import
openapi: 3.0.3
info:
  title: API de DNS Basaltic
  version: 1.0.0
  description: >
    Zonas hospedadas autoritativas e seus registros, assinados com DNSSEC. Uma
    zona só é servida quando sua propriedade é verificada; associar uma zona a
    uma VPC torna-a resolvível de forma privada dentro dessa rede.
  contact:
    name: Basaltic Support
    email: ping@basaltic.sh
  license:
    name: Proprietary
    url: https://basaltic.sh/terms
servers:
  - url: https://dns.basaltic.sh
    description: Endpoint global da API
security:
  - BearerAuth: []
paths:
  /v1/zones/{zone_id}/record-import:
    get:
      tags:
        - DNS
      summary: Obter o resultado da importação de registros
      description: >
        O que veio de `import_existing_records` — lendo os registros do domínio
        do provedor do qual ele estava se afastando.


        Seu próprio recurso em vez de um campo na zona, porque descreve um
        evento que aconteceu uma vez quando a zona foi criada e nunca muda.


        Sondagem após a criação de uma zona com `import_existing_records: true`:
        `state` é `pending` enquanto o trabalho de fundo é executado. **Leia
        `complete` antes de desligar o seu antigo provedor** — veja o esquema.
      operationId: getZoneRecordImport
      parameters:
        - $ref: '#/components/parameters/ZoneId'
      responses:
        '200':
          description: O resultado da importação
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneRecordImportResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: >
            Nenhuma importação foi solicitada para esta zona — o caso comum para
            uma zona criada sem `import_existing_records`. Também retornado para
            uma zona que não existe ou não é sua.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - BearerAuth: []
components:
  parameters:
    ZoneId:
      name: zone_id
      in: path
      description: ID da zona DNS
      required: true
      schema:
        type: string
        format: uuid
      example: 550e8400-e29b-41d4-a716-446655440000
  schemas:
    ZoneRecordImportResponse:
      type: object
      properties:
        record_import:
          $ref: '#/components/schemas/ZoneRecordImport'
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
            - request_id
          properties:
            code:
              type: string
              description: Código de erro identificando o tipo de erro
              example: INVALID_INPUT
            message:
              type: string
              description: Mensagem de erro legível pelo ser humano
              example: Invalid request parameters
            params:
              type: object
              additionalProperties: true
              description: >-
                Valores não sensíveis opcionais para interpolação de erros
                localizados, codificados por código de erro. Nunca presente para
                erros de servidor.
              example:
                instances: 2
                pools: 0
            request_id:
              type: string
              format: uuid
              description: Solicitar ID para depuração
              example: 550e8400-e29b-41d4-a716-446655440000
    ZoneRecordImport:
      type: object
      description: >
        O que veio de `import_existing_records` — lendo os registros do domínio
        do provedor do qual ele está se afastando.


        Seu próprio recurso, em GET /v1/zones/{zone_id}/record-import, porque
        descreve um evento que aconteceu uma vez quando a zona foi criada e
        nunca muda depois. 404 quando a zona foi criada sem pedir uma
        importação, que é o caso comum e não um erro.


        Uma importação com falha nunca é uma zona com falha. A zona existe,
        resolve uma vez delegada, e pode ser preenchida manualmente ou a partir
        de um arquivo de zona; apenas a conveniência não aconteceu.
      properties:
        state:
          type: string
          enum:
            - pending
            - complete
            - failed
          readOnly: true
          description: >
            `pending` enquanto o trabalho em segundo plano é executado.
            `complete` significa que a varredura foi executada e o que encontrou
            foi aplicado — não que tudo o que o domínio tem está agora aqui;
            veja `complete`.


            `pending` é limitado. Uma varredura é limitada bem abaixo do ponto
            em que ela pára de reportá-la, então um trabalho que morre sem
            registrar um resultado é reportado como `failed` em vez de ficar
            `pending` para a vida da zona. Não há nenhum estado que significa
            "ainda importando" após esse limite, e nada que você possa pesquisar
            mudaria.
          example: complete
        source:
          type: string
          enum:
            - axfr
            - nsec-walk
            - query
          readOnly: true
          description: >
            Como os registros foram encontrados, em ordem decrescente de quanto
            o resultado vale.


            `axfr` é uma transferência de zona: a zona inteira, exatamente.
            `nsec-walk` segue a cadeia DNSSEC NSEC da zona, que nomeia cada
            conjunto de registros nela — também exato, e disponível em zonas
            assinadas cujo provedor recusa transferências. `query` é uma lista
            de nomes comuns, que encontra o que pensou que queria pedir e não
            pode saber o que perdeu.


            Ausente enquanto pendente.
          example: query
        complete:
          type: boolean
          readOnly: true
          description: >
            True para as duas fontes que enumeram a zona — `axfr` e `nsec-walk`
            — e false para `query`.


            **Este é o campo a ser lido antes de desligar o seu provedor
            antigo.** Um false aqui significa que podem existir registros que
            não encontramos, não que nenhum deles exista.
          example: false
        found:
          type: integer
          readOnly: true
          description: Record define a digitalização virada para cima.
          example: 14
        imported:
          type: integer
          readOnly: true
          description: >
            Conjuntos de discos realmente escritos. Menor que `found` para os
            registros que você já criou — o seu ganha — e para aqueles que esta
            plataforma gerencia sozinha.
          example: 11
        notes:
          type: array
          items:
            type: string
          readOnly: true
          description: >-
            O que não pôde ser estabelecido, e o que deliberadamente não foi
            importado.
        error:
          type: string
          readOnly: true
          description: >-
            Presente apenas quando o estado é `failed`, e diz o que não poderia
            ser feito.
        updated_at:
          type: string
          format: date-time
          readOnly: true
  responses:
    Unauthorized:
      description: Autenticação necessária ou token inválido
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: UNAUTHORIZED
              message: Authentication required
              request_id: 550e8400-e29b-41d4-a716-446655440000
    Forbidden:
      description: Permissões insuficientes
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: ACCESS_DENIED
              message: You don't have permission to perform this action
              request_id: 550e8400-e29b-41d4-a716-446655440000
    InternalServerError:
      description: Erro interno do servidor
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: INTERNAL_ERROR
              message: An internal error occurred
              request_id: 550e8400-e29b-41d4-a716-446655440000
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >+
        Um token bearer OAuth 2.0, enviado como `Authorization: Bearer <token>`.
        Esta é a forma recomendada de autenticação.


        Obtenha o token trocando o par de chaves de acesso de uma conta de
        serviço em `POST /v1/oauth/token` com `grant_type=client_credentials`.
        Esse é o fluxo padrão de credenciais de cliente; bibliotecas compatíveis
        com OAuth podem obter e renovar o token para você.


        ```

        curl -s -u "$KEY_ID:$SECRET" -d grant_type=client_credentials \
          https://iam.basaltic.sh/v1/oauth/token
        ```


        Os tokens duram uma hora por padrão. O mesmo par de chaves de acesso
        também serve como credencial AWS SigV4 para o endpoint de objetos
        compatível com S3, que aceita somente esse método de autenticação.


````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.