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

# Mettre à jour une méthode d’authentification

> Met à jour une méthode d’authentification

export const Scopes = ({scopes = []}) => {
  return <div>
      <div class="api-section-heading flex flex-col gap-y-4 w-full">
        <div class="flex items-baseline border-b pb-2.5 border-gray-100 dark:border-gray-800 w-full">
          <h4 class="api-section-heading-title flex-1 mb-0">Scopes</h4>
          <div class="flex items-center"></div>
        </div>
      </div>
      <div class="mt-4">
        <div class="space-y-4 whitespace-normal prose prose-sm prose-gray dark:prose-invert overflow-wrap-anywhere [&_*]:overflow-wrap-anywhere">
          <p class="whitespace-pre-line text-xs">
            {"Les scopes définissent les autorisations et les niveaux d’accès des requêtes d’API et des jetons d’authentification."}
          </p>
        </div>
      </div>
      <div class="flex font-mono text-sm group/param-head param-head break-all relative mt-6" id="scopes-scopes">
        <div class="flex-1 flex flex-col content-start py-0.5 mr-5">
          <div class="flex items-center flex-wrap gap-2">
            <div class="absolute -top-1.5">
              <a href="#scopes-scopes" class="-ml-10 flex items-center opacity-0 border-0 group-hover/param-head:opacity-100 focus:opacity-100 focus:outline-0 py-2 [.expandable-content_&]:-ml-[2.1rem] group/link" aria-label="Accéder à l’en-tête">
                ​
                <div class="w-6 h-6 rounded-md flex items-center justify-center shadow-sm text-gray-400 dark:text-white/50 dark:bg-background-dark dark:brightness-[1.35] dark:ring-1 dark:hover:brightness-150 bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20 group-focus/link:border-2 group-focus/link:border-primary dark:group-focus/link:border-primary-light">
                  <svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512">
                    <path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path>
                  </svg>
                </div>
              </a>
            </div>
            {scopes.map((scope, index) => {
    return <span class="flex items-center px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 font-medium break-all" style={{
      lineHeight: "1rem",
      fontSize: "0.75rem",
      fontFamily: 'var(--font-jetbrains-mono), ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace'
    }} data-component-part="field-info-pill" key={index}>
                  {scope}
                </span>;
  })}
          </div>
        </div>
      </div>
    </div>;
};

export const ApiReleaseLifecycle = ({releaseLifecycle = "GA"}) => {
  const lifecycleMap = {
    ea: "Accès anticipé",
    ga: "Généralement disponible",
    deprecated: "Obsolète",
    planned: "Planifié",
    beta: "Bêta"
  };
  const LIFECYCLE_THEMES = {
    info: {
      light: {
        bg: "lab(91.896% .077188 -6.94053)",
        text: "lab(36.091% 25.9241 -68.0384)"
      },
      dark: {
        bg: "lab(16.0426% 6.71726 -27.2409)",
        text: "lab(72.6029% 4.08953 -41.9669)"
      }
    },
    secondary: {
      light: {
        bg: "lab(90.8548% 11.3355 8.01476)",
        text: "lab(47.5286% 56.4238 43.4706)"
      },
      dark: {
        bg: "lab(16.3609% 37.191 25.6346)",
        text: "lab(71.881% 41.5 29.4839)"
      }
    },
    danger: {
      light: {
        bg: "lab(94.7916% -.0000298023 0)",
        text: "lab(54.3656% 0 -.0000119209)"
      },
      dark: {
        bg: "lab(13.232% 0 0)",
        text: "lab(51.6164% 0 0)"
      }
    }
  };
  const LIFECYCLE_THEME_MAP = {
    ea: "info",
    ga: "info",
    beta: "info",
    deprecated: "secondary",
    planned: "danger"
  };
  const lifecycle = releaseLifecycle.toLocaleLowerCase();
  const lifecycleText = lifecycleMap[lifecycle];
  if (!lifecycleText) {
    return null;
  }
  const theme = LIFECYCLE_THEMES[LIFECYCLE_THEME_MAP[lifecycle]];
  return <div>
      <div className="api-section-heading flex flex-col gap-y-4 w-full">
        <div className="flex items-baseline border-b pb-2.5 border-gray-100 dark:border-gray-800 w-full">
          <h4 className="api-section-heading-title flex-1 mb-0">Cycle de vie de la version</h4>
        </div>
      </div>
      <div className="flex font-mono text-sm group/param-head param-head break-all relative mt-2.5" id="releaselifecycle-lifecycle">
        <div className="flex-1 flex flex-col content-start py-0.5 mr-5">
          <div className="flex items-center flex-wrap gap-2">
            <div className="absolute -top-1.5">
              <a href="#releaselifecycle-lifecycle" className="-ml-10 flex items-center opacity-0 border-0 group-hover/param-head:opacity-100 focus:opacity-100 focus:outline-0 py-2 [.expandable-content_&]:-ml-[2.1rem] group/link" aria-label="Accéder à l'en-tête">
                <div className="w-6 h-6 rounded-md flex items-center justify-center shadow-sm text-gray-400 dark:text-white/50 dark:bg-background-dark dark:brightness-[1.35] dark:ring-1 dark:hover:brightness-150 bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20 group-focus/link:border-2 group-focus/link:border-primary dark:group-focus/link:border-primary-light">
                  <svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512">
                    <path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path>
                  </svg>
                </div>
              </a>
            </div>
            <span className="inline-flex items-center w-fit font-medium gap-1 py-0.5 px-2 rounded-md" style={{
    lineHeight: "1rem",
    fontSize: "0.75rem",
    fontFamily: 'var(--font-jetbrains-mono), ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace',
    backgroundColor: `light-dark(${theme.light.bg}, ${theme.dark.bg})`,
    color: `light-dark(${theme.light.text}, ${theme.dark.text})`,
    borderColor: `light-dark(color-mix(in oklab, ${theme.light.text} 25%, transparent), color-mix(in oklab, ${theme.dark.text} 25%, transparent))`
  }}>
              {lifecycleText}
            </span>
          </div>
        </div>
      </div>
    </div>;
};

<ApiReleaseLifecycle releaseLifecycle="GA" />

<Scopes scopes={["update:me:authentication_methods"]} />


## OpenAPI

````yaml fr-CA/docs/oas/myaccount/myaccount-api-oas.json PATCH /authentication-methods/{authentication_method_id}
openapi: 3.1.0
info:
  description: >-
    L’API My Account d’Auth0 fournit un ensemble dédié de points de terminaison
    permettant aux utilisateurs de gérer les renseignements de leur propre
    compte. Les clients peuvent utiliser ces API pour créer des expériences
    libre-service dans leurs applications ou ajouter progressivement des
    renseignements à un compte utilisateur.


    L’API My Account fonctionne dans le contexte de l’utilisateur actuellement
    connecté et peut être utilisée directement dans les applications destinées
    aux utilisateurs.


    :::tip Utilisation du domaine Auth0 ou d’un domaine personnalisé


    L’API My Account prend en charge l’utilisation de votre domaine Auth0
    canonique ou de votre domaine personnalisé, mais vous devez utiliser le même
    tout au long du processus, y compris pour les opérations suivantes :


    - Obtenir un jeton d’accès

    - Définir la valeur d’audience

    - Appeler le point de terminaison de l’API My Account


    Pour en savoir plus, consultez [Domaines
    personnalisés](https://auth0.com/docs/customize/custom-domains).


    :::


    ## Activer l’API My Account


    Vous pouvez activer l’API My Account pour votre locataire dans le Auth0
    Dashboard :


    1. Accédez à Authentification > API.

    2. Repérez la bannière MyAccount API.

    3. Sélectionnez Activate.


    ![](https://images.ctfassets.net/cdy7uua7fh8z/DGkDQNIHcegN8vtQyEvF3/a2e98b06867701a66fa1f1b3df1c996b/My_Account_API_-_Activate.png)


    Par défaut, l’API My Account est créée avec les stratégies d’accès des
    applications aux API suivantes :


    `require_client_grant` pour les flux utilisateur


    `deny_all` pour les flux d’application (machine à machine)


    Pour qu’une application puisse accéder à l’API My Account au nom de
    l’utilisateur, vous devez créer explicitement une autorisation d’application
    pour cette application, ce qui vous permet de définir les scopes maximums
    que l’application peut demander. Vous pouvez aussi modifier la stratégie des
    flux d’accès utilisateur afin d’utiliser allow_all, ce qui permet à toute
    application de votre locataire de demander n’importe quel scope à l’API My
    Account.


    Comme l’API My Account expose des renseignements et des opérations
    sensibles, Auth0 ne recommande pas d’utiliser allow_all pour les flux
    d’accès utilisateur. Vous devriez appliquer le principe du privilège minimal
    avec l’API My Account afin de vous assurer que les applications n’obtiennent
    que l’accès dont elles ont réellement besoin, ce qui réduit les risques
    potentiels pour la sécurité.


    Les permissions finales accordées à l’application seront déterminées par
    l’intersection des scopes autorisés par la stratégie d’accès des
    applications aux API, des permissions de Contrôle d’accès basé sur les rôles
    (RBAC) attribuées à l’utilisateur final et de tout consentement accordé par
    l’utilisateur (le cas échéant).


    :::info Flux pris en charge


    Vous ne pouvez pas mettre à jour la stratégie d’accès des applications à
    l’API My Account pour les flux client, ce qui signifie que vous ne pouvez
    pas accéder à l’API My Account à l’aide du flux d’identification du client.


    :::


    Pour en savoir plus sur la gestion des stratégies d’accès des applications
    aux API et des autorisations d’application associées, consultez [Accès des
    applications aux API : autorisations
    d’application](https://auth0.com/docs/get-started/applications/application-access-to-apis-client-grants).


    ## Obtenir un jeton d’accès


    Vous pouvez obtenir un jeton d’accès pour l’API My Account de la même
    manière que pour l’une de vos propres API.


    :::info &nbsp

    Si vous comptez autoriser l’API My Account à effectuer des opérations
    sensibles (comme l’inscription d’une méthode d’authentification), nous vous
    recommandons fortement d’utiliser l’[authentification
    renforcée](https://auth0.com/docs/secure/multi-factor-authentication/step-up-authentication)
    afin d’appliquer des stratégies de sécurité supplémentaires au moyen de
    l’[authentification multifacteur
    (MFA)](https://auth0.com/docs/secure/multi-factor-authentication).

    :::


    Si vous utilisez Universal Login, consultez les articles suivants :


    - [Appeler votre API à l’aide du flux de code
    d’autorisation](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow/call-your-api-using-the-authorization-code-flow)

    - [Appeler votre API à l’aide du flux de code d’autorisation avec
    PKCE](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce/call-your-api-using-the-authorization-code-flow-with-pkce)


    Si vous utilisez la connexion intégrée, consultez les articles suivants :


    - [Appeler votre API à l’aide du flux de mot de passe du propriétaire de la
    ressource](https://auth0.com/docs/get-started/authentication-and-authorization-flow/resource-owner-password-flow/call-your-api-using-resource-owner-password-flow)

    - [Flux de connexion avec l’API de clés d’accès
    natives](https://auth0.com/docs/native-passkeys-api#login-flow)


    ## Exemples


    ### Universal Login avec flux de code d’autorisation


    **Étape 1 : Demander un code d’autorisation**


    ```

    curl --request GET \
      --url 'https://{yourDomain}/authorize?response_type=code&client_id={yourClientId}&redirect_uri=%7ByourRedirectUri%7D&scope=create%3Ame%3Aauthentication_methods&offline_access=&audience=https%3A%2F%2F{yourDomain}%2Fme%2F'
    ```


    **Étape 2 : Échanger le code contre un jeton d’accès**


    ```

    curl --request POST \
      --url 'https://{yourDomain}/oauth/token' \
      --header 'content-type: application/json' \
      --data '{"grant_type": "authorization_code","client_id": "{yourClientId}","client_secret": "{yourClientSecret}","code": "{yourAuthorizationCode}","redirect_uri": "{yourRedirectUri}","audience": "{yourAudience}","scope": "create:me:authentication_methods","offline_access": ""}'
    ```


    ### Connexion intégrée avec clés d’accès natives


    **Étape 1 : Demander un défi de connexion**


    ```

    curl --request POST \
      --url 'https://{yourDomain}/passkey/challenge' \
      --header 'content-type: application/json' \
      --data '{"client_id": "{yourClientId}"}'
    ```


    **Étape 2 : Authentifier un utilisateur existant**


    ```

    curl --request POST \
      --url 'https://{yourDomain}/oauth/token' \
      --header 'content-type: application/json' \
      --data '{  "grant_type": "urn:okta:params:oauth:grant-type:webauthn",  "client_id": "{yourClientId}",  "scope": "create:me:authentication_methods offline_access",  "audience": "https://{yourDomain}/me/",  "auth_session": "{sessionIdFromTheFirstRequest}",  "authn_response": "{authenticatorResponse}"}'
    ```
  title: My Account
  version: '1.0'
servers:
  - url: https://{host}/me/v1
    variables:
      host:
        default: auth0.auth0.com
        description: Nom d’hôte personnalisé ou nom d’hôte canonique
security: []
tags:
  - description: Facteurs
    name: factors
    x-displayName: Factors
  - description: Connected Accounts
    name: connected-accounts
    x-displayName: Connected Accounts
  - description: Méthodes d’authentification
    name: authentication-methods
    x-displayName: Authentication Methods
  - description: Consentements
    name: consents
    x-displayName: Consents
paths:
  /authentication-methods/{authentication_method_id}:
    patch:
      tags:
        - authentication-methods
      summary: Mettre à jour le détail d’une méthode d’authentification par id
      description: Met à jour une méthode d’authentification
      operationId: updateAuthenticationMethod
      parameters:
        - $ref: '#/components/parameters/PathAuthenticationMethodId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAuthenticationMethodRequestContent'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateAuthenticationMethodResponseContent'
          description: Méthode d’authentification mise à jour avec succès
          headers:
            x-ratelimit-limit:
              $ref: '#/components/headers/XRateLimitLimitHeader'
            x-ratelimit-remaining:
              $ref: '#/components/headers/XRateLimitRemainingHeader'
            x-ratelimit-reset:
              $ref: '#/components/headers/XRateLimitResetHeader'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '415':
          $ref: '#/components/responses/UnsupportedMediaType'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
        - Bearer-DPoP:
            - update:me:authentication_methods
      x-codeSamples: []
components:
  parameters:
    PathAuthenticationMethodId:
      description: >-
        ID de la méthode d’authentification. Cette valeur fait partie de
        l’en-tête Location renvoyé lors de la création d’une méthode
        d’authentification. Elle doit être utilisée telle quelle, sans aucune
        modification.
      in: path
      name: authentication_method_id
      required: true
      schema:
        $ref: '#/components/schemas/PathAuthenticationMethodId'
  schemas:
    UpdateAuthenticationMethodRequestContent:
      additionalProperties: false
      description: Contenu de la requête de mise à jour d’une méthode d’authentification
      properties:
        name:
          description: Le nom convivial de la méthode d’authentification
          type: string
        preferred_authentication_method:
          $ref: '#/components/schemas/PhoneAuthenticationMethodEnum'
          description: >-
            La méthode d’authentification privilégiée (pour les
            authentificateurs de téléphone)
      type: object
    UpdateAuthenticationMethodResponseContent:
      discriminator:
        mapping:
          email:
            $ref: '#/components/schemas/AuthenticationMethodEmail'
          passkey:
            $ref: '#/components/schemas/AuthenticationMethodPasskey'
          password:
            $ref: '#/components/schemas/AuthenticationMethodPassword'
          phone:
            $ref: '#/components/schemas/AuthenticationMethodPhone'
          push-notification:
            $ref: '#/components/schemas/AuthenticationMethodMfaPushNotification'
          recovery-code:
            $ref: '#/components/schemas/AuthenticationMethodMfaRecoveryCode'
          totp:
            $ref: '#/components/schemas/AuthenticationMethodMfaTotp'
          webauthn-platform:
            $ref: '#/components/schemas/AuthenticationMethodWebAuthnPlatform'
          webauthn-roaming:
            $ref: '#/components/schemas/AuthenticationMethodWebAuthnRoaming'
        propertyName: type
        x-openapi-typescript-ignore: true
      oneOf:
        - $ref: '#/components/schemas/AuthenticationMethodPassword'
          title: password
        - $ref: '#/components/schemas/AuthenticationMethodPasskey'
          title: passkey
        - $ref: '#/components/schemas/AuthenticationMethodMfaRecoveryCode'
          title: recovery-code
        - $ref: '#/components/schemas/AuthenticationMethodMfaPushNotification'
          title: push-notification
        - $ref: '#/components/schemas/AuthenticationMethodMfaTotp'
          title: totp
        - $ref: '#/components/schemas/AuthenticationMethodWebAuthnPlatform'
          title: webauthn-platform
        - $ref: '#/components/schemas/AuthenticationMethodWebAuthnRoaming'
          title: webauthn-roaming
        - $ref: '#/components/schemas/AuthenticationMethodPhone'
          title: phone
        - $ref: '#/components/schemas/AuthenticationMethodEmail'
          title: email
      type: object
    PathAuthenticationMethodId:
      type: string
    PhoneAuthenticationMethodEnum:
      description: >-
        Méthode d’authentification privilégiée pour l’authentification par
        téléphone
      enum:
        - sms
        - voice
      type: string
    AuthenticationMethodEmail:
      allOf:
        - $ref: '#/components/schemas/AuthenticationMethodMfaBase'
        - properties:
            email:
              description: >-
                L’adresse de courriel utilisée pour envoyer les messages de
                vérification.
              type: string
            name:
              description: Le nom convivial de la méthode d’authentification
              type: string
            type:
              const: email
              default: email
              description: Type de méthode d’authentification (facteur)
              type: string
          required:
            - type
            - email
          type: object
      title: Email MFA Authenticator
    AuthenticationMethodPasskey:
      allOf:
        - $ref: '#/components/schemas/AuthenticationMethodBase'
        - properties:
            aaguid:
              description: Identifiant global unique de l’attestation de l’authentificateur
              type: string
            credential_backed_up:
              description: Indique si l’information d’identification a été sauvegardée
              type: boolean
            credential_device_type:
              $ref: '#/components/schemas/CredentialDeviceTypeEnum'
            identity_user_id:
              description: >-
                L’ID de l’identité utilisateur liée à la méthode
                d’authentification
              type: string
            key_id:
              description: L’ID de l’information d’identification
              type: string
            last_auth_at:
              description: >-
                La date et l’heure de la dernière utilisation de la méthode
                d’authentification
              format: date-time
              type: string
            public_key:
              description: La clé publique
              type: string
            relying_party_id:
              description: Identifiant du Relying Party
              type: string
            transports:
              description: >-
                Les transports utilisés par les clients pour communiquer avec
                l’authentificateur
              example:
                - internal
              items:
                type: string
              type: array
            type:
              const: passkey
              default: passkey
              description: Type de méthode d’authentification (facteur)
              type: string
            user_agent:
              description: >-
                La chaîne user-agent du navigateur utilisée pour créer la clé
                d’accès
              example: Chrome 131.0.0 / Mac OS X 10.15.7
              type: string
            user_handle:
              description: Le handle de l’identité utilisateur
              type: string
          required:
            - type
            - credential_backed_up
            - credential_device_type
            - identity_user_id
            - key_id
            - public_key
            - user_handle
          type: object
      title: Passkey Authenticator
    AuthenticationMethodPassword:
      allOf:
        - $ref: '#/components/schemas/AuthenticationMethodBase'
        - properties:
            identity_user_id:
              description: >-
                L’ID de l’identité utilisateur liée à la méthode
                d’authentification
              type: string
            last_password_reset:
              description: La date de la dernière réinitialisation du mot de passe
              format: date-time
              type: string
            type:
              const: password
              default: password
              description: Type de méthode d’authentification (facteur)
              type: string
          required:
            - type
            - identity_user_id
          type: object
      title: Password Authenticator
    AuthenticationMethodPhone:
      allOf:
        - $ref: '#/components/schemas/AuthenticationMethodMfaBase'
        - properties:
            name:
              description: Le nom convivial de la méthode d’authentification
              type: string
            phone_number:
              description: >-
                Le numéro de téléphone de destination utilisé pour envoyer des
                codes de vérification par texto et par appel vocal.
              type: string
            preferred_authentication_method:
              $ref: '#/components/schemas/PhoneAuthenticationMethodEnum'
            type:
              const: phone
              default: phone
              description: Type de méthode d’authentification (facteur)
              type: string
          required:
            - type
            - phone_number
            - preferred_authentication_method
          type: object
      title: Phone MFA Authenticator
    AuthenticationMethodMfaPushNotification:
      allOf:
        - $ref: '#/components/schemas/AuthenticationMethodMfaBase'
        - properties:
            name:
              description: Le nom convivial de la méthode d’authentification
              type: string
            type:
              const: push-notification
              default: push-notification
              description: Type de méthode d’authentification (facteur)
              type: string
          required:
            - type
          type: object
      title: Push Notification Authenticator
    AuthenticationMethodMfaRecoveryCode:
      allOf:
        - $ref: '#/components/schemas/AuthenticationMethodMfaBase'
        - properties:
            type:
              const: recovery-code
              default: recovery-code
              description: Type de méthode d’authentification (facteur)
              type: string
          required:
            - type
          type: object
      title: Recovery Code Authenticator
    AuthenticationMethodMfaTotp:
      allOf:
        - $ref: '#/components/schemas/AuthenticationMethodMfaBase'
        - properties:
            name:
              description: Le nom convivial de la méthode d’authentification
              type: string
            type:
              const: totp
              default: totp
              description: Type de méthode d’authentification (facteur)
              type: string
          required:
            - type
          type: object
      title: TOTP Authenticator
    AuthenticationMethodWebAuthnPlatform:
      allOf:
        - $ref: '#/components/schemas/AuthenticationMethodWebAuthn'
        - properties:
            type:
              const: webauthn-platform
              default: webauthn-platform
              description: Type de méthode d’authentification (facteur)
              type: string
          required:
            - type
          type: object
      title: WebAuthn Platform MFA Authenticator
    AuthenticationMethodWebAuthnRoaming:
      allOf:
        - $ref: '#/components/schemas/AuthenticationMethodWebAuthn'
        - properties:
            type:
              const: webauthn-roaming
              default: webauthn-roaming
              description: Type de méthode d’authentification (facteur)
              type: string
          required:
            - type
          type: object
      title: WebAuthn Roaming MFA Authenticator
    ErrorResponse:
      additionalProperties: false
      properties:
        detail:
          type: string
        status:
          type: number
        title:
          type: string
        type:
          type: string
        validation_errors:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
      required:
        - type
        - status
        - title
        - detail
      type: object
    AuthenticationMethodMfaBase:
      allOf:
        - $ref: '#/components/schemas/AuthenticationMethodBase'
        - properties:
            confirmed:
              description: Le statut de la méthode d’authentification
              type: boolean
            last_auth_at:
              description: >-
                La date et l’heure de la dernière utilisation de la méthode
                d’authentification
              format: date-time
              type: string
          required:
            - confirmed
          type: object
    AuthenticationMethodBase:
      properties:
        created_at:
          description: La date et l’heure de création de la méthode d’authentification
          format: date-time
          type: string
        id:
          description: L’identifiant unique de la méthode d’authentification
          type: string
        usage:
          $ref: '#/components/schemas/Usage'
      required:
        - id
        - created_at
        - usage
      type: object
    CredentialDeviceTypeEnum:
      description: >-
        Type d’appareil de l’information d’identification pour les méthodes
        d’authentification par clé d’accès
      enum:
        - multi_device
        - single_device
      type: string
    AuthenticationMethodWebAuthn:
      allOf:
        - $ref: '#/components/schemas/AuthenticationMethodMfaBase'
        - properties:
            key_id:
              description: L’ID de l’information d’identification
              type: string
            name:
              description: Le nom convivial de la méthode d’authentification
              type: string
            public_key:
              description: La clé publique
              type: string
          required: []
          type: object
    ValidationError:
      additionalProperties: false
      properties:
        detail:
          type: string
        field:
          type: string
        pointer:
          type: string
        source:
          type: string
      required:
        - detail
      type: object
    Usage:
      description: Facteur principal et/ou secondaire
      items:
        $ref: '#/components/schemas/UsageEnum'
      type: array
    UsageEnum:
      description: Type d’utilisation des facteurs d’authentification
      enum:
        - primary
        - secondary
      type: string
  headers:
    XRateLimitLimitHeader:
      description: >-
        Le nombre maximal de requêtes autorisées pendant la fenêtre de
        limitation
      required: true
      schema:
        type: number
    XRateLimitRemainingHeader:
      description: >-
        Le nombre de requêtes restantes dans la fenêtre actuelle avant qu’elles
        ne soient rejetées
      required: true
      schema:
        type: number
    XRateLimitResetHeader:
      description: >-
        L’heure prévue (sous forme d’horodatage UNIX, en secondes) à laquelle le
        réservoir sera réapprovisionné
      required: true
      schema:
        type: number
    RetryAfterHeader:
      description: >-
        Le nombre de secondes que le client doit attendre avant d’effectuer une
        nouvelle requête
      required: true
      schema:
        type: number
    XAuth0ErrorKindHeader:
      description: >-
        Indique si la limite de débit dépassée est une limite globale (par
        locataire).
      schema:
        const: global-rate-limit
        type: string
  responses:
    BadRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Entrée non conforme au schéma.
    Unauthorized:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Non autorisé.
    Forbidden:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Interdit.
    UnsupportedMediaType:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Type de média non pris en charge.
    TooManyRequests:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Trop de requêtes.
      headers:
        retry-after:
          $ref: '#/components/headers/RetryAfterHeader'
        x-auth0-error-kind:
          $ref: '#/components/headers/XAuth0ErrorKindHeader'
        x-ratelimit-limit:
          $ref: '#/components/headers/XRateLimitLimitHeader'
        x-ratelimit-remaining:
          $ref: '#/components/headers/XRateLimitRemainingHeader'
        x-ratelimit-reset:
          $ref: '#/components/headers/XRateLimitResetHeader'
  securitySchemes:
    Bearer-DPoP:
      description: >-
        Les jetons Bearer et DPoP sont pris en charge selon la configuration de
        l’API
      scheme: bearer
      type: http

````