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

# Confirmer la méthode d’authentification

> Confirmer l’inscription d’une méthode d’authentification prise en charge.

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">Portées</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 portées définissent les autorisations et les niveaux d’accès des requêtes 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="Aller à 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: "Déprécié",
    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="Naviguer vers 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={["create:me:authentication_methods"]} />


## OpenAPI

````yaml docs/fr-ca/oas/myaccount/myaccount-api-oas.json POST /authentication-methods/{authentication_method_id}/verify
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 enrichir progressivement le compte d’un utilisateur.\n\nL’API My Account fonctionne dans le contexte de l’utilisateur actuellement connecté et peut être utilisée directement dans des applications destinées aux utilisateurs.\n\n:::tip Utiliser le domaine Auth0 ou un domaine personnalisé\n\nL’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 domaine tout au long du processus, notamment pour\_:\n\n- Obtenir un jeton d’accès\n- Définir la valeur d’audience\n- Appeler le point de terminaison de l’API My Account\n\nPour en savoir plus, consultez [Custom Domains](https://auth0.com/docs/customize/custom-domains).\n\n:::\n\n## Activer l’API My Account\n\nVous pouvez activer l’API My Account pour votre tenant dans le tableau de bord Auth0\_:\n\n1. Accédez à Authentication > APIs.\n2. Repérez la bannière MyAccount API.\n3. Sélectionnez Activate.\n\n![](https://images.ctfassets.net/cdy7uua7fh8z/DGkDQNIHcegN8vtQyEvF3/a2e98b06867701a66fa1f1b3df1c996b/My_Account_API_-_Activate.png)\n\nPar défaut, l’API My Account est créée avec les application API access policies suivantes\_:\n\n`require_client_grant` pour les flux utilisateur\n\n`deny_all` pour les flux client (machine à machine)\n\nPour qu’une application puisse accéder à l’API My Account au nom de l’utilisateur, vous devez créer explicitement un client grant pour cette application, ce qui vous permet de définir les scopes maximaux que l’application peut demander. Vous pouvez aussi remplacer la policy des flux d’accès utilisateur par allow_all, ce qui permet à toute application de votre tenant de demander n’importe quel scope de l’API My Account.\n\nComme 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 moindre privilège avec l’API My Account afin de veiller à ce que les applications n’obtiennent que l’accès dont elles ont réellement besoin, ce qui réduit les risques de sécurité potentiels.\n\nLes permissions finales accordées à l’application seront déterminées par l’intersection des scopes autorisés par l’application API access policy, des permissions Role-Based Access Control (RBAC) attribuées à l’utilisateur final et du consentement donné par l’utilisateur, s’il y a lieu.\n\n:::info Flux pris en charge\n\nVous ne pouvez pas mettre à jour l’application API access policy pour l’accès client à l’API My Account, ce qui signifie que vous ne pouvez pas accéder à l’API My Account à l’aide du Client Credentials Flow.\n\n:::\n\nPour en savoir plus sur la gestion des application API access policies et des client grants qui y sont associés, consultez [Application Access to APIs: Client Grants](https://auth0.com/docs/get-started/applications/application-access-to-apis-client-grants).\n\n## Obtenir un jeton d’accès\n\nVous pouvez obtenir un jeton d’accès pour l’API My Account de la même façon que pour l’une de vos propres API.\n\n:::info &nbsp\nSi vous comptez permettre à l’API My Account d’effectuer des opérations sensibles (comme l’inscription d’une méthode d’authentification), nous vous recommandons fortement d’utiliser l’[authentification renforcée (step-up authentication)](https://auth0.com/docs/secure/multi-factor-authentication/step-up-authentication) pour appliquer des politiques de sécurité supplémentaires au moyen de l’[authentification multifacteur (MFA)](https://auth0.com/docs/secure/multi-factor-authentication).\n:::\n\nSi vous utilisez Universal Login, consultez les articles suivants\_:\n\n- [Call Your API Using the Authorization Code Flow](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow/call-your-api-using-the-authorization-code-flow)\n- [Call Your API Using the Authorization Code Flow with 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)\n\nSi vous utilisez l’embedded login, consultez les articles suivants\_:\n\n- [Call Your API Using Resource Owner Password Flow](https://auth0.com/docs/get-started/authentication-and-authorization-flow/resource-owner-password-flow/call-your-api-using-resource-owner-password-flow)\n- [Login Flow with Native Passkeys API](https://auth0.com/docs/native-passkeys-api#login-flow)\n\n## Exemples\n\n### Universal Login avec le flux de code d’autorisation\n\n**Étape 1\_: Demander un code d’autorisation**\n\n```\ncurl --request GET \\\n  --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'\n```\n\n**Étape 2\_: Échanger le code contre un jeton d’accès**\n\n```\ncurl --request POST \\\n  --url 'https://{yourDomain}/oauth/token' \\\n  --header 'content-type: application/json' \\\n  --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\": \"\"}'\n```\n\n### Embedded login avec des passkeys natives\n\n**Étape 1\_: Demander un challenge de connexion**\n\n```\ncurl --request POST \\\n  --url 'https://{yourDomain}/passkey/challenge' \\\n  --header 'content-type: application/json' \\\n  --data '{\"client_id\": \"{yourClientId}\"}'\n```\n\n**Étape 2\_: Authentifier un utilisateur existant**\n\n```\ncurl --request POST \\\n  --url 'https://{yourDomain}/oauth/token' \\\n  --header 'content-type: application/json' \\\n  --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}\"}'\n```"
  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 canonique
security: []
tags:
  - description: Facteurs
    name: factors
    x-displayName: Factors
  - description: Comptes connectés
    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
  - description: Organisations
    name: organizations
    x-displayName: Organizations
paths:
  /authentication-methods/{authentication_method_id}/verify:
    post:
      tags:
        - authentication-methods
      summary: >-
        Confirmer l’inscription d’une méthode d’authentification prise en
        charge.
      description: >-
        Confirmer l’inscription d’une méthode d’authentification prise en
        charge.
      operationId: confirmAuthenticationMethod
      parameters:
        - $ref: '#/components/parameters/PathAuthenticationMethodId'
      requestBody:
        content:
          application/json:
            examples:
              email:
                summary: Vérifier l’inscription par courriel avec un code OTP
                value:
                  auth_session: Fe26.2**05c400ed...
                  otp_code: '123456'
              passkey:
                summary: >-
                  Vérifier l’inscription par clé d’accès avec la réponse
                  d’attestation de l’application d’authentification
                value:
                  auth_session: Fe26.2**05c400ed...
                  authn_response:
                    clientExtensionResults: {}
                    id: dGVzdC1jcmVkZW50aWFsLWlk
                    rawId: dGVzdC1jcmVkZW50aWFsLWlk
                    response:
                      attestationObject: o2NmbXRkbm9uZWdhdHRTdG10oGhhdXRoRGF0YQ...
                      clientDataJSON: eyJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIiwiY2hh...
                    type: public-key
              password:
                summary: >-
                  Vérifier l’inscription au mot de passe en définissant le
                  nouveau mot de passe
                value:
                  auth_session: Fe26.2**05c400ed...
                  new_password: MySecureP@ssw0rd!
              phone:
                summary: Vérifier l’inscription du téléphone à l’aide d’un code OTP
                value:
                  auth_session: Fe26.2**05c400ed...
                  otp_code: '123456'
              push-notification:
                summary: Vérifier l’inscription à la notification push
                value:
                  auth_session: Fe26.2**05c400ed...
              recovery-code:
                summary: Vérifier l’inscription au code de récupération
                value:
                  auth_session: Fe26.2**05c400ed...
              totp:
                summary: >-
                  Vérifier l’inscription TOTP avec le code de l’application
                  d’authentification
                value:
                  auth_session: Fe26.2**05c400ed...
                  otp_code: '123456'
            schema:
              $ref: '#/components/schemas/VerifyAuthenticationMethodRequestContent'
      responses:
        '201':
          content:
            application/json:
              examples:
                email:
                  summary: Méthode d’authentification par courriel confirmée
                  value:
                    confirmed: true
                    created_at: '2025-01-15T10:30:00.000Z'
                    email: user@example.com
                    id: email|dev_XXXXXXXXXXXXXXXX
                    type: email
                    usage:
                      - secondary
                passkey:
                  summary: Méthode d’authentification par clé d’accès confirmée
                  value:
                    created_at: '2025-01-15T10:30:00.000Z'
                    credential_backed_up: true
                    credential_device_type: multi_device
                    id: passkey|dev_XXXXXXXXXXXXXXXX
                    identity_user_id: auth0|507f1f77bcf86cd799439011
                    key_id: dGVzdC1jcmVkZW50aWFsLWlk
                    public_key: pQECAyYgASFYI...
                    relying_party_id: example.auth0.com
                    transports:
                      - internal
                    type: passkey
                    usage:
                      - primary
                    user_agent: Chrome 131.0.0 / Mac OS X 10.15.7
                    user_handle: YXV0aDB8NTA3ZjFmNzdiY2Y4NmNkNzk5NDM5MDEx
                password:
                  summary: Méthode d’authentification par mot de passe confirmée
                  value:
                    created_at: '2025-01-15T10:30:00.000Z'
                    id: password|dXNlci0xMjM
                    identity_user_id: auth0|507f1f77bcf86cd799439011
                    type: password
                    usage:
                      - primary
                phone:
                  summary: Méthode d’authentification par téléphone confirmée
                  value:
                    confirmed: true
                    created_at: '2025-01-15T10:30:00.000Z'
                    id: phone|dev_XXXXXXXXXXXXXXXX
                    phone_number: '+15551234567'
                    preferred_authentication_method: sms
                    type: phone
                    usage:
                      - secondary
                push-notification:
                  summary: Méthode d’authentification par notification push confirmée
                  value:
                    confirmed: true
                    created_at: '2025-01-15T10:30:00.000Z'
                    id: push-notification|dev_XXXXXXXXXXXXXXXX
                    type: push-notification
                    usage:
                      - secondary
                recovery-code:
                  summary: >-
                    Méthode d’authentification par code de récupération
                    confirmée
                  value:
                    confirmed: true
                    created_at: '2025-01-15T10:30:00.000Z'
                    id: recovery-code|dev_XXXXXXXXXXXXXXXX
                    type: recovery-code
                    usage:
                      - secondary
                totp:
                  summary: Méthode d’authentification TOTP confirmée
                  value:
                    confirmed: true
                    created_at: '2025-01-15T10:30:00.000Z'
                    id: totp|dev_XXXXXXXXXXXXXXXX
                    type: totp
                    usage:
                      - secondary
              schema:
                $ref: '#/components/schemas/VerifyAuthenticationMethodResponseContent'
          description: Méthode d’authentification vérifiée
          headers:
            Location:
              $ref: '#/components/headers/LocationHeader'
            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:
            - create: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:
    VerifyAuthenticationMethodRequestContent:
      anyOf:
        - $ref: '#/components/schemas/VerifyPasskeyAuthenticationMethod'
          x-type: passkey
        - $ref: '#/components/schemas/VerifyPasswordAuthenticationMethod'
          x-type: password
        - $ref: '#/components/schemas/VerifyWebAuthnPlatformAuthenticationMethod'
          x-type: webauthn-platform
        - $ref: '#/components/schemas/VerifyWebAuthnRoamingAuthenticationMethod'
          x-type: webauthn-roaming
        - $ref: '#/components/schemas/VerifyPushNotificationAuthenticationMethod'
          x-type: push-notification
        - $ref: '#/components/schemas/VerifyRecoveryCodeAuthenticationMethod'
          x-type: recovery-code
        - $ref: '#/components/schemas/VerifyEmailAuthenticationMethod'
          x-type: email
        - $ref: '#/components/schemas/VerifyPhoneAuthenticationMethod'
          x-type: phone
        - $ref: '#/components/schemas/VerifyTotpAuthenticationMethod'
          x-type: totp
      description: Contenu de la requête pour vérifier une méthode d’authentification
    VerifyAuthenticationMethodResponseContent:
      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
    VerifyPasskeyAuthenticationMethod:
      additionalProperties: false
      properties:
        auth_session:
          description: >-
            L’identifiant de session unique pour l’inscription, tel que renvoyé
            par POST /authentication-methods
          type: string
        authn_response:
          $ref: '#/components/schemas/AuthenticatorAttestationResponse'
      required:
        - auth_session
        - authn_response
      title: Passkey verification payload
      type: object
    VerifyPasswordAuthenticationMethod:
      additionalProperties: false
      properties:
        auth_session:
          description: >-
            L’identifiant de session unique de l’opération de changement de mot
            de passe, tel que renvoyé par POST /authentication-methods
          type: string
        new_password:
          description: Le nouveau mot de passe à définir pour l’utilisateur
          maxLength: 256
          minLength: 1
          pattern: ^[^\u0000-\u001f\u007f-\u009f]*$
          type: string
      required:
        - auth_session
        - new_password
      title: Password verification payload
      type: object
    VerifyWebAuthnPlatformAuthenticationMethod:
      additionalProperties: false
      properties:
        auth_session:
          description: >-
            L’identifiant de session unique pour l’inscription, tel que renvoyé
            par POST /authentication-methods
          type: string
        authn_response:
          $ref: '#/components/schemas/AuthenticatorAttestationResponse'
      required:
        - auth_session
        - authn_response
      title: WebAuthn Platform verification payload
      type: object
    VerifyWebAuthnRoamingAuthenticationMethod:
      additionalProperties: false
      properties:
        auth_session:
          description: >-
            L’identifiant de session unique pour l’inscription, tel que renvoyé
            par POST /authentication-methods
          type: string
        authn_response:
          $ref: '#/components/schemas/AuthenticatorAttestationResponse'
      required:
        - auth_session
        - authn_response
      title: WebAuthn Roaming verification payload
      type: object
    VerifyPushNotificationAuthenticationMethod:
      additionalProperties: false
      properties:
        auth_session:
          description: >-
            L’identifiant de session unique pour l’inscription, tel que renvoyé
            par POST /authentication-methods
          type: string
      required:
        - auth_session
      title: Push Notification verification payload
      type: object
    VerifyRecoveryCodeAuthenticationMethod:
      additionalProperties: false
      properties:
        auth_session:
          description: >-
            L’identifiant de session unique pour l’inscription, tel que renvoyé
            par POST /authentication-methods
          type: string
      required:
        - auth_session
      title: Recovery Code verification payload
      type: object
    VerifyEmailAuthenticationMethod:
      additionalProperties: false
      properties:
        auth_session:
          description: >-
            L’identifiant de session unique pour l’inscription, tel que renvoyé
            par POST /authentication-methods
          type: string
        otp_code:
          description: Le code à usage unique envoyé à l’adresse courriel.
          type: string
      required:
        - auth_session
        - otp_code
      title: Email verification payload
      type: object
    VerifyPhoneAuthenticationMethod:
      additionalProperties: false
      properties:
        auth_session:
          description: >-
            L’identifiant de session unique pour l’inscription, tel que renvoyé
            par POST /authentication-methods
          type: string
        otp_code:
          description: Le code à usage unique envoyé au numéro de téléphone.
          type: string
      required:
        - auth_session
        - otp_code
      title: Phone verification payload
      type: object
    VerifyTotpAuthenticationMethod:
      additionalProperties: false
      properties:
        auth_session:
          description: >-
            L’identifiant de session unique pour l’inscription, tel que renvoyé
            par POST /authentication-methods
          type: string
        otp_code:
          description: Le code à usage unique récupéré depuis l’application TOTP.
          type: string
      required:
        - auth_session
        - otp_code
      title: TOTP verification payload
      type: object
    AuthenticationMethodEmail:
      allOf:
        - $ref: '#/components/schemas/AuthenticationMethodMfaBase'
        - properties:
            email:
              description: >-
                L’adresse courriel utilisée pour envoyer des messages de
                vérification.
              type: string
            name:
              description: Le nom descriptif 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 d’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é de l’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 de la partie de confiance
              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é 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 user handle de l’identité de l’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é de l’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 descriptif 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 ou 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 descriptif 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 descriptif 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
    AuthenticatorAttestationResponse:
      properties:
        authenticatorAttachment:
          $ref: '#/components/schemas/AuthenticatorAttachmentEnum'
        clientExtensionResults:
          $ref: '#/components/schemas/ClientExtensionResults'
        id:
          maxLength: 1364
          type: string
        rawId:
          maxLength: 1364
          type: string
        response:
          $ref: '#/components/schemas/AuthenticatorAttestationResponseData'
        type:
          const: public-key
      required:
        - id
        - rawId
        - response
        - type
      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
    PhoneAuthenticationMethodEnum:
      description: >-
        Méthode d’authentification privilégiée pour l’authentification par
        téléphone
      enum:
        - sms
        - voice
      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 descriptif 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
    AuthenticatorAttachmentEnum:
      description: La méthode de rattachement de l’authenticator
      enum:
        - platform
        - cross-platform
      type: string
    ClientExtensionResults:
      type: object
    AuthenticatorAttestationResponseData:
      additionalProperties: false
      properties:
        attestationObject:
          maxLength: 2000
          type: string
        clientDataJSON:
          maxLength: 1000
          type: string
        transports:
          items:
            maxLength: 100
            type: string
          type: array
      required:
        - attestationObject
        - clientDataJSON
      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:
    LocationHeader:
      description: URL de la ressource de méthode d’authentification.
      examples:
        create:
          summary: >-
            URL d’emplacement d’une nouvelle méthode d’authentification par clé
            d’accès créée, mais non vérifiée
          value: https://auth0.auth0.com/me/v1/authentication-methods/passkey%7Cnew
        verify:
          summary: >-
            URL d’emplacement d’une nouvelle méthode d’authentification par clé
            d’accès vérifiée
          value: >-
            https://auth0.auth0.com/me/v1/authentication-methods/passkey%7Cdev_XXXXXXXXXXXXXXXX
      required: true
      schema:
        format: uri
        type: string
    XRateLimitLimitHeader:
      description: Le nombre maximal de requêtes autorisées pendant la fenêtre de la limite
      required: true
      schema:
        type: number
    XRateLimitRemainingHeader:
      description: >-
        Le nombre de requêtes restantes dans la fenêtre en cours avant le rejet
        des requêtes
      required: true
      schema:
        type: number
    XRateLimitResetHeader:
      description: >-
        Le moment prévu (sous forme d’horodatage UNIX, en secondes) auquel le
        bucket 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
        tenant).
      schema:
        const: global-rate-limit
        type: string
  responses:
    BadRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Entrée invalide selon le 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

````