> ## 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 grupos de espaços de trabalho

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



## OpenAPI

````yaml /pt-BR/api-reference/openapi.pt-v1.json get /v1/organizations/{organization_id}/workspace-groups
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}/workspace-groups:
    get:
      tags:
        - Grupos de workspaces
      summary: Listar grupos de espaços de trabalho
      description: >-
        Recupera uma lista paginada de grupos de workspaces que pertencem à
        organização especificada. Suporta filtragem e ordenação sobre
        propriedades de grupos de workspaces. Os filtros são fornecidos como uma
        cadeia JSON seguindo a estrutura AST de FilterNode. Os resultados são
        devolvidos em páginas com metadados de paginação.
      operationId: listWorkspaceGroups
      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
          description: 'Número da página (padrão: 1)'
        - name: sort
          in: query
          required: false
          schema:
            type: string
          description: >-
            Campo de ordenação com sufixo opcional de ordem (:asc ou :desc).
            Campos de ordenação válidos: id, name, description, create_user,
            create_date, type, location. A ordem ascendente é usada por padrão
            se não fornecido sufixo.
        - name: fields
          in: query
          required: false
          schema:
            type: string
            maxLength: 2048
          description: >-
            Lista separada por vírgulas de campos para incluir em cada elemento
            de grupos de workspaces. Campos selecionáveis: id, name,
            description, organization_id, create_user, create_date, type,
            filter, location, entra_id_source. O campo id sempre é incluído.
          example: name,type,create_date
        - name: filters
          in: query
          required: false
          schema:
            type: string
            maxLength: 5120
            description: >-
              Filtra grupos de workspaces usando um objeto JSON. Especifica o
              campo a filtrar, o operador de comparação e o valor. Exemplo:
              {"field": "name", "op": "eq", "value": "grupos de workspaces 1"}
            example: '{"field": "name", "op": "eq", "value": "Grupo de Workspace 1"}'
          description: >-
            Filtra grupos de workspaces por um ou mais critérios. Fornece um
            objeto JSON com condições de filtragem. Você pode filtrar por: id,
            name, description, create_user, create_date, type, location,
            entra_id_source.resource_id, entra_id_source.resource_type,
            entra_id_source.resource_name. Para campos aninhados como location
            ou entra_id_source, usa notação por pontos (por exemplo,
            location.latitude, entra_id_source.resource_type). Usa operadores de
            comparação (eq, ne, gt, gte, lt, lte, in, nin, contains, startsWith,
            endsWith, between) e combina múltiplas condições com operadores
            lógicos (and, or). Tamanho máximo: 5120 caracteres.
          examples:
            simple:
              summary: Filtrar por nome de grupos de workspaces
              description: Retorne grupos de workspaces cujo nome contém o texto fornecido.
              value: '{"field": "name", "op": "contains", "value": "finanzas"}'
            complex-and:
              summary: Filtrar por tipo e localização
              description: >-
                Retorne grupos de workspaces ESTÁTICOS acima de um limite de
                latitude.
              value: >-
                {"and": [{"field": "type", "op": "eq", "value": "STATIC"},
                {"field": "location.latitude", "op": "gt", "value": 40}]}
            complex-or-and:
              summary: Combinar condições OU e E
              description: >-
                Corresponde a múltiplos padrões de nome e requer um tipo
                específico de recurso Entra.
              value: >-
                {"and": [{"or": [{"field": "name", "op": "contains", "value":
                "Finanzas"}, {"field": "name", "op": "contains", "value":
                "RRHH"}]}, {"field": "entra_id_source.resource_type", "op":
                "eq", "value": "GROUP"}]}
        - name: per_page
          in: query
          required: false
          schema:
            type: integer
            default: 100
            maximum: 100
            minimum: 1
          description: Número de itens por página
      responses:
        '200':
          description: >-
            Lista paginada de grupos de workspaces recuperada corretamente. A
            resposta inclui metadados de paginação e um conjunto de dados de
            grupos de workspaces.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceGroupListItemV1ListResponseV1'
        '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
            filtragem 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:
    WorkspaceGroupListItemV1ListResponseV1:
      type: object
      properties:
        has_next:
          type: boolean
        data:
          type: array
          items:
            $ref: '#/components/schemas/WorkspaceGroupListItemV1'
      required:
        - has_next
        - data
    WorkspaceGroupListItemV1:
      type: object
      properties:
        id:
          type: string
          pattern: ^[0-9a-f]{24}$
          description: ID do grupo de workspaces
        name:
          type: string
          description: Nome do grupo de workspaces
        description:
          type: string
          nullable: true
          description: Descrição do grupo de workspaces
        organization_id:
          type: string
          pattern: ^[0-9a-f]{24}$
          description: Identificador da organização
        create_user:
          type: string
          nullable: true
          pattern: ^[0-9a-f]{24}$
          description: ID do usuário que criou o grupo de workspaces
        create_date:
          type: string
          format: date-time
          description: Marca temporal de criação
        type:
          type: string
          nullable: true
          enum:
            - static
            - dynamic
            - entra_id
          description: Tipo de grupos de workspaces
        filter:
          type: string
          nullable: true
          description: Cadeia de filtro para grupos de workspaces dinâmicos
        location:
          $ref: '#/components/schemas/WorkspaceLocationV1'
          nullable: true
          description: Informação de localização do grupo de workspaces
        entra_id_source:
          $ref: '#/components/schemas/WorkspaceGroupEntraIdSourceV1'
          nullable: true
          description: Informação de origem do Entra ID para o grupo de workspaces
      required:
        - id
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
            code:
              type: string
            details:
              type: string
          required:
            - message
            - code
      required:
        - error
    WorkspaceLocationV1:
      type: object
      properties:
        latitude:
          type: number
          description: Coordenada de latitude
        longitude:
          type: number
          description: Coordenada de longitude
        address:
          type: string
          description: Cadeia de endereço
        description:
          type: string
          nullable: true
          description: Descrição da localização
      required:
        - latitude
        - longitude
        - address
    WorkspaceGroupEntraIdSourceV1:
      type: object
      properties:
        resource_id:
          type: string
          description: ID de recurso do Entra ID
        resource_type:
          type: string
          enum:
            - group
            - administrative_unit
          description: Tipo de recurso do Entra ID
        resource_name:
          type: string
          description: Nome do recurso do Entra ID
      required:
        - resource_id
        - resource_type
        - resource_name
  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

````