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

# Actualizar un grupo de reporte

> Actualiza la configuración de un grupo de reporte existente, incluyendo nombre, descripción, destino de política de parches, patrón de búsqueda y dispositivos intermedios. Este endpoint implementa semántica de reemplazo completo: todos los campos actualizables deben incluirse en la solicitud. Omitir campos opcionales los limpiará (comportamiento idempotente). Puede configurar opcionalmente dispositivos intermedios (hasta 3) proporcionando identificadores de Workspace. Los dispositivos intermedios se usan para acciones Wake-on-LAN en redes seguras, permitiendo el encendido remoto de dispositivos a través de puertas de enlace intermedias. Los dispositivos intermedios deben definirse secuencialmente: no puede definir intermediate_device_2_id sin intermediate_device_1_id, ni intermediate_device_3_id sin intermediate_device_2_id. Todos los IDs de Workspace de dispositivos intermedios deben existir y pertenecer a la organización. Devuelve el recurso actualizado (200) tras una actualización exitosa.



## OpenAPI

````yaml /api-reference/openapi-v1.json put /v1/organizations/{organization_id}/reporting-groups/{reporting_group_id}
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}/reporting-groups/{reporting_group_id}:
    put:
      tags:
        - Grupos de reporte
      summary: Actualizar un grupo de reporte
      description: >-
        Actualiza la configuración de un grupo de reporte existente, incluyendo
        nombre, descripción, destino de política de parches, patrón de búsqueda
        y dispositivos intermedios. Este endpoint implementa semántica de
        reemplazo completo: todos los campos actualizables deben incluirse en la
        solicitud. Omitir campos opcionales los limpiará (comportamiento
        idempotente). Puede configurar opcionalmente dispositivos intermedios
        (hasta 3) proporcionando identificadores de Workspace. Los dispositivos
        intermedios se usan para acciones Wake-on-LAN en redes seguras,
        permitiendo el encendido remoto de dispositivos a través de puertas de
        enlace intermedias. Los dispositivos intermedios deben definirse
        secuencialmente: no puede definir intermediate_device_2_id sin
        intermediate_device_1_id, ni intermediate_device_3_id sin
        intermediate_device_2_id. Todos los IDs de Workspace de dispositivos
        intermedios deben existir y pertenecer a la organización. Devuelve el
        recurso actualizado (200) tras una actualización exitosa.
      operationId: updateReportingGroup
      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: reporting_group_id
          in: path
          required: true
          schema:
            type: string
            maxLength: 24
            pattern: ^[0-9a-f]{24}$
          description: El identificador único del grupo de reporte a actualizar
          example: 507f1f77bcf86cd799439020
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateReportingGroupRequestV1'
            examples:
              update-reporting-group-full-replacement:
                summary: >-
                  Actualizar grupo de reporte con todos los campos
                  actualizables, incluidos los dispositivos intermedios
                value:
                  name: Grupo de reporte de producción actualizado
                  description: Grupo de reporte actualizado para entornos de producción
                  patch_policy_target_id: 507f1f77bcf86cd799439040
                  fishing_pattern: Estaciones de trabajo Windows
                  fishing_pattern_field: full_name
                  intermediate_device_1_id: 507f1f77bcf86cd799439050
                  intermediate_device_2_id: 507f1f77bcf86cd799439051
                  intermediate_device_3_id: 507f1f77bcf86cd799439052
              update-reporting-group-minimal-fields:
                summary: >-
                  Actualizar grupo de reporte solo con los campos obligatorios
                  (limpia todos los campos opcionales)
                value:
                  name: Nombre actualizado del grupo de reporte
                description: >-
                  Este ejemplo muestra la actualización solo del nombre. Todos
                  los campos opcionales (description, patch_policy_target_id,
                  fishing_pattern, fishing_pattern_field y dispositivos
                  intermedios) se limpiarán.
              update-reporting-group-with-single-intermediate-device:
                summary: >-
                  Actualizar grupo de reporte solo con el primer dispositivo
                  intermedio
                value:
                  name: Nombre actualizado del grupo de reporte
                  description: Configuración de un solo dispositivo intermedio
                  intermediate_device_1_id: 507f1f77bcf86cd799439050
                description: >-
                  Este ejemplo establece solo intermediate_device_1_id.
                  intermediate_device_2_id e intermediate_device_3_id se
                  limpiarán si estaban establecidos previamente.
              update-reporting-group-clear-intermediate-devices:
                summary: >-
                  Actualizar grupo de reporte y limpiar todos los dispositivos
                  intermedios
                value:
                  name: Nombre actualizado del grupo de reporte
                  description: Sin dispositivos intermedios
                description: >-
                  Al omitir todos los campos intermediate_device_*_id, todos se
                  limpiarán (comportamiento idempotente).
      responses:
        '200':
          description: >-
            Grupo de reporte actualizado correctamente. La respuesta contiene el
            recurso actualizado.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportingGroupByIdV1'
        '400':
          $ref: '#/components/responses/BadRequest'
          description: >-
            Solicitud incorrecta. Causas comunes: - Faltan campos obligatorios
            (name) - Valores de campo no válidos - Valor de
            fishing_pattern_field no válido (debe ser uno de: full_name,
            description, ou, current_subnet) - Valor de fishing_pattern no
            válido (supera maxLength: 250) - Formato de ID no válido para los
            campos patch_policy_target_id o intermediate_device_*_id -
            Dispositivos intermedios no definidos secuencialmente
            (intermediate_device_2_id requiere intermediate_device_1_id,
            intermediate_device_3_id requiere intermediate_device_2_id)
        '401':
          $ref: '#/components/responses/Unauthorized'
          description: No autorizado - autenticación requerida
        '404':
          $ref: '#/components/responses/NotFound'
          description: >-
            No encontrado. Causas comunes: - Grupo de reporte no encontrado o
            que no pertenece a la organización - Destino de política de parches
            no encontrado
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
          description: >-
            Entidad no procesable. Causas comunes: - Los IDs de Workspace de
            dispositivos intermedios no existen o no pertenecen a la
            organización
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    UpdateReportingGroupRequestV1:
      type: object
      properties:
        name:
          type: string
          maxLength: 512
          description: >-
            El nombre del grupo de reporte. Debe ser único dentro de la
            organización.
          example: Grupo de reporte de producción actualizado
        description:
          type: string
          maxLength: 1000
          description: Opcional. Una descripción del propósito y uso del grupo de reporte.
          example: Grupo de reporte actualizado para entornos de producción
        patch_policy_target_id:
          type: string
          maxLength: 24
          pattern: ^[0-9a-f]{24}$
          description: >-
            Opcional. El identificador único del destino de política de parches
            que se asociará con este grupo de reporte. Establézcalo en null u
            omítalo para eliminar la asociación.
          example: 507f1f77bcf86cd799439040
        fishing_pattern:
          type: string
          maxLength: 250
          description: >-
            Opcional. Un patrón de expresión regular usado para hacer coincidir
            dispositivos. Debe ser un patrón regex válido. Si se proporciona,
            también se debe especificar fishing_pattern_field. Omítalo para
            eliminar el patrón.
          example: Estaciones de trabajo Windows
        fishing_pattern_field:
          type: string
          enum:
            - full_name
            - description
            - ou
            - current_subnet
          description: >-
            Opcional. Campo sobre el que se aplica fishing_pattern. Obligatorio
            si se proporciona fishing_pattern. Valores válidos: full_name
            (nombre completo del dispositivo), description (descripción del
            dispositivo), ou (unidad organizativa), current_subnet (subred
            actual).
          example: full_name
        intermediate_device_1_id:
          type: string
          maxLength: 24
          pattern: ^[0-9a-f]{24}$
          description: >-
            Opcional. El identificador único del Workspace del primer
            dispositivo intermedio. Los dispositivos intermedios se usan para
            acciones Wake-on-LAN en redes seguras, permitiendo el encendido
            remoto de los dispositivos objetivo a través de puertas de enlace
            intermedias. Los dispositivos intermedios deben definirse
            secuencialmente y sin huecos. Si se omite, se limpiarán todos los
            dispositivos intermedios. Si se proporcionan
            intermediate_device_2_id o intermediate_device_3_id, este campo es
            obligatorio.
          example: 507f1f77bcf86cd799439050
        intermediate_device_2_id:
          type: string
          maxLength: 24
          pattern: ^[0-9a-f]{24}$
          description: >-
            Opcional. El identificador único del Workspace del segundo
            dispositivo intermedio. Se usa para acciones Wake-on-LAN en redes
            seguras. Requiere que se proporcione intermediate_device_1_id. Si se
            omite mientras intermediate_device_1_id está proporcionado, este y
            intermediate_device_3_id se limpiarán. Si se proporciona
            intermediate_device_3_id, este campo es obligatorio.
          example: 507f1f77bcf86cd799439051
        intermediate_device_3_id:
          type: string
          maxLength: 24
          pattern: ^[0-9a-f]{24}$
          description: >-
            Opcional. El identificador único del Workspace del tercer
            dispositivo intermedio. Se usa para acciones Wake on LAN en redes
            seguras. Requiere que se proporcionen intermediate_device_1_id e
            intermediate_device_2_id. Si se omite mientras
            intermediate_device_1_id e intermediate_device_2_id están
            proporcionados, este campo se limpiará.
          example: 507f1f77bcf86cd799439052
      required:
        - name
      description: >-
        Cuerpo de la solicitud para actualizar un grupo de reporte existente.
        Este endpoint implementa semántica de reemplazo completo: todos los
        campos actualizables deben incluirse. Omitir campos opcionales los
        limpiará (comportamiento idempotente). Los dispositivos intermedios se
        usan para acciones Wake on LAN en redes seguras, permitiendo el
        encendido remoto de dispositivos a través de puertas de enlace
        intermedias. Los dispositivos intermedios deben definirse
        secuencialmente: no puede definir intermediate_device_2_id sin
        intermediate_device_1_id, ni intermediate_device_3_id sin
        intermediate_device_2_id. Todos los IDs de Workspace de dispositivos
        intermedios deben existir y pertenecer a la organización.
    ReportingGroupByIdV1:
      type: object
      properties:
        id:
          type: string
          description: ID del grupo de reporte
        name:
          type: string
          description: Nombre del grupo de reporte
        organization_id:
          type: string
          nullable: true
          description: Identificador de la organización
        product_config_id:
          type: string
          nullable: true
          description: Identificador de la configuración del producto
        fishing_pattern:
          type: string
          nullable: true
          description: Nombre del fishing pattern
        fishing_pattern_field:
          type: string
          enum:
            - full_name
            - description
            - ou
            - current_subnet
          nullable: true
          description: >-
            Campo sobre el que se aplica fishing_pattern. Valores posibles:
            full_name, description, ou, current_subnet.
        patch_policy_target_id:
          type: string
          nullable: true
          description: Identificador del destino de política de parches
        policy_reporting_group:
          type: string
          nullable: true
          description: Identificador del grupo de reporte de política
        overridden_agent_settings:
          $ref: '#/components/schemas/ReportingGroupAgentSettingsV1'
          nullable: true
          description: Ajustes del agente sobrescritos a nivel de grupo de reporte
        effective_agent_settings:
          $ref: '#/components/schemas/ReportingGroupEffectiveAgentSettingsV1'
          nullable: true
          description: >-
            Ajustes efectivos del agente (combinados desde la configuración del
            producto y sobrescrituras)
        execute_flexx_analyzer_agent:
          type: boolean
          description: Si la ejecución del agente Flexx Analyzer está habilitada
        intermediate_device_1_id:
          type: string
          nullable: true
          description: >-
            ID de Workspace del primer dispositivo intermedio (buscado por
            sysId)
        intermediate_device_2_id:
          type: string
          nullable: true
          description: >-
            ID de Workspace del segundo dispositivo intermedio (buscado por
            sysId)
        intermediate_device_3_id:
          type: string
          nullable: true
          description: >-
            ID de Workspace del tercer dispositivo intermedio (buscado por
            sysId)
      required:
        - id
        - name
        - execute_flexx_analyzer_agent
    ReportingGroupAgentSettingsV1:
      type: object
      properties:
        remote_support:
          type: string
          nullable: true
          description: Configuración de soporte remoto
        collect_device_location:
          type: boolean
          nullable: true
          description: Si la recopilación de ubicación del dispositivo está habilitada
        auto_update_agents:
          type: boolean
          nullable: true
          description: Si la actualización automática de agentes está habilitada
        collect_event_logs:
          type: boolean
          nullable: true
          description: Si la recopilación de registros de eventos está habilitada
        event_log_ids:
          type: string
          nullable: true
          description: IDs de registros de eventos
        event_logs_recurrence:
          type: number
          nullable: true
          description: Recurrencia de registros de eventos
        collect_disks:
          type: boolean
          nullable: true
          description: Si la recopilación de discos está habilitada
        collect_services:
          type: boolean
          nullable: true
          description: Si la recopilación de servicios está habilitada
        collect_pnp_events:
          type: boolean
          nullable: true
          description: Si la recopilación de eventos PnP está habilitada
        collect_public_ip:
          type: boolean
          nullable: true
          description: Si la recopilación de IP pública está habilitada
        fra_system_actions_role:
          type: string
          nullable: true
          description: Rol de acciones del sistema FRA
        unified_reporting:
          type: string
          nullable: true
          description: Configuración de reporte unificado
        unified_operations:
          type: string
          nullable: true
          description: Configuración de operaciones unificadas
        uninstall_protection:
          type: string
          nullable: true
          enum:
            - 'off'
            - 'on'
          description: >-
            Valores posibles: off, on. Si no hay un estado aplicable, devuelve
            null.
        web_apps:
          type: boolean
          nullable: true
          description: Si las web apps están habilitadas
    ReportingGroupEffectiveAgentSettingsV1:
      type: object
      description: >-
        Ajustes efectivos del agente (incluye campos de configuración del
        producto más sobrescrituras)
      properties:
        remote_support:
          type: string
          nullable: true
        collect_device_location:
          type: boolean
          nullable: true
        auto_update_agents:
          type: boolean
          nullable: true
        collect_event_logs:
          type: boolean
          nullable: true
        event_log_ids:
          type: string
          nullable: true
        event_logs_recurrence:
          type: number
          nullable: true
        collect_disks:
          type: boolean
          nullable: true
        collect_services:
          type: boolean
          nullable: true
        collect_pnp_events:
          type: boolean
          nullable: true
        collect_public_ip:
          type: boolean
          nullable: true
        fra_system_actions_role:
          type: string
          nullable: true
        unified_reporting:
          type: string
          nullable: true
        uninstall_protection:
          type: string
          nullable: true
          enum:
            - 'off'
            - 'on'
          description: >-
            Valores posibles: off, on. Si no hay un estado aplicable, devuelve
            null.
        resources_report_recurrence:
          type: number
          nullable: true
        profile_storage_report_recurrence:
          type: number
          nullable: true
        sync_broker_recurrence:
          type: number
          nullable: true
        detect_new_citrix_subscriptions:
          type: boolean
          nullable: true
        proxy_type:
          type: string
          nullable: true
        can_enable_flexx_agent_per_group:
          type: boolean
          nullable: true
        web_apps:
          type: boolean
          nullable: true
        fra_simplified_security:
          type: string
          nullable: true
    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: 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'
    UnprocessableEntity:
      description: Entidad no procesable
      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

````