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

# Crear grupo

> Crea un grupo con sitios web asociados. Requiere una clave de API global. Las **integraciones de socios** pueden incluir `external_id` para vincular su identificador al nuevo grupo de Athena.



## OpenAPI

````yaml es/api-reference/openapi.json post /api/v1/groups
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:
    post:
      tags:
        - Groups
      summary: Crear grupo
      description: >-
        Crea un grupo con sitios web asociados. Requiere una clave de API
        global. Las **integraciones de socios** pueden incluir `external_id`
        para vincular su identificador al nuevo grupo de Athena.
      operationId: createGroup
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateGroupRequest'
      responses:
        '201':
          description: Grupo creado correctamente
          content:
            application/json:
              schema:
                type: object
                properties:
                  group:
                    $ref: '#/components/schemas/CreatedGroup'
                  billingEntityCreated:
                    type: boolean
                    description: >-
                      Solo aparece si se solicita billing_enabled: indica si
                      existe la entidad de facturación tras el
                      aprovisionamiento. Si es false, ha fallado incluso tras
                      reintentar y configurar créditos devuelve 400 hasta
                      reparar la facturación con PATCH /api/v1/groups/{group_id}
                      y billing_enabled: true.
                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:
                invalid_website_ids:
                  value:
                    error: >-
                      Website IDs not found in organization:
                      123e4567-e89b-12d3-a456-426614174000
                missing_name:
                  value:
                    error: Group name is required
                missing_websites:
                  value:
                    error: At least one website_id is required
        '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'
        '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'
      security:
        - apiKey: []
components:
  schemas:
    CreateGroupRequest:
      type: object
      description: Cuerpo de la solicitud para crear un grupo
      required:
        - name
        - website_ids
      properties:
        name:
          type: string
          minLength: 1
          description: Nombre del grupo.
          example: Enterprise Clients
        website_ids:
          type: array
          minItems: 1
          items:
            type: string
            format: uuid
          description: >-
            Lista de ID de sitios web que se incluirán en el grupo. Todos deben
            pertenecer a tu organización. Los ID duplicados se reducen a una
            única pertenencia.
          example:
            - 123e4567-e89b-12d3-a456-426614174000
            - 987e6543-e21b-12d3-a456-426614174000
        billing_enabled:
          type: boolean
          default: false
          description: Indica si se activará la facturación de este grupo
          example: false
        external_id:
          type: string
          minLength: 1
          description: >-
            **Solo socios.** Identificador de tu sistema que se vinculará a este
            grupo de Athena. Solo se admite con una clave de API de una
            organización marcada como socio. Los clientes directos reciben `403
            Forbidden`. Debe ser único por tipo de recurso en tu organización;
            los duplicados devuelven `409` con el recurso existente en los datos
            de respuesta.
          example: acct_9e4c1b8d
    CreatedGroup:
      type: object
      description: Un recurso de grupo recién creado
      required:
        - id
        - name
        - orgId
        - billingEnabled
        - websiteIds
        - createdAt
      properties:
        id:
          type: string
          format: uuid
          description: Identificador único del grupo
          example: 123e4567-e89b-12d3-a456-426614174000
        name:
          type: string
          description: Nombre 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
        websiteIds:
          type: array
          items:
            type: string
            format: uuid
          description: Lista de IDs de sitios web asociados a este grupo
          example:
            - 123e4567-e89b-12d3-a456-426614174000
        createdAt:
          type: string
          format: date-time
          description: Marca de tiempo de creación del grupo (UTC)
          example: '2024-06-15T10:30:00.000Z'
        externalId:
          type: string
          nullable: true
          description: >-
            **Solo socios.** Repite el `external_id` de la solicitud de creación
            si se ha indicado, o `null` si no. Solo aparece en respuestas a
            claves de API de socios; las respuestas a clientes directos omiten
            el campo.
          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
  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.