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

# Actualizar grupo

> Actualiza el nombre de un grupo, añade o elimina sitios web y, solo para socios, establece o borra la vinculación `external_id`. Indica al menos un campo. Requiere una clave global. Las **integraciones de socios** pueden pasar `external_id` como una cadena no vacía para establecer o sustituir la vinculación, o `null` para borrarla. La respuesta incluye `externalId` en el grupo y en cada objeto de `websites` (`null` si no hay vinculación).



## OpenAPI

````yaml es/api-reference/openapi.json patch /api/v1/groups/{group_id}
openapi: 3.1.0
info:
  title: API de AthenaHQ
  description: >-
    La API de AthenaHQ ofrece acceso programático para gestionar tus sitios web
    y consultas para optimizar el contenido con IA.
  version: 1.0.0
  contact:
    email: support@athenahq.ai
servers:
  - url: https://api.athenahq.ai
    description: Servidor de producción
security:
  - apiKey: []
tags:
  - name: Basics
    description: Operaciones principales de la API para gestionar sitios web y consultas
  - name: Metrics
    description: Endpoints de métricas y análisis para monitorizar la visibilidad en IA
  - name: Billing
    description: Endpoints de facturación y créditos para gestionar el uso
  - name: Team Management
    description: Endpoints para gestionar miembros del equipo e invitaciones
  - name: Groups
    description: Endpoints para gestionar grupos de sitios web
  - name: Content
    description: >-
      Endpoints para acceder a los datos del centro de contenidos: pestañas, URL
      monitorizadas y desglose de consultas por URL.
  - name: Pitch Workspace
    description: >-
      Endpoints para acceder a los informes del espacio de propuestas:
      ejecuciones de propuestas con alcance de organización, con competidores,
      consultas, atributos y métricas agregadas.
  - name: Knowledge Base
    description: >-
      Endpoints para leer la base de conocimientos de la marca: datos aprobados
      sobre la marca y los pilares que los organizan.
paths:
  /api/v1/groups/{group_id}:
    parameters:
      - name: group_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
        description: Identificador único del grupo
        example: 123e4567-e89b-12d3-a456-426614174000
    patch:
      tags:
        - Groups
      summary: Actualizar grupo
      description: >-
        Actualiza el nombre de un grupo, añade o elimina sitios web y, solo para
        socios, establece o borra la vinculación `external_id`. Indica al menos
        un campo. Requiere una clave global. Las **integraciones de socios**
        pueden pasar `external_id` como una cadena no vacía para establecer o
        sustituir la vinculación, o `null` para borrarla. La respuesta incluye
        `externalId` en el grupo y en cada objeto de `websites` (`null` si no
        hay vinculación).
      operationId: updateGroup
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateGroupRequest'
      responses:
        '200':
          description: >-
            Grupo actualizado correctamente. Las respuestas a socios incluyen
            `externalId` (cadena o `null`); las respuestas a clientes directos
            omiten por completo el campo.
          content:
            application/json:
              schema:
                type: object
                properties:
                  group:
                    $ref: '#/components/schemas/Group'
                required:
                  - group
        '400':
          description: >-
            Solicitud incorrecta: error de validación o ID de sitios web no
            válidos
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                missing_fields:
                  value:
                    error: >-
                      At least one of 'name', 'add_website_ids',
                      'remove_website_ids', 'external_id', or 'billing_enabled'
                      is required
                invalid_website_ids:
                  value:
                    error: >-
                      Website IDs not found in organization:
                      123e4567-e89b-12d3-a456-426614174000
                invalid_group_id:
                  value:
                    error: Invalid group ID format
        '401':
          description: 'Sin autorización: falta la clave de API o no es válida'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: >-
            Acceso denegado: se requiere una clave de API global o, para el
            campo exclusivo de socios `external_id`, la clave no tiene identidad
            de socio.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                global_required:
                  summary: Se requiere una clave de API global
                  value:
                    error: 'Forbidden: global API key required'
                partner_required:
                  summary: Se requiere una clave de API de partner para external_id
                  value:
                    error: 'Forbidden: partner API key required'
        '404':
          description: 'No encontrado: el grupo no existe o no pertenece a tu organización'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: Group not found
        '409':
          description: >-
            Conflicto (solo socios): el `external_id` proporcionado ya está
            vinculado a otro grupo.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalIdConflictError'
              examples:
                external_id_conflict:
                  summary: El external_id del partner ya está asociado
                  value:
                    error: external_id_conflict
                    message: external_id acct_9e4c1b8d is already mapped to a group
                    existing:
                      id: 123e4567-e89b-12d3-a456-426614174000
                      externalId: acct_9e4c1b8d
        '500':
          description: Error interno del servidor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '502':
          description: >-
            El proveedor de facturación no ha podido aprovisionar la entidad de
            facturación. Solo se devuelve si el cuerpo incluye `billing_enabled:
            true`. No se han confirmado cambios en la base de datos; puedes
            reintentar la solicitud desde cero.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: Failed to provision billing entity
      security:
        - apiKey: []
components:
  schemas:
    UpdateGroupRequest:
      type: object
      description: >-
        Cuerpo de la solicitud para actualizar un grupo. Debe indicarse al menos
        un campo.
      properties:
        name:
          type: string
          minLength: 1
          description: Nuevo nombre del grupo.
          example: Renamed Group
        add_website_ids:
          type: array
          minItems: 1
          items:
            type: string
            format: uuid
          description: >-
            ID de sitios web que se añadirán al grupo. Deben pertenecer a tu
            organización. Los que ya están en el grupo se ignoran sin error.
          example:
            - 123e4567-e89b-12d3-a456-426614174000
        remove_website_ids:
          type: array
          minItems: 1
          items:
            type: string
            format: uuid
          description: >-
            ID de sitios web que se eliminarán del grupo. Los ID que no
            pertenecen al grupo se ignoran sin error.
          example:
            - 987e6543-e21b-12d3-a456-426614174000
        external_id:
          type: string
          minLength: 1
          nullable: true
          description: >-
            **Solo socios.** Identificador del socio que se asociará al grupo.
            Pasa una cadena no vacía para establecer o sustituir la vinculación,
            o `null` para borrarla. Solo se admite con una clave de una
            organización marcada como socio. Los clientes directos reciben `403
            Forbidden`. Debe ser único por tipo de recurso en tu organización;
            un valor ya usado por otro grupo devuelve `409` con el recurso
            existente en la respuesta.
          example: acct_9e4c1b8d
        billing_enabled:
          type: boolean
          description: >-
            Usa `true` para habilitar la facturación del grupo. Aprovisiona una
            entidad en el proveedor de facturación, requisito para asignar
            créditos al grupo (operación exclusiva de socios). Es idempotente:
            se puede llamar con seguridad si la entidad nunca se creó o el
            aprovisionamiento inicial falló sin avisar. Usa `false` para
            desactivar el indicador sin destruir el estado de facturación
            existente; se conservan saldos e historial de uso. Devuelve `502` si
            el proveedor no puede aprovisionar la entidad; no se modifica la
            base de datos y puedes reintentar desde cero.
          example: true
    Group:
      type: object
      description: Un grupo de sitios web de tu organización
      required:
        - id
        - name
        - orgId
        - billingEnabled
        - createdAt
        - websites
      properties:
        id:
          type: string
          format: uuid
          description: Identificador único del grupo
          example: 123e4567-e89b-12d3-a456-426614174000
        name:
          type: string
          description: Nombre visible del grupo
          example: Enterprise Clients
        orgId:
          type: string
          format: uuid
          description: ID de la organización a la que pertenece el grupo
          example: 987e6543-e21b-12d3-a456-426614174000
        billingEnabled:
          type: boolean
          description: Indica si la facturación está activada para este grupo
          example: false
        createdAt:
          type: string
          format: date-time
          description: Marca de tiempo de creación del grupo (UTC)
          example: '2024-06-15T10:30:00.000Z'
        websites:
          type: array
          description: Sitios web asociados a este grupo
          items:
            $ref: '#/components/schemas/GroupWebsite'
        externalId:
          type: string
          nullable: true
          description: >-
            **Solo socios.** Identificador proporcionado por el socio vinculado
            a este grupo. Solo aparece en respuestas a organizaciones marcadas
            como socios. Las respuestas a clientes directos omiten por completo
            el campo. `null` indica que no hay vinculación.
          example: acct_9e4c1b8d
    Error:
      type: object
      description: Objeto de respuesta de error
      required:
        - error
      properties:
        error:
          type: string
          description: Mensaje de error que describe qué ha fallado
          example: Unauthorized
    ExternalIdConflictError:
      type: object
      description: >-
        Se devuelve si un socio intenta establecer un `external_id` ya vinculado
        a otro recurso del mismo tipo en la organización. `existing` identifica
        el recurso que ya tiene el ID para que el socio pueda recuperarse de un
        reintento o conciliar su vinculación.
      required:
        - error
        - message
        - existing
      properties:
        error:
          type: string
          enum:
            - external_id_conflict
          description: >-
            Código de error legible por máquinas. Siempre es
            `external_id_conflict`.
          example: external_id_conflict
        message:
          type: string
          description: Explicación del conflicto en lenguaje comprensible.
          example: external_id ws_a7f3b2c9 is already mapped to a website
        existing:
          type: object
          required:
            - id
            - externalId
          description: Recurso que actualmente tiene el `external_id` en conflicto.
          properties:
            id:
              type: string
              format: uuid
              description: ID de Athena del recurso existente.
              example: 123e4567-e89b-12d3-a456-426614174000
            externalId:
              type: string
              description: El external_id que ya está asociado.
              example: ws_a7f3b2c9
    GroupWebsite:
      type: object
      description: Un sitio web asociado a un grupo
      required:
        - id
        - websiteUrl
        - websiteName
      properties:
        id:
          type: string
          format: uuid
          description: Identificador único del sitio web
          example: 123e4567-e89b-12d3-a456-426614174000
        websiteUrl:
          type: string
          description: URL del sitio web
          example: example.com
        websiteName:
          type: string
          description: Nombre visible del sitio web
          example: My Awesome Blog
        externalId:
          type: string
          nullable: true
          description: >-
            **Solo socios.** Identificador proporcionado por el socio vinculado
            a este sitio web. Solo aparece en respuestas a organizaciones
            marcadas como socios. Las respuestas a clientes directos omiten por
            completo el campo. `null` indica que no hay vinculación.
          example: ws_a7f3b2c9
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Clave de API para autenticarse. Puedes crear una
        [aquí](https://app.athenahq.ai/organization?tab=api).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.