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

# List contacts

> Returns a paginated list of contacts with optional filters (name, phone, email, text search)



## OpenAPI

````yaml /en/openapi.json get /v1/contacts
openapi: 3.0.0
info:
  title: Nuvia API - Company
  description: API documentation for companies
  version: '1.0'
  contact: {}
servers:
  - url: https://api.nuvia.ai
security: []
tags:
  - name: messages
    x-group: Mensagens
  - name: contacts
    x-group: Contatos
  - name: campaigns
    x-group: Campanhas
  - name: tables
    x-group: Tabelas e Listas
  - name: agents
    x-group: Agentes
  - name: conversations
    x-group: Conversas
  - name: inboxes
    x-group: Caixas de Entrada
  - name: knowledge
    x-group: Base de Conhecimento
  - name: Webhooks
    x-group: Webhooks
  - name: campaign-enrollments
    x-group: Inscrições em Campanha
  - name: custom-fields
    x-group: Campos Customizados
paths:
  /v1/contacts:
    get:
      tags:
        - contacts
      summary: List contacts
      description: >-
        Returns a paginated list of contacts with optional filters (name, phone,
        email, text search)
      operationId: ContactController_findContacts
      parameters:
        - name: x-company-id
          in: header
          description: >-
            Target company identifier. Required only for global API keys
            (type=global). Ignored for company API keys and human users.
          required: false
          schema:
            type: string
        - name: search
          required: false
          in: query
          description: >-
            Search term to filter contacts. Searches by: contact ID (exact
            ObjectId), name (partial, case-insensitive), email (partial,
            case-insensitive), or phone number (partial). Examples: "João",
            "joao@email.com", "11999998888", "507f1f77bcf86cd799439011".
          schema:
            type: string
        - name: filters
          required: false
          in: query
          description: >-
            Optional filters (JSON array). Each item: { field, operator, value
            }. field: contact.<key> (name, email, phone_number, country_code,
            linkedin_identifier) or the custom field's ObjectId. Operators: eq,
            neq, contains, not_contains, starts_with, ends_with, is_empty,
            is_not_empty.
          schema:
            type: string
        - name: skip_count
          required: false
          in: query
          description: >-
            When true, skips the total count (totalCount comes back null). For
            UI searches that don't paginate — in large tenants, the count is the
            most expensive part of the search.
          schema:
            type: string
        - name: page
          required: false
          in: query
          description: Page number (starts at 1)
          schema:
            maximum: 9007199254740991
            exclusiveMinimum: true
            default: 1
            type: string
            minimum: 0
        - name: rowsPerPage
          required: false
          in: query
          description: Number of items per page
          schema:
            maximum: 9007199254740991
            exclusiveMinimum: true
            default: 10
            type: string
            minimum: 0
      responses:
        '200':
          description: List of contacts returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactsListResponseDto'
        '401':
          description: Invalid or expired token
        '403':
          description: You do not have permission to access this resource
      security:
        - JWT-auth: []
components:
  schemas:
    ContactsListResponseDto:
      type: object
      properties:
        result:
          type: array
          items: {}
          description: List of contacts
        meta:
          description: Pagination metadata
      required:
        - result
        - meta
  securitySchemes:
    JWT-auth:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: Token JWT de autenticação

````