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

# Listar Clientes

> Lista os clientes da empresa com paginação e busca

# Listar Clientes

Lista clientes vinculados à empresa autenticada pela `X-API-Key`.

## Comportamento atual

* a coleção vem no campo `data`
* a paginação retorna `total`, `page`, `pages` e `per_page`
* o filtro `search` é aplicado ao nome do cliente
* cada item inclui `id`, `nome`, `email`, `telefone`, `pontos` e `created_at`

## Exemplo de resposta

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "data": [
      {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "nome": "João Silva",
        "email": "joao@email.com",
        "telefone": "+5511999999999",
        "pontos": 1250,
        "created_at": "2026-03-20T08:15:00Z"
      }
    ],
    "total": 1,
    "page": 1,
    "pages": 1,
    "per_page": 20
  }
  ```
</ResponseExample>

## Status comuns

* `200` listagem retornada com sucesso
* `401` API Key inválida ou revogada
* `403` plano sem `api_access`
* `422` header ou query inválidos
* `429` limite global da API pública excedido


## OpenAPI

````yaml GET /api/v1/public/clients
openapi: 3.1.0
info:
  contact:
    email: support@indiqai.com
    name: IndiqAI Support
    url: https://indiqai.com/
  description: Especificação OpenAPI da API Pública IndiqAI.
  license:
    name: Proprietary
    url: https://indiqai.com/license
  title: IndiqAI API Pública
  version: 1.5.0
servers:
  - description: Produção
    url: https://api.indiqai.com
security: []
paths:
  /api/v1/public/clients:
    get:
      tags:
        - API Pública
      summary: Listar clientes
      description: Lista clientes vinculados à empresa com paginação e busca por nome.
      operationId: list_clients_api_v1_public_clients_get
      parameters:
        - in: query
          name: page
          required: false
          schema:
            default: 1
            minimum: 1
            title: Page
            type: integer
        - in: query
          name: per_page
          required: false
          schema:
            default: 20
            maximum: 100
            minimum: 1
            title: Per Page
            type: integer
        - in: query
          name: search
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Search
        - description: Chave de API
          in: header
          name: X-API-Key
          required: true
          schema:
            description: Chave de API
            title: X-Api-Key
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponse_PublicClientResponse_'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
components:
  schemas:
    PaginatedResponse_PublicClientResponse_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/PublicClientResponse'
          title: Data
          type: array
        page:
          title: Page
          type: integer
        pages:
          title: Pages
          type: integer
        per_page:
          title: Per Page
          type: integer
        total:
          title: Total
          type: integer
      required:
        - data
        - total
        - page
        - pages
        - per_page
      title: PaginatedResponse[PublicClientResponse]
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    PublicClientResponse:
      description: Dados de um cliente.
      properties:
        created_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Created At
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email
        id:
          title: Id
          type: string
        nome:
          title: Nome
          type: string
        pontos:
          default: 0
          title: Pontos
          type: integer
        telefone:
          anyOf:
            - type: string
            - type: 'null'
          title: Telefone
      required:
        - id
        - nome
      title: PublicClientResponse
      type: object
    ValidationError:
      properties:
        ctx:
          title: Context
          type: object
        input:
          title: Input
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
        - loc
        - msg
        - type
      title: ValidationError
      type: object

````