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

# Listar Conexões

> Retorna todas as conexões (fontes de dados) vinculadas a um projeto específico.

Cada conexão representa uma conta de anúncios ou fonte de dados integrada (Meta Ads, Google Ads, TikTok Ads, etc.).


## Autenticação

Este endpoint aceita dois formatos de autenticação:

1. **JWT da plataforma**
   * Header: `Authorization: Bearer {jwt}`

2. **API Key do Metrito**
   * Header: `Authorization: Bearer mtk_live_...` **ou** `x-api-key: mtk_live_...`
   * Requer escopo `data:read`
   * O projeto deve pertencer ao workspace vinculado à chave


## OpenAPI

````yaml /openapi/platform.yaml get /v3/projects/{project_id}/connections
openapi: 3.1.0
info:
  title: API da Plataforma — Metrito
  version: '3.0'
  description: >
    API para autenticação e consulta de recursos da plataforma Metrito
    (projetos, conexões).

    Utilizada para obter tokens JWT e listar recursos disponíveis para o usuário
    autenticado.
servers:
  - url: https://api.metrito.com
    description: Produção
security: []
paths:
  /v3/projects/{project_id}/connections:
    get:
      summary: Listar conexões de um projeto
      description: >
        Retorna todas as conexões (fontes de dados) vinculadas a um projeto
        específico.


        Cada conexão representa uma conta de anúncios ou fonte de dados
        integrada (Meta Ads, Google Ads, TikTok Ads, etc.).
      operationId: listConnections
      parameters:
        - name: project_id
          in: path
          required: true
          description: ID do projeto.
          schema:
            type: string
            example: 69162064162b926ae607959b
      responses:
        '200':
          description: Lista de conexões retornada com sucesso
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Connection'
              example:
                - id: 64a1b2c3d4e5f6a7b8c9d0e1
                  source: Meta Ads
                  source_id: act_123456789
                  name: Conta Principal Meta
                  status: active
                  workspace_id: 60f1b2c3d4e5f6a7b8c9d0e1
                  webhook_url: null
                - id: 64a1b2c3d4e5f6a7b8c9d0e2
                  source: Google Ads
                  source_id: 123-456-7890
                  name: Google Ads Loja
                  status: active
                  workspace_id: 60f1b2c3d4e5f6a7b8c9d0e1
                  webhook_url: null
                - id: 64a1b2c3d4e5f6a7b8c9d0e3
                  source: Personalizado
                  source_id: null
                  name: Webhook Hotmart
                  status: active
                  workspace_id: 60f1b2c3d4e5f6a7b8c9d0e1
                  webhook_url: https://api.metrito.com/v2/tracking/generic?k=abc123
        '400':
          description: Projeto não encontrado ou sem permissão
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Not Found
                message: >-
                  Access denied: User doesn't have read permissions for this
                  project
      security:
        - bearerAuth: []
        - apiKeyAuth: []
components:
  schemas:
    Connection:
      type: object
      properties:
        id:
          type: string
          description: ID da conexão
        source:
          type: string
          description: >-
            Nome da fonte de dados (Meta Ads, Google Ads, TikTok Ads,
            Personalizado, etc.)
        source_id:
          type: string
          nullable: true
          description: ID da conta na plataforma de origem (ex. act_123456 para Meta)
        name:
          type: string
          description: Nome dado à conexão pelo usuário
        status:
          type: string
          description: Status atual da conexão
          enum:
            - active
            - error
            - paused
            - disabled
        workspace_id:
          type: string
          description: ID do workspace
        webhook_url:
          type: string
          nullable: true
          description: URL do webhook (apenas para conexões do tipo Personalizado)
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          example: false
        error:
          type: object
          properties:
            type:
              type: string
              description: Categoria do erro.
              enum:
                - authentication_error
                - authorization_error
                - validation_error
                - not_found_error
                - platform_error
                - api_error
            code:
              type: string
              description: Código de erro específico.
            message:
              type: string
              description: Descrição legível do erro.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT or API Key
      description: >-
        JWT da plataforma ou API key `mtk_live_...` enviada no header
        Authorization
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key `mtk_live_...` enviada via header `x-api-key`

````