> ## 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 invitación

> Invita a un usuario a tu organización, un sitio concreto o un grupo. `invite_method: "direct"` lo añade inmediatamente sin correo; si no existe la cuenta, se crea automáticamente. `invite_method: "email"` crea una invitación pendiente y envía un correo que debe aceptar. Los grupos requieren una clave global. Una invitación con clave limitada al sitio exige además que su creador sea administrador del sitio. Una invitación directa no puede crear cuentas con dominios de correo de Cuba, Irán, Corea del Norte, Rusia, Bielorrusia o dominios regionales de Crimea (incluida Sebastopol), Donetsk o Lugansk; devuelve HTTP 400 con `error`. Los dominios generales `.ua` siguen permitidos. Se puede seguir invitando a cuentas existentes.



## OpenAPI

````yaml es/api-reference/openapi.json post /api/v1/invites
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/invites:
    post:
      tags:
        - Team Management
      summary: Crear invitación
      description: >-
        Invita a un usuario a tu organización, un sitio concreto o un grupo.
        `invite_method: "direct"` lo añade inmediatamente sin correo; si no
        existe la cuenta, se crea automáticamente. `invite_method: "email"` crea
        una invitación pendiente y envía un correo que debe aceptar. Los grupos
        requieren una clave global. Una invitación con clave limitada al sitio
        exige además que su creador sea administrador del sitio. Una invitación
        directa no puede crear cuentas con dominios de correo de Cuba, Irán,
        Corea del Norte, Rusia, Bielorrusia o dominios regionales de Crimea
        (incluida Sebastopol), Donetsk o Lugansk; devuelve HTTP 400 con `error`.
        Los dominios generales `.ua` siguen permitidos. Se puede seguir
        invitando a cuentas existentes.
      operationId: createInvite
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateInviteRequest'
      responses:
        '201':
          description: Usuario añadido o invitación enviada correctamente
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InviteResponse'
              examples:
                direct_org:
                  summary: Usuario añadido a la organización
                  value:
                    success: true
                    message: User added to organization
                    user_id: abc12345-e89b-12d3-a456-426614174000
                direct_website:
                  summary: Usuario añadido al sitio web
                  value:
                    success: true
                    message: User added to website
                    user_id: abc12345-e89b-12d3-a456-426614174000
                direct_group:
                  summary: Usuario añadido al grupo
                  value:
                    success: true
                    message: User added to group
                    user_id: abc12345-e89b-12d3-a456-426614174000
                email_invite:
                  summary: Invitación por correo enviada
                  value:
                    success: true
                    invite_id: 123e4567-e89b-12d3-a456-426614174000
                    message: Invitation sent
        '400':
          description: >-
            Solicitud incorrecta: parámetros no válidos o error al enviar el
            correo
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                validation_error:
                  value:
                    error: website_id is required when type is 'website'
                email_failed:
                  value:
                    error: Failed to send invitation email
                invalid_email:
                  value:
                    error: Email address appears to be invalid or non-existent
        '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: las invitaciones a grupos requieren una clave de
            API global
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: 'Forbidden: global API key required'
        '404':
          description: Recurso no encontrado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                website_not_found:
                  summary: Sitio web no encontrado
                  value:
                    error: Website not found or does not belong to this organization
                group_not_found:
                  summary: Grupo no encontrado
                  value:
                    error: Group not found or does not belong to this organization
                org_not_found:
                  summary: Organización no encontrada
                  value:
                    error: Organization not found
        '409':
          description: 'Conflicto: el usuario ya existe o tiene una invitación pendiente'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                already_org_member:
                  value:
                    error: User is already a member of this organization
                already_website_member:
                  value:
                    error: User is already a member of this website
                already_group_member:
                  value:
                    error: User is already a member of this group
                org_member_has_website_access:
                  value:
                    error: >-
                      User is already an organization member and has access to
                      all websites
                org_member_has_group_access:
                  value:
                    error: >-
                      User is already an organization member and has access to
                      all groups
                pending_invite:
                  value:
                    error: A pending invite already exists for this email
        '500':
          description: Error interno del servidor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - apiKey: []
components:
  schemas:
    CreateInviteRequest:
      type: object
      description: Cuerpo de la solicitud para crear una invitación
      required:
        - type
        - invite_method
        - email
      properties:
        type:
          type: string
          enum:
            - organization
            - website
            - group
          description: >-
            Tipo de invitación. 'organization' concede acceso a toda la
            organización; 'website', a un sitio web; 'group', a todos los sitios
            de un grupo. Las invitaciones a grupos requieren una clave de API
            global.
          example: organization
        invite_method:
          type: string
          enum:
            - direct
            - email
          description: >-
            Cómo invitar al usuario. 'direct' lo añade inmediatamente al recurso
            sin correo; si no existe la cuenta, la crea automáticamente (con
            emailVerified=false) y añade la pertenencia. 'email' crea una
            invitación pendiente y envía un correo mediante Postmark; el usuario
            debe aceptarlo para acceder.
          example: email
        email:
          type: string
          format: email
          description: Dirección de correo del usuario al que invitar
          example: user@example.com
        role:
          type: string
          enum:
            - admin
            - viewer
          description: >-
            Rol que se asignará al usuario invitado. Mutuamente excluyente con
            `role_id`.
          example: viewer
        role_id:
          type: string
          pattern: >-
            ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
          description: >-
            Asigna cualquier rol por ID, del sistema o personalizado de tu
            organización (consulta `GET /api/v1/roles`). Excluyente con `role`.
            Devuelve 404 si no existe o pertenece a otra organización. Por
            defecto usa Viewer si no se indica ni `role` ni `role_id`. Los ID de
            roles del sistema son centinelas con formato GUID (p. ej.,
            `00000000-0000-0000-0000-000000000001`), no UUID RFC 4122.
          example: 789e0123-e89b-12d3-a456-426614174000
        website_id:
          type: string
          format: uuid
          description: >-
            Obligatorio cuando type es 'website'. ID del sitio web al que se
            concederá acceso
          example: 123e4567-e89b-12d3-a456-426614174000
        group_id:
          type: string
          format: uuid
          description: >-
            Obligatorio cuando type es 'group'. ID del grupo al que se concederá
            acceso. Requiere una clave de API global.
          example: 456e7890-e89b-12d3-a456-426614174000
        first_name:
          type: string
          description: >-
            Nombre opcional del usuario invitado. Se utiliza al crear una cuenta
            en invitaciones 'direct' o al completar el registro de invitación en
            invitaciones 'email'.
          example: John
        last_name:
          type: string
          description: >-
            Apellido opcional del usuario invitado. Se utiliza al crear una
            cuenta en invitaciones 'direct' o al completar el registro de
            invitación en invitaciones 'email'.
          example: Doe
    InviteResponse:
      type: object
      description: Respuesta de la creación de una invitación
      required:
        - success
        - message
      properties:
        success:
          type: boolean
          description: Indica si la operación se ha completado correctamente
          example: true
        invite_id:
          type: string
          format: uuid
          description: ID de la invitación creada (solo aparece en invitaciones por correo)
          example: 123e4567-e89b-12d3-a456-426614174000
        user_id:
          type: string
          format: uuid
          description: >-
            ID del usuario destinatario. Solo aparece en invitaciones directas
            (el usuario se busca o crea inmediatamente). Nunca se devuelve en
            invitaciones por correo para impedir averiguar si existen cuentas de
            otras organizaciones.
          example: abc12345-e89b-12d3-a456-426614174000
        message:
          type: string
          description: Un mensaje que describe el resultado
          example: Invitation sent
    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
  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.