> ## Documentation Index
> Fetch the complete documentation index at: https://developers.0flaw.fr/llms.txt
> Use this file to discover all available pages before exploring further.

# Envoyer ses identifiants à un employé

> Régénère un mot de passe temporaire et l'envoie par email à l'employé.
Le mot de passe n'est **jamais** renvoyé dans la réponse HTTP.

Utile pour les employés provisionnés en silence (`send_invitation: false`),
qui n'ont autrement aucun moyen de se connecter.



## OpenAPI

````yaml /openapi.json post /api/v1/employees/{id}/invite
openapi: 3.1.0
info:
  title: API 0flaw
  version: 1.0.0
  description: >-
    API publique de 0flaw : provisionnez vos employés depuis votre SIRH/AD et
    recevez

    les événements de sécurité dans votre SIEM.


    ## Authentification

    Toutes les requêtes exigent une clé API, créée depuis votre dashboard

    (Réglages → Clés API). Transmettez-la dans l'en-tête `Authorization` :


    ```

    Authorization: Bearer 0flaw_live_xxxxxxxx

    ```


    L'en-tête `x-api-key` est également accepté. Une clé est **scopée à une
    seule

    entreprise** : elle ne peut jamais lire ni modifier les données d'une autre.


    ## Limites de débit

    600 requêtes par tranche de 15 minutes et par clé. Les en-têtes
    `RateLimit-*`

    accompagnent chaque réponse ; un dépassement renvoie `429`.


    ## Gestion des erreurs

    Fiez-vous au champ `code` (stable) et non au `message` (susceptible
    d'évoluer).
  contact:
    name: Support 0flaw
    url: https://app.0flaw.fr
servers:
  - url: https://api.0flaw.fr
    description: Production
security:
  - apiKey: []
tags:
  - name: Général
    description: Vérification d'accès et introspection de la clé
  - name: Employés
    description: 'Provisioning : création, mise à jour, désactivation, invitations'
  - name: Résultats
    description: Campagnes de phishing et leurs résultats (scope read:results)
  - name: Radar
    description: Risk scores par axe (scope read:scores)
  - name: Formations
    description: Statut des formations des employés (scope read:trainings)
paths:
  /api/v1/employees/{id}/invite:
    post:
      tags:
        - Employés
      summary: Envoyer ses identifiants à un employé
      description: >-
        Régénère un mot de passe temporaire et l'envoie par email à l'employé.

        Le mot de passe n'est **jamais** renvoyé dans la réponse HTTP.


        Utile pour les employés provisionnés en silence (`send_invitation:
        false`),

        qui n'ont autrement aucun moyen de se connecter.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: Identifiant 0flaw ou `external_id`
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                force:
                  type: boolean
                  default: false
                  description: >-
                    Autorise la ré-invitation d'un employé qui s'est déjà
                    connecté. Attention : cela écrase son mot de passe actuel.
      responses:
        '200':
          description: Invitation envoyée
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  invited:
                    type: boolean
                  id:
                    type: string
                  email:
                    type: string
                    format: email
                  password_reset:
                    type: boolean
                    description: true si un mot de passe existant a été écrasé (force)
        '401':
          description: Clé API absente ou invalide
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                message: Clé API invalide ou révoquée
                code: API_KEY_INVALID
        '403':
          description: La clé ne porte pas le scope requis
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                message: 'Scope requis : write:employees'
                code: INSUFFICIENT_SCOPE
        '404':
          description: Employé introuvable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                message: Employé introuvable
                code: EMPLOYEE_NOT_FOUND
        '409':
          description: >-
            L'employé n'est pas invitable en l'état : `SSO_ACCOUNT` (il se
            connecte via Google/Microsoft), `EMPLOYEE_ARCHIVED` (réactivez-le
            d'abord) ou `ALREADY_ACTIVE` (il s'est déjà connecté — utilisez
            `force`)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                message: Cet employé s'est déjà connecté…
                code: ALREADY_ACTIVE
        '429':
          description: Quota de requêtes dépassé pour cette clé
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                message: Trop de requêtes, réessayez plus tard.
                code: RATE_LIMIT_EXCEEDED
        '502':
          description: >-
            L'email n'a pas pu être envoyé. Le mot de passe n'a pas été modifié
            : rejouez l'appel.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                message: Échec de l'envoi de l'invitation
                code: EMAIL_SEND_FAILED
      security:
        - apiKey:
            - write:employees
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        message:
          type: string
          description: Message lisible par un humain
        code:
          type: string
          description: Code stable, à utiliser pour la logique client
      required:
        - message
        - code
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: >-
        Clé API créée depuis le dashboard (Réglages → Clés API). L'en-tête
        `x-api-key: <clé>` est accepté en alternative à `Authorization: Bearer
        <clé>`.

````