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

# Listar conversas

> Lista as conversas com origem, resultado, contagem de mensagens e horário da primeira resposta. O conteúdo das mensagens não é exposto.



## OpenAPI

````yaml https://api.ziala.com.br/v1/openapi.json get /v1/conversations
openapi: 3.0.0
info:
  title: API de dados da Ziala
  description: >-
    Leitura dos dados da sua conta (contatos, campos, conversas com origem de
    anúncio, mudanças de etapa e exclusões) para painéis e plataformas de dados.
  version: '1'
  contact:
    name: Suporte Ziala
    url: https://ziala.com.br
    email: contato@ziala.com.br
servers:
  - url: https://api.ziala.com.br
security: []
tags:
  - name: Conta
    description: A conta e os limites da chave.
  - name: Contatos
    description: Contatos e os valores dos campos personalizados.
  - name: Conversas
    description: Conversas, com origem e métricas.
  - name: Funis
    description: Etapas dos funis e o histórico de mudanças de etapa.
  - name: Campos
    description: Definições dos campos personalizados.
  - name: Exclusões
    description: Registros apagados, para replicar a exclusão.
paths:
  /v1/conversations:
    get:
      tags:
        - Conversas
      summary: Listar conversas
      description: >-
        Lista as conversas com origem, resultado, contagem de mensagens e
        horário da primeira resposta. O conteúdo das mensagens não é exposto.
      operationId: listConversations
      parameters:
        - name: updated_since
          required: false
          in: query
          schema:
            type: string
          description: >-
            Retorna só registros criados ou alterados a partir deste instante:
            data e hora ISO 8601 com fuso, ou só a data (`AAAA-MM-DD`,
            meia-noite UTC). A busca recua 5 minutos para cobrir diferenças de
            relógio, então grave pela chave primária (`id`).
        - name: cursor
          required: false
          in: query
          schema:
            type: string
          description: Valor de `next_cursor` da página anterior.
        - name: limit
          required: false
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 200
            default: 100
          description: Itens por página.
      responses:
        '200':
          headers:
            RateLimit-Limit:
              description: Requisições permitidas por minuto para a chave.
              schema:
                type: integer
            RateLimit-Remaining:
              description: Requisições restantes no minuto.
              schema:
                type: integer
            RateLimit-Reset:
              description: Segundos até o minuto reiniciar.
              schema:
                type: integer
          description: Página de conversas.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - next_cursor
                  - has_more
                  - sync_watermark
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      required:
                        - id
                        - contact_id
                        - created_at
                        - updated_at
                        - closed_at
                        - active
                        - channel_id
                        - agent_id
                        - origin_kind
                        - origin_ad_id
                        - origin_ctwa_clid
                        - origin_headline
                        - origin_at
                        - campaign_id
                        - outcome_category
                        - outcome_stage_id
                        - outcome_set_at
                        - contact_message_count
                        - agent_message_count
                        - first_response_at
                      properties:
                        id:
                          type: string
                          nullable: false
                          description: Identificador único do registro.
                          example: 7c2d9e41-0a3b-4f5c-8d6e-1f2a3b4c5d6e
                        contact_id:
                          type: string
                          nullable: false
                          description: Identificador do contato.
                          example: 3f6c2a9e-8b1d-4c7e-9a52-1e0d6b7f4a10
                        created_at:
                          type: string
                          format: date-time
                          nullable: false
                          description: Início da conversa.
                          example: '2026-10-13T14:02:11.000Z'
                        updated_at:
                          type: string
                          format: date-time
                          nullable: false
                          description: Data da última alteração.
                          example: '2026-10-13T14:31:02.000Z'
                        closed_at:
                          type: string
                          format: date-time
                          nullable: true
                          description: >-
                            Data de encerramento. `null` enquanto a conversa
                            está ativa.
                          example: null
                        active:
                          type: boolean
                          nullable: false
                          description: '`true` enquanto a conversa está ativa.'
                          example: true
                        channel_id:
                          type: string
                          nullable: true
                          description: Número de WhatsApp que atendeu a conversa.
                          example: f1e2d3c4-b5a6-4978-8a9b-0c1d2e3f4a5b
                        agent_id:
                          type: string
                          nullable: true
                          description: Agente que conduziu a conversa.
                          example: b7e1c0d2-5a4f-4e3b-8c9d-2f1a0e6d3c55
                        origin_kind:
                          type: string
                          nullable: true
                          description: >-
                            Origem da conversa. Valores: `ad` (anúncio
                            Click-to-WhatsApp da Meta) ou `link` (texto de um
                            link de campanha). Se a pessoa chegar por um segundo
                            anúncio na mesma conversa, vale o mais recente.
                          example: ad
                        origin_ad_id:
                          type: string
                          nullable: true
                          description: Identificador do anúncio na Meta.
                          example: '120211234567890123'
                        origin_ctwa_clid:
                          type: string
                          nullable: true
                          description: Identificador de clique da Meta (`ctwa_clid`).
                          example: >-
                            ARAkLkA8rmlFeiCktEJQ-QTwRiyYHAFDLMNDBH0CD3qpjd0HR4irJ6LEkR7JwFF4XvnO
                        origin_headline:
                          type: string
                          nullable: true
                          description: Título do anúncio.
                          example: Fale com um especialista
                        origin_at:
                          type: string
                          format: date-time
                          nullable: true
                          description: Data em que a origem foi registrada.
                          example: '2026-10-13T14:02:11.000Z'
                        campaign_id:
                          type: string
                          nullable: true
                          description: >-
                            Campanha cadastrada na Ziala que corresponde à
                            origem.
                          example: d5e6f7a8-9b0c-4d1e-8f2a-3b4c5d6e7f80
                        outcome_category:
                          type: string
                          nullable: true
                          description: >-
                            Resultado da conversa. Valores: `qualified`,
                            `disqualified` ou `open`. `null` enquanto ativa.
                          example: null
                        outcome_stage_id:
                          type: string
                          nullable: true
                          description: >-
                            Etapa em que o contato estava quando a conversa foi
                            encerrada.
                          example: null
                        outcome_set_at:
                          type: string
                          format: date-time
                          nullable: true
                          description: Data em que o resultado foi registrado.
                          example: null
                        contact_message_count:
                          type: integer
                          nullable: false
                          description: Mensagens enviadas pelo contato.
                          example: 6
                        agent_message_count:
                          type: integer
                          nullable: false
                          description: Mensagens enviadas pelo agente.
                          example: 7
                        first_response_at:
                          type: string
                          format: date-time
                          nullable: true
                          description: >-
                            Primeira resposta do agente depois da primeira
                            mensagem do contato.
                          example: '2026-10-13T14:02:19.000Z'
                  next_cursor:
                    type: string
                    nullable: true
                    example: >-
                      eyJ0IjoiM2Y2YzJhOWUiLCJ0cyI6IjIwMjYtMTEtMDNUMTQ6MzE6MDIuMDAwWiJ9
                    description: >-
                      Cursor da próxima página, para enviar em `cursor`. `null`
                      na última página.
                  has_more:
                    type: boolean
                    example: true
                    description: '`true` se há mais páginas.'
                  sync_watermark:
                    type: string
                    format: date-time
                    example: '2026-10-13T14:29:00.000Z'
                    description: >-
                      Instante até o qual esta leitura está completa, igual em
                      todas as páginas. Envie como `updated_since` na próxima
                      sincronização.
        '400':
          description: Parâmetro inválido, ou cursor alterado ou de outra conta.
          content:
            application/problem+json:
              schema:
                type: object
                required:
                  - type
                  - title
                  - status
                  - detail
                  - request_id
                properties:
                  type:
                    type: string
                    example: about:blank
                    description: Sempre `about:blank`.
                  title:
                    type: string
                    example: Requisição inválida
                    description: Resumo do erro, fixo por status.
                  status:
                    type: integer
                    example: 400
                    description: Status HTTP.
                  detail:
                    type: string
                    example: limit deve ser um número inteiro de 1 a 200.
                    description: Explicação desta ocorrência.
                  request_id:
                    type: string
                    example: req-3f2a
                    description: Identificador da requisição, para o suporte.
        '401':
          description: Chave ausente, inválida ou revogada.
          content:
            application/problem+json:
              schema:
                type: object
                required:
                  - type
                  - title
                  - status
                  - detail
                  - request_id
                properties:
                  type:
                    type: string
                    example: about:blank
                    description: Sempre `about:blank`.
                  title:
                    type: string
                    example: Requisição inválida
                    description: Resumo do erro, fixo por status.
                  status:
                    type: integer
                    example: 400
                    description: Status HTTP.
                  detail:
                    type: string
                    example: limit deve ser um número inteiro de 1 a 200.
                    description: Explicação desta ocorrência.
                  request_id:
                    type: string
                    example: req-3f2a
                    description: Identificador da requisição, para o suporte.
        '403':
          description: API de dados desligada na conta, ou plano sem acesso.
          content:
            application/problem+json:
              schema:
                type: object
                required:
                  - type
                  - title
                  - status
                  - detail
                  - request_id
                properties:
                  type:
                    type: string
                    example: about:blank
                    description: Sempre `about:blank`.
                  title:
                    type: string
                    example: Requisição inválida
                    description: Resumo do erro, fixo por status.
                  status:
                    type: integer
                    example: 400
                    description: Status HTTP.
                  detail:
                    type: string
                    example: limit deve ser um número inteiro de 1 a 200.
                    description: Explicação desta ocorrência.
                  request_id:
                    type: string
                    example: req-3f2a
                    description: Identificador da requisição, para o suporte.
        '429':
          description: >-
            Limite de requisições atingido (por minuto, por dia ou simultâneas).
            Aguarde o `Retry-After`.
          headers:
            Retry-After:
              description: Segundos a aguardar antes de repetir a requisição.
              schema:
                type: integer
            RateLimit-Limit:
              description: Requisições permitidas por minuto para a chave.
              schema:
                type: integer
            RateLimit-Remaining:
              description: Requisições restantes no minuto.
              schema:
                type: integer
            RateLimit-Reset:
              description: Segundos até o minuto reiniciar.
              schema:
                type: integer
          content:
            application/problem+json:
              schema:
                type: object
                required:
                  - type
                  - title
                  - status
                  - detail
                  - request_id
                properties:
                  type:
                    type: string
                    example: about:blank
                    description: Sempre `about:blank`.
                  title:
                    type: string
                    example: Requisição inválida
                    description: Resumo do erro, fixo por status.
                  status:
                    type: integer
                    example: 400
                    description: Status HTTP.
                  detail:
                    type: string
                    example: limit deve ser um número inteiro de 1 a 200.
                    description: Explicação desta ocorrência.
                  request_id:
                    type: string
                    example: req-3f2a
                    description: Identificador da requisição, para o suporte.
        '500':
          description: Erro inesperado. Repita com espera crescente.
          content:
            application/problem+json:
              schema:
                type: object
                required:
                  - type
                  - title
                  - status
                  - detail
                  - request_id
                properties:
                  type:
                    type: string
                    example: about:blank
                    description: Sempre `about:blank`.
                  title:
                    type: string
                    example: Requisição inválida
                    description: Resumo do erro, fixo por status.
                  status:
                    type: integer
                    example: 400
                    description: Status HTTP.
                  detail:
                    type: string
                    example: limit deve ser um número inteiro de 1 a 200.
                    description: Explicação desta ocorrência.
                  request_id:
                    type: string
                    example: req-3f2a
                    description: Identificador da requisição, para o suporte.
        '503':
          description: Serviço temporariamente indisponível. Aguarde o `Retry-After`.
          headers:
            Retry-After:
              description: Segundos a aguardar antes de repetir a requisição.
              schema:
                type: integer
            RateLimit-Limit:
              description: Requisições permitidas por minuto para a chave.
              schema:
                type: integer
            RateLimit-Remaining:
              description: Requisições restantes no minuto.
              schema:
                type: integer
            RateLimit-Reset:
              description: Segundos até o minuto reiniciar.
              schema:
                type: integer
          content:
            application/problem+json:
              schema:
                type: object
                required:
                  - type
                  - title
                  - status
                  - detail
                  - request_id
                properties:
                  type:
                    type: string
                    example: about:blank
                    description: Sempre `about:blank`.
                  title:
                    type: string
                    example: Requisição inválida
                    description: Resumo do erro, fixo por status.
                  status:
                    type: integer
                    example: 400
                    description: Status HTTP.
                  detail:
                    type: string
                    example: limit deve ser um número inteiro de 1 a 200.
                    description: Explicação desta ocorrência.
                  request_id:
                    type: string
                    example: req-3f2a
                    description: Identificador da requisição, para o suporte.
      security:
        - bearer: []
components:
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: zk_live_…
      type: http
      description: Chave da API da conta, no formato `zk_live_…`.

````

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