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

# Listar Flows

> Lista os WhatsApp Flows da WABA por trás do número vinculado à chave, os atualizados mais recentemente primeiro. A WABA é DERIVADA da chave — não existe parâmetro que nomeie uma. `id` é o cuid local e é o único id que você manda de volta para nós; `metaFlowId` é o da Meta, somente leitura, e vem `null` enquanto o Flow existe aqui e ainda não chegou à Meta. Paginação por página, com envelope `totalPages`. Permissão `flows:read`.

**Exige chave com escopo de número.** Uma chave de tenant precisa nomear o número no header `x-whatsapp-number-id`, senão recebe 403 `TENANT_SCOPE_NOT_ALLOWED`.



## OpenAPI

````yaml openapi.pt.json GET /v1/flows
openapi: 3.1.0
info:
  title: API Pilot Status
  version: 1.0.0
  license:
    name: Pilot Status Terms of Service
    url: https://pilotstatus.com.br/terms
  description: >-
    API REST pública do Pilot Status. Autentique com o header `x-api-key:
    ps_...` (ou `x-api-key-id`). Base URL: https://pilotstatus.com.br
servers:
  - url: https://pilotstatus.com.br
security:
  - apiKey: []
  - apiKeyId: []
paths:
  /v1/flows:
    get:
      tags:
        - Flows
      summary: Listar Flows
      description: >-
        Lista os WhatsApp Flows da WABA por trás do número vinculado à chave, os
        atualizados mais recentemente primeiro. A WABA é DERIVADA da chave — não
        existe parâmetro que nomeie uma. `id` é o cuid local e é o único id que
        você manda de volta para nós; `metaFlowId` é o da Meta, somente leitura,
        e vem `null` enquanto o Flow existe aqui e ainda não chegou à Meta.
        Paginação por página, com envelope `totalPages`. Permissão `flows:read`.


        **Exige chave com escopo de número.** Uma chave de tenant precisa nomear
        o número no header `x-whatsapp-number-id`, senão recebe 403
        `TENANT_SCOPE_NOT_ALLOWED`.
      operationId: get_flows
      parameters:
        - name: page
          in: query
          required: false
          description: Número da página, começando em 1.
          schema:
            type: integer
            minimum: 1
            default: 1
          example: 1
        - name: pageSize
          in: query
          required: false
          description: Linhas por página. Padrão 30, máximo 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 30
          example: 30
      responses:
        '200':
          description: Listar Flows
          content:
            application/json:
              example:
                flows:
                  - id: cmf1a2b3c4d5e6f7g8h9i0j1
                    metaFlowId: '1122334455'
                    name: Agendamento
                    metaStatus: PUBLISHED
                    healthStatus: AVAILABLE
                    categories:
                      - APPOINTMENT_BOOKING
                    jsonVersion: '7.1'
                    clonedFromFlowId: null
                    supersededByFlowId: null
                    createdAt: '2026-08-30T12:00:00.000Z'
                    updatedAt: '2026-09-01T09:12:00.000Z'
                total: 1
                page: 1
                pageSize: 30
                totalPages: 1
        '400':
          description: Paginação profunda demais (`page` × `pageSize` além do teto)
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Portuguese half
                  errorEN:
                    type: string
                    description: English half
                  code:
                    type: string
              example:
                error: >-
                  Paginação profunda demais: page × pageSize não pode passar de
                  10000.
                errorEN: 'Pagination too deep: page × pageSize must not exceed 10000.'
                code: INVALID_PAGINATION
        '401':
          description: Header `x-api-key` / `x-api-key-id` ausente ou inválido
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  code:
                    type: string
              example:
                error: Unauthorized
        '403':
          description: >-
            Chave com escopo de tenant usada em endpoint com escopo de número,
            ou o papel da chave não tem a permissão
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  code:
                    type: string
              example:
                error: Tenant-scoped keys cannot call number endpoints
                code: TENANT_SCOPE_NOT_ALLOWED
        '422':
          description: >-
            O número da chave não é Meta (API Oficial), ou não tem WABA
            associada
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Portuguese half
                  errorEN:
                    type: string
                    description: English half
                  code:
                    type: string
              example:
                error: >-
                  Flows existem apenas em números Meta (API Oficial). O número
                  desta chave não é Meta ou não tem uma WABA associada — use uma
                  chave de um número Meta.
                errorEN: >-
                  Flows only exist on Meta (Cloud API) numbers. This key's
                  number is not a Meta number, or has no WABA behind it — use a
                  key bound to a Meta number.
                code: FLOW_REQUIRES_META_NUMBER
        '429':
          description: Limite de taxa excedido
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  code:
                    type: string
              example:
                error: Too many requests
        '500':
          description: Erro interno. Nunca carrega a mensagem interna — essa fica no log
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Portuguese half
                  errorEN:
                    type: string
                    description: English half
                  code:
                    type: string
              example:
                error: Erro interno do servidor.
                errorEN: Internal server error.
                code: INTERNAL_ERROR
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: Sua chave de API ps_
    apiKeyId:
      type: apiKey
      in: header
      name: x-api-key-id
      description: Id da chave de API (alternativa ao x-api-key)

````