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

# Listar contatos

> Retorna uma lista paginada de contatos com filtros opcionais (nome, telefone, e-mail, busca textual)



## OpenAPI

````yaml https://api.nuvia.ai/api/docs/user-json get /v1/contacts
openapi: 3.0.0
info:
  title: Nuvia API - Empresa
  description: Documentação da API para empresas
  version: '1.0'
  contact: {}
servers:
  - url: https://api.nuvia.ai
security: []
tags:
  - name: auth
    description: Autenticação
paths:
  /v1/contacts:
    get:
      tags:
        - contacts
      summary: Listar contatos
      description: >-
        Retorna uma lista paginada de contatos com filtros opcionais (nome,
        telefone, e-mail, busca textual)
      operationId: ContactController_findContacts
      parameters:
        - name: x-company-id
          in: header
          description: >-
            Identificador da empresa-alvo. Obrigatório apenas para API Keys
            globais (type=global). Ignorado para API Keys de empresa e usuários
            humanos.
          required: false
          schema:
            type: string
        - name: search
          required: false
          in: query
          description: >-
            Termo de busca para filtrar contatos. Busca por: ID do contato
            (ObjectId exato), nome (parcial, case-insensitive), e-mail (parcial,
            case-insensitive) ou número de telefone (parcial). Exemplos: "João",
            "joao@email.com", "11999998888", "507f1f77bcf86cd799439011".
          schema:
            type: string
        - name: filters
          required: false
          in: query
          description: >-
            Filtros opcionais (JSON array). Cada item: { field, operator, value
            }. field: contact.<key> (name, email, phone_number, country_code,
            linkedin_identifier) ou ObjectId do campo customizado. Operadores:
            eq, neq, contains, not_contains, starts_with, ends_with, is_empty,
            is_not_empty.
          schema:
            type: string
        - name: page
          required: false
          in: query
          description: Número da página (começa em 1)
          schema:
            maximum: 9007199254740991
            exclusiveMinimum: true
            default: 1
            type: string
            minimum: 0
        - name: rowsPerPage
          required: false
          in: query
          description: Quantidade de itens por página
          schema:
            maximum: 9007199254740991
            exclusiveMinimum: true
            default: 10
            type: string
            minimum: 0
      responses:
        '200':
          description: Lista de contatos retornada com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactsListResponseDto'
        '401':
          description: Token inválido ou expirado
        '403':
          description: Sem permissão para acessar este recurso
      security:
        - JWT-auth: []
components:
  schemas:
    ContactsListResponseDto:
      type: object
      properties:
        result:
          type: array
          items: {}
          description: Lista de contatos
        meta:
          description: Metadados da paginação
      required:
        - result
        - meta
  securitySchemes:
    JWT-auth:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: Token JWT de autenticação

````