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

# Criar uma conexão

> Cria uma conexão de banco de dados para o produto indicado no cabeçalho X-Product-Name.



## OpenAPI

````yaml pt/openapi/v3-current/connections.yaml post /v1/management/connections
openapi: 3.1.0
info:
  contact:
    email: contact@lerian.studio
    name: Lerian
    url: https://github.com/LerianStudio/fetcher/discussions
  description: Documentação da API do componente Manager do Fetcher
  license:
    identifier: Elastic-2.0
    name: Elastic License 2.0 (Source Available)
  title: API do Manager do Fetcher
  version: 1.0.0
servers: []
security:
  - BearerAuth: []
tags:
  - description: Ciclo de vida de conexões de banco de dados e operações de esquema.
    name: Connections
  - description: Operações legadas de atribuição de conexões e migração.
    name: Migration
  - description: Operações de criação e consulta de status de jobs de extração de dados.
    name: Fetcher
paths:
  /v1/management/connections:
    post:
      tags:
        - Connections
      summary: Criar uma conexão
      description: >-
        Cria uma conexão de banco de dados para o produto indicado no cabeçalho
        X-Product-Name.
      operationId: create-connection
      parameters:
        - description: Nome do produto usado para isolar a conexão.
          in: header
          name: X-Product-Name
          required: true
          schema:
            examples:
              - midaz
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConnectionInput'
        description: Configurações e credenciais da conexão.
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectionResponse'
          description: Criado
        '400':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Solicitação inválida
        '401':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Não autorizado
        '403':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Proibido
        '409':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Conflito
        '422':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Entidade não processável
        '500':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Erro interno do servidor
components:
  schemas:
    ConnectionInput:
      additionalProperties: false
      properties:
        configName:
          description: Nome de configuração exclusivo usado para referenciar esta conexão.
          examples:
            - production-db
          type: string
        databaseName:
          description: Nome do banco de dados ao qual se conectar.
          examples:
            - mydatabase
          type: string
        host:
          description: Nome do host ou endereço IP do servidor de banco de dados.
          examples:
            - db.example.com
          type: string
        metadata:
          additionalProperties: {}
          description: Metadados opcionais da conexão definidos pela aplicação.
          examples:
            - environment: production
              region: us-east-1
          type: object
        password:
          description: Senha de autenticação do banco de dados.
          examples:
            - secretpassword
          type: string
        port:
          description: Porta TCP do servidor de banco de dados.
          examples:
            - 5432
          format: int64
          type: integer
        schema:
          description: Esquema padrão opcional do banco de dados.
          examples:
            - public
          type: string
        ssl:
          $ref: '#/components/schemas/SSLInput'
          description: Configurações opcionais de SSL/TLS da conexão.
          examples:
            - ca: certificate-authority
              mode: require
        type:
          description: Tipo do mecanismo de banco de dados.
          examples:
            - POSTGRESQL
          type: string
        userName:
          description: Nome de usuário para autenticação no banco de dados.
          examples:
            - dbuser
          type: string
      required:
        - configName
        - type
        - host
        - port
        - databaseName
        - userName
        - password
      type: object
    ConnectionResponse:
      additionalProperties: false
      properties:
        configName:
          description: Nome de configuração usado para referenciar a conexão.
          examples:
            - production-db
          type: string
        createdAt:
          description: Data e hora em que a conexão foi criada.
          examples:
            - '2026-01-15T10:30:00Z'
          format: date-time
          type: string
        databaseName:
          description: Nome do banco de dados conectado.
          examples:
            - mydatabase
          type: string
        host:
          description: Nome do host ou endereço IP do servidor de banco de dados.
          examples:
            - db.example.com
          type: string
        id:
          description: Identificador exclusivo da conexão.
          examples:
            - 018f47a6-3e5f-7b9a-8c1d-2e3f4a5b6c7d
          type: string
        metadata:
          additionalProperties: {}
          description: Metadados da conexão definidos pela aplicação.
          examples:
            - environment: production
              region: us-east-1
          type: object
        port:
          description: Porta TCP do servidor de banco de dados.
          examples:
            - 5432
          format: int64
          type: integer
        productName:
          description: Produto proprietário da conexão.
          examples:
            - midaz
          type: string
        schema:
          description: Esquema padrão do banco de dados, quando configurado.
          examples:
            - public
          type: string
        ssl:
          $ref: '#/components/schemas/SSLResponse'
          description: Configurações de SSL/TLS definidas, sem os dados sigilosos.
          examples:
            - mode: require
        type:
          description: Tipo do mecanismo de banco de dados.
          examples:
            - POSTGRESQL
          type: string
        updatedAt:
          description: Data e hora da última atualização da conexão.
          examples:
            - '2026-01-16T14:45:00Z'
          format: date-time
          type: string
        userName:
          description: Nome de usuário para autenticação no banco de dados.
          examples:
            - dbuser
          type: string
      required:
        - id
        - configName
        - type
        - host
        - port
        - databaseName
        - userName
        - createdAt
        - updatedAt
      type: object
    Detail:
      additionalProperties: false
      properties:
        code:
          description: >-
            Código de erro de domínio estável e legível por máquina, restrito ao
            serviço emissor (formato: <SERVICE>-NNNN).
          examples:
            - ERR-0001
          type: string
        detail:
          description: Explicação legível específica desta ocorrência do problema.
          examples:
            - A propriedade foo é obrigatória, mas está ausente.
          type: string
        errors:
          description: Lista opcional de detalhes individuais do erro
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type:
            - array
            - 'null'
        instance:
          description: Referência URI que identifica a ocorrência específica do problema.
          examples:
            - https://example.com/error-log/abc123
          format: uri
          type: string
        status:
          description: Código de status HTTP
          examples:
            - 400
          format: int64
          type: integer
        title:
          description: >-
            Resumo curto e legível do tipo de problema. Esse valor não deve
            mudar entre ocorrências do erro.
          examples:
            - Requisição inválida
          type: string
        type:
          default: about:blank
          description: Referência URI para a documentação legível do erro.
          examples:
            - https://example.com/errors/example
          format: uri
          type: string
      type: object
    SSLInput:
      additionalProperties: false
      properties:
        ca:
          description: >-
            Autoridade certificadora codificada em PEM usada para verificar o
            servidor.
          examples:
            - |-
              -----BEGIN CERTIFICATE-----
              ...
          type: string
        cert:
          description: Certificado opcional do cliente codificado em PEM.
          examples:
            - |-
              -----BEGIN CERTIFICATE-----
              ...
          type: string
        key:
          description: >-
            Chave privada opcional codificada em PEM para o certificado do
            cliente.
          examples:
            - |-
              -----BEGIN PRIVATE KEY-----
              ...
          type: string
        mode:
          description: Modo SSL/TLS específico do driver.
          examples:
            - require
          type: string
      required:
        - mode
        - ca
      type: object
    SSLResponse:
      additionalProperties: false
      properties:
        mode:
          description: Modo SSL/TLS específico do driver configurado.
          examples:
            - require
          type: string
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Local em que o erro ocorreu, por exemplo, 'body.items[3].tags' ou
            'path.thing-id'
          type: string
        message:
          description: Texto da mensagem de erro
          type: string
        value:
          description: Valor no local indicado
      type: object
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      description: Token JWT do tipo bearer emitido pelo provedor de identidade.
      scheme: bearer
      type: http

````