> ## 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 workspaces

> Recupera una lista paginada de grupos de workspaces que pertenecen a la organización especificada. Admite filtrado y ordenación sobre propiedades de grupos de workspaces. Los filtros se proporcionan como una cadena JSON siguiendo la estructura AST de FilterNode. Los resultados se devuelven en páginas con metadatos de paginación.



## OpenAPI

````yaml /api-reference/openapi-v1.json get /v1/organizations/{organization_id}/workspace-groups
openapi: 3.0.3
info:
  title: API Publica Portal
  version: 1.0.0
  description: Api publica REST para portal
servers:
  - url: https://api.staging.flxwvdexternal.com
    description: Staging API server
security:
  - bearerAuth: []
tags: []
paths:
  /v1/organizations/{organization_id}/workspace-groups:
    get:
      tags:
        - Grupos de workspaces
      summary: Listar grupos de workspaces
      description: >-
        Recupera una lista paginada de grupos de workspaces que pertenecen a la
        organización especificada. Admite filtrado y ordenación sobre
        propiedades de grupos de workspaces. Los filtros se proporcionan como
        una cadena JSON siguiendo la estructura AST de FilterNode. Los
        resultados se devuelven en páginas con metadatos de paginación.
      operationId: listWorkspaceGroups
      parameters:
        - name: organization_id
          in: path
          required: true
          schema:
            type: string
            maxLength: 24
            pattern: ^[0-9a-f]{24}$
          description: El identificador único de la organización
          example: 507f1f77bcf86cd799439011
        - name: page
          in: query
          required: false
          schema:
            type: integer
            default: 1
          description: 'Número de página (predeterminado: 1)'
        - name: sort
          in: query
          required: false
          schema:
            type: string
          description: >-
            Campo de ordenación con sufijo opcional de orden (:asc o :desc).
            Campos de ordenación válidos: id, name, description, create_user,
            create_date, type, location. El orden ascendente se usa por defecto
            si no se proporciona sufijo.
        - name: fields
          in: query
          required: false
          schema:
            type: string
            maxLength: 2048
          description: >-
            Lista separada por comas de campos para incluir en cada elemento de
            grupos de workspaces. Campos seleccionables: id, name, description,
            organization_id, create_user, create_date, type, filter, location,
            entra_id_source. El campo id siempre se incluye.
          example: name,type,create_date
        - name: filters
          in: query
          required: false
          schema:
            type: string
            maxLength: 5120
            description: >-
              Filtrar grupos de workspaces usando un objeto JSON. Especifica el
              campo a filtrar, el operador de comparación y el valor. Ejemplo:
              {"field": "name", "op": "eq", "value": "grupos de workspaces 1"}
            example: '{"field": "name", "op": "eq", "value": "Grupo de Workspace 1"}'
          description: >-
            Filtrar grupos de workspaces por uno o más criterios. Proporciona un
            objeto JSON con condiciones de filtrado. Puedes 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 anidados como location o
            entra_id_source, usa notación por puntos (p. ej., location.latitude,
            entra_id_source.resource_type). Usa operadores de comparación (eq,
            ne, gt, gte, lt, lte, in, nin, contains, startsWith, endsWith,
            between) y combina múltiples condiciones con operadores lógicos
            (and, or). Longitud máxima: 5120 caracteres.
          examples:
            simple:
              summary: Filtrar por nombre de grupos de workspaces
              description: >-
                Devuelve grupos de workspaces cuyo nombre contiene el texto
                proporcionado.
              value: '{"field": "name", "op": "contains", "value": "finanzas"}'
            complex-and:
              summary: Filtrar por tipo y ubicación
              description: >-
                Devuelve grupos de workspaces STATIC por encima de un umbral de
                latitud.
              value: >-
                {"and": [{"field": "type", "op": "eq", "value": "STATIC"},
                {"field": "location.latitude", "op": "gt", "value": 40}]}
            complex-or-and:
              summary: Combinar condiciones OR y AND
              description: >-
                Coincide con múltiples patrones de nombre y requiere un tipo de
                recurso de Entra específico.
              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 elementos por página
      responses:
        '200':
          description: >-
            Lista paginada de grupos de workspaces recuperada correctamente. La
            respuesta incluye metadatos de paginación y un arreglo de datos de
            grupos de workspaces.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceGroupListItemV1ListResponseV1'
        '400':
          $ref: '#/components/responses/BadRequest'
          description: >-
            Solicitud incorrecta. Causas comunes: - Parámetros de paginación no
            válidos - Parámetro de ordenación no válido - Parámetros de filtrado
            no válidos
        '401':
          $ref: '#/components/responses/Unauthorized'
          description: No autorizado - se requiere autenticación
        '404':
          $ref: '#/components/responses/NotFound'
          description: Organización no 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 del grupo de workspaces
        name:
          type: string
          description: Nombre del grupo de workspaces
        description:
          type: string
          nullable: true
          description: Descripción del grupo de workspaces
        organization_id:
          type: string
          pattern: ^[0-9a-f]{24}$
          description: Identificador de la organización
        create_user:
          type: string
          nullable: true
          pattern: ^[0-9a-f]{24}$
          description: ID del usuario que creó el grupo de workspaces
        create_date:
          type: string
          format: date-time
          description: Marca de tiempo de creación
        type:
          type: string
          nullable: true
          enum:
            - static
            - dynamic
            - entra_id
          description: Tipo de grupos de workspaces
        filter:
          type: string
          nullable: true
          description: Cadena de filtro para grupos de workspaces dinámicos
        location:
          $ref: '#/components/schemas/WorkspaceLocationV1'
          nullable: true
          description: Información de ubicación del grupo de workspaces
        entra_id_source:
          $ref: '#/components/schemas/WorkspaceGroupEntraIdSourceV1'
          nullable: true
          description: Información de origen de Entra ID para el 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 latitud
        longitude:
          type: number
          description: Coordenada de longitud
        address:
          type: string
          description: Cadena de dirección
        description:
          type: string
          nullable: true
          description: Descripción de la ubicación
      required:
        - latitude
        - longitude
        - address
    WorkspaceGroupEntraIdSourceV1:
      type: object
      properties:
        resource_id:
          type: string
          description: ID de recurso de Entra ID
        resource_type:
          type: string
          enum:
            - group
            - administrative_unit
          description: Tipo de recurso de Entra ID
        resource_name:
          type: string
          description: Nombre del recurso de Entra ID
      required:
        - resource_id
        - resource_type
        - resource_name
  responses:
    BadRequest:
      description: Solicitud incorrecta
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: No autorizado
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: No encontrado
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    TooManyRequests:
      description: Demasiadas solicitudes
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InternalServerError:
      description: Error interno del servidor
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````