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

# Listar locatários

> Recupera uma lista paginada de tenants que pertencem à organização especificada. Suporta filtragem e ordenação sobre propriedades do tenant. Os filtros são fornecidos como uma cadeia JSON que segue a estrutura AST de FilterNode. Os resultados são retornados em páginas com metadados de paginação.



## OpenAPI

````yaml /pt-BR/api-reference/openapi.pt-v1.json get /v1/organizations/{organization_id}/tenants
openapi: 3.0.3
info:
  title: API Publica Portal
  version: 1.0.0
  description: API pública REST para portal
servers:
  - url: https://api.flexxible.net
    description: Portal API (production)
security:
  - bearerAuth: []
tags: []
paths:
  /v1/organizations/{organization_id}/tenants:
    get:
      tags:
        - Locatários
      summary: Listar locatários
      description: >-
        Recupera uma lista paginada de tenants que pertencem à organização
        especificada. Suporta filtragem e ordenação sobre propriedades do
        tenant. Os filtros são fornecidos como uma cadeia JSON que segue a
        estrutura AST de FilterNode. Os resultados são retornados em páginas com
        metadados de paginação.
      operationId: listTenants
      parameters:
        - name: organization_id
          in: path
          required: true
          schema:
            type: string
            maxLength: 24
            pattern: ^[0-9a-f]{24}$
          description: O identificador único da organização
          example: 507f1f77bcf86cd799439011
        - name: page
          in: query
          required: false
          schema:
            type: integer
            default: 1
            minimum: 1
          description: 'Número da página (padrão: 1)'
        - name: per_page
          in: query
          required: false
          schema:
            type: integer
            default: 100
            maximum: 100
            minimum: 1
          description: Número de itens por página
        - name: sort
          in: query
          required: false
          schema:
            type: string
          description: >-
            Campo de ordenação com sufixo opcional de ordem (:asc ou :desc),
            e.g., "name", "name:asc", "create_date:desc". Use ordem ascendente
            por padrão se não houver sufixo. Campos válidos: id, create_date,
            name, region, product_id, policy_id
        - name: fields
          in: query
          required: false
          schema:
            type: string
            maxLength: 2048
          description: >-
            Lista separada por vírgulas de campos a incluir em cada elemento do
            tenant. Campos selecionáveis: id, organization_id, create_date,
            name, region, product_id, policy_id. O campo id sempre é incluído.
          example: name,region,product_id
        - name: filters
          in: query
          required: false
          schema:
            type: string
            maxLength: 5120
            description: >-
              Filtra tenants usando um objeto JSON. Especifica o campo a
              filtrar, o operador de comparação e o valor. Exemplo: {"field":
              "name", "op": "eq", "value": "Tenant 1"}
            example: '{"field": "name", "op": "eq", "value": "Tenant 1"}'
          description: >-
            Filtra tenants por um ou mais critérios. Fornece um objeto JSON com
            condições de filtro. Pode filtrar por qualquer campo retornado na
            resposta. Use operadores de comparação (eq, ne, gt, gte, lt, lte,
            in, nin, contains, startsWith, endsWith, between) e combine várias
            condições com operadores lógicos (and, or). Comprimento máximo: 5120
            caracteres.
          examples:
            simple:
              summary: Filtro simples
              description: Filtre tenants por nome que contém texto.
              value: '{"field": "name", "op": "contains", "value": "production"}'
            complex-and:
              summary: Filtro complexo com E
              description: Filtre tenants por região e produto ao mesmo tempo.
              value: >-
                {"and": [{"field": "region", "op": "eq", "value": "us-east"},
                {"field": "product_id", "op": "eq", "value":
                "507f1f77bcf86cd799439030"}]}
            complex-or-and:
              summary: Combinar condições OU e E
              description: Corresponde a múltiplas regiões e aplica uma restrição de nome.
              value: >-
                {"and": [{"or": [{"field": "region", "op": "eq", "value":
                "us-east"}, {"field": "region", "op": "eq", "value":
                "eu-west"}]}, {"field": "name", "op": "contains", "value":
                "tenant"}]}
      responses:
        '200':
          description: >-
            Lista paginada de tenants recuperada com sucesso. A resposta inclui
            a bandeira de paginação e o array de dados de tenants.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TenantListItemV1ListResponseV1'
        '400':
          $ref: '#/components/responses/BadRequest'
          description: >-
            Solicitação incorreta. Causas comuns: - Parâmetros de paginação
            inválidos - Parâmetro de ordenação inválido - Parâmetros de filtro
            inválidos
        '401':
          $ref: '#/components/responses/Unauthorized'
          description: Não autorizado - é necessária autenticação
        '404':
          $ref: '#/components/responses/NotFound'
          description: Organização não encontrada
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    TenantListItemV1ListResponseV1:
      type: object
      properties:
        has_next:
          type: boolean
          description: Indica se há mais páginas disponíveis
        data:
          type: array
          items:
            $ref: '#/components/schemas/TenantListItemV1'
      required:
        - has_next
        - data
    TenantListItemV1:
      type: object
      properties:
        id:
          type: string
          description: ID do tenant
        organization_id:
          type: string
          description: ID da organização do tenant
        create_date:
          type: string
          format: date-time
          description: Data de criação (data e hora ISO 8601)
        name:
          type: string
          description: Nome do tenant
        region:
          type: string
          description: Região/ID de região
        product_id:
          type: string
          nullable: true
          description: >-
            Identificador do produto (nullable se o tenant não tiver produto
            atribuído)
        policy_id:
          type: string
          nullable: true
          description: >-
            Identificador da política (nullable se o tenant não tem política
            atribuída)
      required:
        - id
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
            code:
              type: string
            details:
              type: string
          required:
            - message
            - code
      required:
        - error
  responses:
    BadRequest:
      description: Solicitação incorreta
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Não autorizado
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Não encontrado
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    TooManyRequests:
      description: Solicitações em excesso
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InternalServerError:
      description: Erro interno do servidor
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````