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

# Associar uma VPC a uma zona privada

> Recusa em áreas públicas. Aceita um UUID ou CRN de VPC de propriedade da conta de qualquer região habilitada para DNS. CRNs resolvem em sua região nomeada; UUIDs pesquisam as regiões habilitadas. Os nomes nulos retornam 400; as VPCs ausentes, de conta estrangeira ou de região não configurada retornam 404. Pesquisas incompletas de UUID e identidades regionais duplicadas falham com um erro de servidor.

<Info>
  Requer a ação do IAM **`dns:AssociateVPC`**. 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 post /v1/zones/{zone_id}/vpc-associations
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}/vpc-associations:
    post:
      tags:
        - DNS
      summary: Associar uma VPC a uma zona privada
      description: >-
        Recusa em áreas públicas. Aceita um UUID ou CRN de VPC de propriedade da
        conta de qualquer região habilitada para DNS. CRNs resolvem em sua
        região nomeada; UUIDs pesquisam as regiões habilitadas. Os nomes nulos
        retornam 400; as VPCs ausentes, de conta estrangeira ou de região não
        configurada retornam 404. Pesquisas incompletas de UUID e identidades
        regionais duplicadas falham com um erro de servidor.
      operationId: associateZoneVPC
      parameters:
        - $ref: '#/components/parameters/IdempotencyKey'
        - $ref: '#/components/parameters/ZoneId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VPCAssociationRequest'
      responses:
        '202':
          description: Associação de aceitação
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VPCAssociationAccepted'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - BearerAuth: []
components:
  parameters:
    IdempotencyKey:
      name: Idempotency-Key
      in: header
      description: >-
        Chave opcional gerada pelo cliente que torna uma criação segura para
        reprodução. A reintentar uma solicitação com a mesma chave retorna o
        resultado original literalmente em vez de criar um recurso duplicado. A
        reutilização de uma chave com um corpo de solicitação diferente é
        rejeitada (422); uma solicitação cuja chave ainda está sendo processada
        retorna 409. Os registros são honrados por 24 horas. Use um UUID ou
        token exclusivo semelhante.
      required: false
      schema:
        type: string
        maxLength: 255
      example: 550e8400-e29b-41d4-a716-446655440000
    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:
    VPCAssociationRequest:
      type: object
      required:
        - vpc
      properties:
        vpc:
          type: string
          description: >
            UUID da VPC de propriedade da conta ou CRN de rede/vpc para associar
            a esta zona privada. Nomes nulos retornam 400 com "referências VPC
            em zonas DNS devem ser um UUID ou um CRN, que carrega a região".
            CRNs resolvem em sua região nomeada; UUIDs pesquisam todas as
            regiões habilitadas para DNS. VPCs ausentes, de conta estrangeira ou
            de região não configurada retornam 404. Pesquisas incompletas de
            UUID ou identidades duplicadas de UUID regional falham com um erro
            de servidor. A resposta contém o UUID canônico da VPC.
    VPCAssociationAccepted:
      type: object
      required:
        - zone_id
        - vpc_id
      properties:
        zone_id:
          type: string
          format: uuid
        vpc_id:
          type: string
          format: uuid
    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
  responses:
    BadRequest:
      description: Parâmetros de solicitação inválidos
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: INVALID_INPUT
              message: Invalid request parameters
              request_id: 550e8400-e29b-41d4-a716-446655440000
    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
    NotFound:
      description: Página não encontrada
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: NOT_FOUND
              message: Resource not found
              request_id: 550e8400-e29b-41d4-a716-446655440000
    Conflict:
      description: Conflito de recursos (por exemplo, já existe, estado inválido)
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: CONFLICT
              message: Resource with this name already exists
              request_id: 550e8400-e29b-41d4-a716-446655440000
    UnprocessableEntity:
      description: >
        A solicitação está bem formada, mas não pode ser processada conforme
        enviada. Nas operações que aceitam `Idempotency-Key` este é o caso de
        reutilização de chave: a chave foi vista pela primeira vez com uma carga
        de solicitação diferente, então reproduzir o resultado armazenado
        responderia a uma pergunta que o chamador não fez.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: IDEMPOTENCY_KEY_REUSED
              message: >-
                This Idempotency-Key was already used with a different request
                payload
              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.