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

# Créer une invitation

> Invite à l’organisation, un site ou un groupe. `invite_method: "direct"` ajoute immédiatement sans e-mail et crée automatiquement un compte si nécessaire. `invite_method: "email"` crée une invitation en attente à accepter. Les groupes exigent une clé globale. Une clé limitée au site nécessite aussi que son créateur soit administrateur de ce site. L’invitation directe ne peut créer de compte avec un domaine e-mail de Cuba, Iran, Corée du Nord, Russie, Biélorussie ou régional de Crimée (Sébastopol inclus), Donetsk ou Louhansk : HTTP 400 avec `error`. Les domaines généraux `.ua` restent autorisés. Les comptes existants peuvent toujours être invités.



## OpenAPI

````yaml fr/api-reference/openapi.json post /api/v1/invites
openapi: 3.1.0
info:
  title: API AthenaHQ
  description: >-
    L’API AthenaHQ permet de gérer vos sites et prompts par programme pour
    l’optimisation de contenu par IA.
  version: 1.0.0
  contact:
    email: support@athenahq.ai
servers:
  - url: https://api.athenahq.ai
    description: Serveur de production
security:
  - apiKey: []
tags:
  - name: Basics
    description: Opérations API principales pour gérer sites et prompts
  - name: Metrics
    description: Points de terminaison de métriques et analyses de visibilité IA
  - name: Billing
    description: Points de facturation et crédits pour gérer la consommation
  - name: Team Management
    description: Points de terminaison de gestion des membres et invitations
  - name: Groups
    description: Points de terminaison de gestion des groupes de sites
  - name: Content
    description: >-
      Points de terminaison Content Hub : onglets, URL suivies et détail des
      prompts par URL.
  - name: Pitch Workspace
    description: >-
      Points de terminaison des rapports Pitch Workspace : exécutions à
      l’échelle de l’organisation avec concurrents, prompts, attributs et
      métriques agrégées.
  - name: Knowledge Base
    description: >-
      Endpoints de lecture de la base de connaissances de la marque — faits
      approuvés et piliers qui les organisent.
paths:
  /api/v1/invites:
    post:
      tags:
        - Team Management
      summary: Créer une invitation
      description: >-
        Invite à l’organisation, un site ou un groupe. `invite_method: "direct"`
        ajoute immédiatement sans e-mail et crée automatiquement un compte si
        nécessaire. `invite_method: "email"` crée une invitation en attente à
        accepter. Les groupes exigent une clé globale. Une clé limitée au site
        nécessite aussi que son créateur soit administrateur de ce site.
        L’invitation directe ne peut créer de compte avec un domaine e-mail de
        Cuba, Iran, Corée du Nord, Russie, Biélorussie ou régional de Crimée
        (Sébastopol inclus), Donetsk ou Louhansk : HTTP 400 avec `error`. Les
        domaines généraux `.ua` restent autorisés. Les comptes existants peuvent
        toujours être invités.
      operationId: createInvite
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateInviteRequest'
      responses:
        '201':
          description: Utilisateur ajouté ou invitation envoyée avec succès
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InviteResponse'
              examples:
                direct_org:
                  summary: Utilisateur ajouté à l’organisation
                  value:
                    success: true
                    message: User added to organization
                    user_id: abc12345-e89b-12d3-a456-426614174000
                direct_website:
                  summary: Utilisateur ajouté au site
                  value:
                    success: true
                    message: User added to website
                    user_id: abc12345-e89b-12d3-a456-426614174000
                direct_group:
                  summary: Utilisateur ajouté au groupe
                  value:
                    success: true
                    message: User added to group
                    user_id: abc12345-e89b-12d3-a456-426614174000
                email_invite:
                  summary: Invitation envoyée par e-mail
                  value:
                    success: true
                    invite_id: 123e4567-e89b-12d3-a456-426614174000
                    message: Invitation sent
        '400':
          description: >-
            Requête incorrecte - Paramètres invalides ou échec d’envoi de
            l’e-mail
          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: Non autorisé — clé API invalide ou absente
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Interdit - Les invitations de groupe nécessitent une clé API globale
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: 'Forbidden: global API key required'
        '404':
          description: Ressource introuvable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                website_not_found:
                  summary: Site introuvable
                  value:
                    error: Website not found or does not belong to this organization
                group_not_found:
                  summary: Groupe introuvable
                  value:
                    error: Group not found or does not belong to this organization
                org_not_found:
                  summary: Organisation introuvable
                  value:
                    error: Organization not found
        '409':
          description: Conflit - L’utilisateur existe déjà ou une invitation est en attente
          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: Erreur interne du serveur
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - apiKey: []
components:
  schemas:
    CreateInviteRequest:
      type: object
      description: Corps de requête de création d’invitation
      required:
        - type
        - invite_method
        - email
      properties:
        type:
          type: string
          enum:
            - organization
            - website
            - group
          description: >-
            Type d’invitation : 'organization' donne accès global ; 'website' à
            un site ; 'group' à tous les sites d’un groupe. Les groupes exigent
            une clé globale.
          example: organization
        invite_method:
          type: string
          enum:
            - direct
            - email
          description: >-
            Méthode d’invitation : 'direct' ajoute immédiatement à la ressource
            sans e-mail ; sans compte existant, crée automatiquement un
            utilisateur avec emailVerified=false puis l’appartenance. 'email'
            crée une invitation en attente et l’envoie via Postmark ;
            l’utilisateur doit accepter pour accéder.
          example: email
        email:
          type: string
          format: email
          description: E-mail de l’utilisateur à inviter
          example: user@example.com
        role:
          type: string
          enum:
            - admin
            - viewer
          description: Rôle à attribuer à l’invité. Mutuellement exclusif avec `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: >-
            Attribuez un rôle par ID, système ou personnalisé (voir `GET
            /api/v1/roles`). Exclusif avec `role`. 404 si absent ou hors
            organisation. Viewer par défaut si ni `role` ni `role_id` fournis.
            Les ID système sont des sentinelles de forme GUID
            (`00000000-0000-0000-0000-000000000001`, par exemple), pas des UUID
            RFC 4122.
          example: 789e0123-e89b-12d3-a456-426614174000
        website_id:
          type: string
          format: uuid
          description: Obligatoire si type vaut 'website'. ID du site auquel donner accès
          example: 123e4567-e89b-12d3-a456-426614174000
        group_id:
          type: string
          format: uuid
          description: >-
            Obligatoire si type vaut 'group'. ID du groupe auquel donner accès.
            Clé globale requise.
          example: 456e7890-e89b-12d3-a456-426614174000
        first_name:
          type: string
          description: >-
            Prénom facultatif de l’utilisateur invité. Utilisé lors de la
            création d’un compte pour les invitations 'direct' ou pour
            renseigner l’enregistrement d’invitation pour les invitations
            'email'.
          example: John
        last_name:
          type: string
          description: >-
            Nom de famille facultatif pour créer le compte d’une invitation
            'direct' ou remplir l’invitation 'email'.
          example: Doe
    InviteResponse:
      type: object
      description: Réponse à la création d’une invitation
      required:
        - success
        - message
      properties:
        success:
          type: boolean
          description: Indique la réussite de l’opération
          example: true
        invite_id:
          type: string
          format: uuid
          description: >-
            ID de l’invitation créée (présent uniquement pour les invitations
            par e-mail)
          example: 123e4567-e89b-12d3-a456-426614174000
        user_id:
          type: string
          format: uuid
          description: >-
            ID de l’utilisateur invité. Présent uniquement pour les invitations
            directes, avec recherche/création immédiate du compte. Jamais pour
            les invitations par e-mail afin d’empêcher l’énumération
            inter-tenant des comptes existants.
          example: abc12345-e89b-12d3-a456-426614174000
        message:
          type: string
          description: Message décrivant le résultat
          example: Invitation sent
    Error:
      type: object
      description: Objet de réponse d’erreur
      required:
        - error
      properties:
        error:
          type: string
          description: Message expliquant l’erreur
          example: Unauthorized
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Clé API d’authentification. Créez-en une
        [ici](https://app.athenahq.ai/organization?tab=api).

````

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