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

# Lista clientes

> Lista os clientes da contratante dona da chave, paginados por cursor, do mais recente ao mais antigo. `search` aceita nome, documento ou placa — o formato do termo decide.



## OpenAPI

````yaml /referencia/openapi.json get /v1/customers
openapi: 3.0.0
info:
  title: Koolisys — API Pública
  description: >-
    Contrato da API pública de integração da Koolisys: atendimentos, catálogo de
    serviços, elegibilidade, cadastro e consulta de clientes e veículos e a
    própria contratante. Gerada a partir do código — rotas, DTOs de entrada,
    projeções de resposta e escopos declarados —, nunca mantida à mão.
  version: 1.0.0
  contact: {}
servers:
  - url: https://api-koolisys.eixoassistencia.com.br
    description: API pública da Koolisys
security: []
tags:
  - name: auth
    description: Emissão do token de curta duração a partir da chave de API
  - name: attendances
    description: Abertura, consulta e listagem de atendimentos
  - name: services
    description: Catálogo de serviços disponíveis
  - name: eligibility
    description: Consulta de elegibilidade de cliente e veículo
  - name: customers
    description: Cadastro, consulta, busca e listagem de clientes da contratante
  - name: vehicles
    description: Consulta e listagem de veículos da contratante
  - name: company
    description: 'A própria contratante: contratos vigentes e planos disponíveis'
  - name: meta
    description: A própria especificação
paths:
  /v1/customers:
    get:
      tags:
        - customers
      summary: Lista clientes
      description: >-
        Lista os clientes da contratante dona da chave, paginados por cursor, do
        mais recente ao mais antigo. `search` aceita nome, documento ou placa —
        o formato do termo decide.
      operationId: PublicCustomersController_list
      parameters:
        - name: limit
          required: false
          in: query
          description: Itens por página (1 a 100, padrão 20)
          schema:
            example: 20
        - name: cursor
          required: false
          in: query
          description: Cursor da próxima página, devolvido em meta.nextCursor
          schema: {}
        - name: updatedSince
          required: false
          in: query
          description: Só clientes alterados a partir desta data/hora ISO 8601
          schema:
            example: '2026-08-01T00:00:00.000Z'
        - name: search
          required: false
          in: query
          description: >-
            Nome (parcial), documento ou placa — o formato do termo decide o que
            casa
          schema:
            example: Maria
        - name: document
          required: false
          in: query
          description: CPF/CNPJ exato (pontuação ignorada)
          schema:
            example: '12345678900'
        - name: status
          required: false
          in: query
          description: Filtra por situação (ACTIVE, SUSPENDED ou INACTIVE)
          schema:
            example: ACTIVE
      responses:
        '200':
          description: Página de clientes
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                  - errors
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/PublicCustomerSummary'
                  meta:
                    $ref: '#/components/schemas/PublicCustomerPageMeta'
                  errors:
                    type: array
                    description: Sempre vazio numa resposta de sucesso.
                    items:
                      type: object
                    maxItems: 0
              example:
                data:
                  - id: 501
                    type: PF
                    name: Maria da Silva
                    socialName: null
                    document: '12345678900'
                    phone: '11999998888'
                    email: maria@exemplo.com.br
                    birthDate: '1990-05-10'
                    contractDate: '2026-08-01'
                    externalCode: ERP-000123
                    zipCode: 01310-100
                    addressLine: Av. Paulista
                    number: '1000'
                    complement: Sala 12
                    district: Bela Vista
                    city: São Paulo
                    state: SP
                    status: ACTIVE
                    createdAt: '2026-08-20T13:00:00.000Z'
                    updatedAt: '2026-08-20T13:00:00.000Z'
                meta:
                  nextCursor: null
                errors: []
        '400':
          description: VALIDATION_ERROR
          content:
            application/json:
              example:
                data: null
                errors:
                  - code: VALIDATION_ERROR
                    message: 'customerDocument: Documento do cliente é obrigatório'
                    field: customerDocument
        '401':
          description: INVALID_TOKEN
          content:
            application/json:
              example:
                data: null
                errors:
                  - code: INVALID_TOKEN
                    message: Token inválido.
        '403':
          description: INSUFFICIENT_SCOPE
          content:
            application/json:
              example:
                data: null
                errors:
                  - code: INSUFFICIENT_SCOPE
                    message: Escopo insuficiente para este endpoint.
                    details:
                      requiredScope: attendances.read
        '429':
          description: RATE_LIMITED
          content:
            application/json:
              example:
                data: null
                errors:
                  - code: RATE_LIMITED
                    message: Limite de requisições excedido.
                    details:
                      retryAfterSeconds: 42
        '503':
          description: FEATURE_DISABLED
          content:
            application/json:
              example:
                data: null
                errors:
                  - code: FEATURE_DISABLED
                    message: 'Feature is disabled: public_api.enabled'
      security:
        - apiToken: []
components:
  schemas:
    PublicCustomerSummary:
      type: object
      properties:
        id:
          type: integer
          format: int32
          description: Identificador do cliente.
        type:
          type: string
          enum:
            - PF
            - PJ
          description: PF (pessoa física, CPF) ou PJ (pessoa jurídica, CNPJ).
        name:
          type: string
          description: Nome completo ou razão social.
        socialName:
          type: string
          nullable: true
          description: Nome social ou nome fantasia, quando informado.
        document:
          type: string
          description: CPF ou CNPJ, só dígitos.
        phone:
          type: string
          nullable: true
          description: Telefone de contato.
        email:
          type: string
          nullable: true
          description: E-mail de contato.
        birthDate:
          type: string
          format: date
          nullable: true
          description: Data de nascimento (`YYYY-MM-DD`).
        contractDate:
          type: string
          format: date
          nullable: true
          description: Data de contratação junto ao parceiro (`YYYY-MM-DD`).
        externalCode:
          type: string
          nullable: true
          description: Código do cliente no sistema do parceiro, informado no cadastro.
        zipCode:
          type: string
          nullable: true
          description: CEP.
        addressLine:
          type: string
          nullable: true
          description: Logradouro.
        number:
          type: string
          nullable: true
          description: Número.
        complement:
          type: string
          nullable: true
          description: Complemento.
        district:
          type: string
          nullable: true
          description: Bairro.
        city:
          type: string
          nullable: true
          description: Cidade.
        state:
          type: string
          nullable: true
          description: UF, duas letras maiúsculas.
        status:
          type: string
          enum:
            - ACTIVE
            - SUSPENDED
            - INACTIVE
          description: 'Situação do cliente: ACTIVE, SUSPENDED ou INACTIVE.'
        createdAt:
          type: string
          format: date-time
          description: Quando o cliente foi cadastrado (ISO 8601, UTC).
        updatedAt:
          type: string
          format: date-time
          description: >-
            Última alteração do cadastro (ISO 8601, UTC) — use em
            `updatedSince`.
      required:
        - id
        - type
        - name
        - socialName
        - document
        - phone
        - email
        - birthDate
        - contractDate
        - externalCode
        - zipCode
        - addressLine
        - number
        - complement
        - district
        - city
        - state
        - status
        - createdAt
        - updatedAt
    PublicCustomerPageMeta:
      type: object
      properties:
        nextCursor:
          type: string
          nullable: true
          description: >-
            Cursor opaco da próxima página — repasse em `?cursor=`. Nulo quando
            não há mais páginas.
      required:
        - nextCursor
  securitySchemes:
    apiToken:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: >-
        Token de curta duração devolvido por POST /v1/auth/token, carregando os
        escopos concedidos à chave — exigido por todo endpoint de dados.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.