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

# Commencer l’inscription d’une méthode d’authentification prise en charge.

> Démarrer 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
openapi: 3.1.0
info:
  title: Mon compte
  version: '1.0'
  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```"
servers:
  - url: https://{host}/me/v1
    variables:
      host:
        default: auth0.auth0.com
        description: Nom d’hôte personnalisé ou canonique
security: []
tags:
  - name: factors
    description: Facteurs
    x-displayName: Factors
  - name: connected-accounts
    description: Comptes connectés
    x-displayName: Connected Accounts
  - name: authentication-methods
    description: Méthodes d’authentification
    x-displayName: Authentication Methods
  - name: consents
    description: Consentements
    x-displayName: Consents
  - name: organizations
    description: Organisations
    x-displayName: Organizations
  - name: profile
    description: Profil
    x-displayName: Profile
paths:
  /authentication-methods:
    post:
      tags:
        - authentication-methods
      summary: >-
        Commencer l’inscription d’une méthode d’authentification prise en
        charge.
      description: Démarrer l’inscription d’une méthode d’authentification prise en charge.
      operationId: createAuthenticationMethod
      parameters:
        - $ref: '#/components/parameters/HeaderCorrelationId'
        - $ref: '#/components/parameters/HeaderTraceparent'
        - $ref: '#/components/parameters/HeaderRequestLanguage'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAuthenticationMethodRequestContent'
            examples:
              phone:
                summary: >-
                  Inscrire un numéro de téléphone pour l’OTP par SMS ou appel
                  vocal
                value:
                  type: phone
                  phone_number: '+15551234567'
                  preferred_authentication_method: sms
              email:
                summary: Inscrire une adresse courriel pour l’OTP
                value:
                  type: email
                  email: user@example.com
              totp:
                summary: Inscrire une application d’authentification TOTP
                value:
                  type: totp
              push-notification:
                summary: Inscrire un authentificateur par notification push
                value:
                  type: push-notification
              recovery-code:
                summary: Générer un code de récupération
                value:
                  type: recovery-code
              password:
                summary: Inscrire un mot de passe
                value:
                  type: password
              passkey:
                summary: Inscrire une clé d’accès
                value:
                  type: passkey
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAuthenticationMethodResponseContent'
              examples:
                phone:
                  summary: Inscription du téléphone commencée
                  value:
                    id: phone|dev_XXXXXXXXXXXXXXXX
                    auth_session: Fe26.2**05c400ed...
                email:
                  summary: Inscription par courriel commencée
                  value:
                    id: email|dev_XXXXXXXXXXXXXXXX
                    auth_session: Fe26.2**05c400ed...
                totp:
                  summary: Inscription TOTP commencée — comprend les données du code QR
                  value:
                    id: totp|dev_XXXXXXXXXXXXXXXX
                    auth_session: Fe26.2**05c400ed...
                    barcode_uri: >-
                      otpauth://totp/my-tenant:auth0%7C507f1f77bcf86cd799439011?secret=JBSWY3DPEHPK3PXP&issuer=my-tenant&algorithm=SHA1&digits=6&period=30
                    manual_input_code: JBSWY3DPEHPK3PXP
                push-notification:
                  summary: >-
                    Inscription par notification push commencée — comprend les
                    données du code QR
                  value:
                    id: push-notification|dev_XXXXXXXXXXXXXXXX
                    auth_session: Fe26.2**05c400ed...
                    barcode_uri: >-
                      otpauth://totp/my-tenant:auth0%7C507f1f77bcf86cd799439011?secret=JBSWY3DPEHPK3PXP&issuer=my-tenant&algorithm=SHA1&digits=6&period=30
                recovery-code:
                  summary: Code de récupération généré
                  value:
                    id: recovery-code|dev_XXXXXXXXXXXXXXXX
                    auth_session: Fe26.2**05c400ed...
                    recovery_code: ABCDEFGHIJKLMNOPQRSTUVWX
                password:
                  summary: >-
                    Inscription du mot de passe commencée — comprend la
                    politique de mot de passe
                  value:
                    id: password|new
                    auth_session: Fe26.2**05c400ed...
                    policy:
                      complexity:
                        min_length: 8
                        character_types:
                          - lowercase
                          - uppercase
                          - number
                          - special
                        character_type_rule: three_of_four
                        identical_characters: block
                        sequential_characters: block
                        max_length_exceeded: truncate
                      profile_data:
                        active: true
                        blocked_fields:
                          - name
                          - email
                      history:
                        active: true
                        size: 5
                      dictionary:
                        active: true
                        default: en_10k
                passkey:
                  summary: >-
                    Inscription de la clé d’accès commencée — comprend les
                    options de création WebAuthn
                  value:
                    auth_session: Fe26.2**05c400ed...
                    authn_params_public_key:
                      challenge: dGVzdC1jaGFsbGVuZ2U
                      timeout: 60000
                      rp:
                        id: example.auth0.com
                        name: My Application
                      user:
                        id: YXV0aDB8NTA3ZjFmNzdiY2Y4NmNkNzk5NDM5MDEx
                        name: user@example.com
                        displayName: User
                      pubKeyCredParams:
                        - type: public-key
                          alg: -7
                        - type: public-key
                          alg: -257
                      authenticatorSelection:
                        residentKey: required
                        userVerification: preferred
          description: Inscription démarrée
          headers:
            Location:
              $ref: '#/components/headers/LocationHeader'
            x-ratelimit-limit:
              $ref: '#/components/headers/XRateLimitLimitHeader'
            x-ratelimit-reset:
              $ref: '#/components/headers/XRateLimitResetHeader'
            x-ratelimit-remaining:
              $ref: '#/components/headers/XRateLimitRemainingHeader'
            x-correlation-id:
              $ref: '#/components/headers/CorrelationIdHeader'
            traceparent:
              $ref: '#/components/headers/TraceparentHeader'
        '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:
    HeaderCorrelationId:
      in: header
      name: x-correlation-id
      required: false
      schema:
        type: string
      description: >-
        Un identifiant unique fourni par le client pour une opération donnée,
        utilisé pour corréler la requête dans les systèmes Auth0. La valeur
        apparaît sous `references.correlation_id` dans les journaux du locataire
        et est renvoyée dans l’en-tête `x-correlation-id` de la réponse. Les
        valeurs non valides ou trop longues sont ignorées silencieusement et
        remplacées par un UUID v4 généré. Évitez d’inclure des renseignements
        personnels identifiables (RPI).
    HeaderTraceparent:
      in: header
      name: traceparent
      required: false
      schema:
        type: string
      description: "Un en-tête [W3C Trace Context](https://www.w3.org/TR/trace-context/) utilisé pour corréler la requête dans les traces distribuées. Lorsqu’il est fourni, la trace entrante est poursuivie et un nouveau span enfant est renvoyé dans l’en-tête `traceparent` de la réponse\_; l’ID de trace apparaît aussi sous `references.trace_id` dans les journaux du locataire. Les valeurs malformées sont ignorées."
    HeaderRequestLanguage:
      in: header
      name: x-request-language
      required: false
      schema:
        type: string
      description: >-
        Indique la langue utilisée pour le contenu localisé généré lors du
        traitement de la requête (par exemple, les courriels OTP ou les messages
        SMS), à l’aide de l’une des langues prises en charge configurées pour le
        locataire.
  schemas:
    CreateAuthenticationMethodRequestContent:
      description: Contenu de la requête pour créer une méthode d’authentification
      oneOf:
        - $ref: '#/components/schemas/CreatePasskeyAuthenticationMethod'
          title: passkey
        - $ref: '#/components/schemas/CreateTotpAuthenticationMethod'
          title: totp
        - $ref: '#/components/schemas/CreatePushNotificationAuthenticationMethod'
          title: push-notification
        - $ref: '#/components/schemas/CreateRecoveryCodeAuthenticationMethod'
          title: recovery-code
        - $ref: '#/components/schemas/CreateEmailAuthenticationMethod'
          title: email
        - $ref: '#/components/schemas/CreatePhoneAuthenticationMethod'
          title: phone
        - $ref: '#/components/schemas/CreatePasswordAuthenticationMethod'
          title: password
      type: object
      discriminator:
        propertyName: type
        mapping:
          passkey: '#/components/schemas/CreatePasskeyAuthenticationMethod'
          totp: '#/components/schemas/CreateTotpAuthenticationMethod'
          push-notification: '#/components/schemas/CreatePushNotificationAuthenticationMethod'
          recovery-code: '#/components/schemas/CreateRecoveryCodeAuthenticationMethod'
          email: '#/components/schemas/CreateEmailAuthenticationMethod'
          phone: '#/components/schemas/CreatePhoneAuthenticationMethod'
          password: '#/components/schemas/CreatePasswordAuthenticationMethod'
        x-openapi-typescript-ignore: true
    CreateAuthenticationMethodResponseContent:
      anyOf:
        - $ref: '#/components/schemas/PasskeyCreationResponse'
        - $ref: '#/components/schemas/WebAuthnCreationResponse'
        - $ref: '#/components/schemas/MfaBaseCreationResponse'
          title: Email/Phone enrollment information
        - $ref: '#/components/schemas/QrCodeCreationResponse'
        - $ref: '#/components/schemas/RecoveryCodeCreationResponse'
        - $ref: '#/components/schemas/PasswordCreationResponse'
    CreatePasskeyAuthenticationMethod:
      title: Passkey enrollment payload
      allOf:
        - $ref: '#/components/schemas/IdentityAuthenticationMethodBase'
        - type: object
          properties:
            type:
              description: Type de méthode d’authentification (facteur)
              default: passkey
              type: string
              const: passkey
            use_exclude_credentials:
              type: boolean
              x-internal: true
              description: >-
                Lorsqu’elle est activée, Auth0 inclut les identifiants existants
                de l’utilisateur dans le champ excludeCredentials lors de
                l’enregistrement d’une clé d’accès. Cela empêche les
                utilisateurs d’enregistrer accidentellement plusieurs clés
                d’accès à partir du même authentificateur, ce qui réduit
                l’encombrement des identifiants et évite toute confusion lors de
                la connexion.
          required:
            - type
    CreateTotpAuthenticationMethod:
      title: TOTP enrollment payload
      type: object
      properties:
        type:
          const: totp
          description: Type de méthode d’authentification (facteur)
          default: totp
          type: string
      required:
        - type
      additionalProperties: false
    CreatePushNotificationAuthenticationMethod:
      title: Push Notification enrollment payload
      type: object
      properties:
        type:
          const: push-notification
          description: Type de méthode d’authentification (facteur)
          default: push-notification
          type: string
      required:
        - type
      additionalProperties: false
    CreateRecoveryCodeAuthenticationMethod:
      title: Recovery Code enrollment payload
      type: object
      properties:
        type:
          const: recovery-code
          description: Type de méthode d’authentification (facteur)
          default: recovery-code
          type: string
      required:
        - type
      additionalProperties: false
    CreateEmailAuthenticationMethod:
      title: Email enrollment payload
      type: object
      properties:
        type:
          const: email
          description: Type de méthode d’authentification (facteur)
          default: email
          type: string
        email:
          type: string
          description: L’adresse courriel à utiliser pour envoyer des codes à usage unique.
      required:
        - type
        - email
      additionalProperties: false
    CreatePhoneAuthenticationMethod:
      title: Phone enrollment payload
      type: object
      properties:
        type:
          const: phone
          description: Type de méthode d’authentification (facteur)
          default: phone
          type: string
        phone_number:
          type: string
          description: >-
            Le numéro de téléphone de destination utilisé pour envoyer des codes
            de vérification par texto ou par appel vocal.
        preferred_authentication_method:
          $ref: '#/components/schemas/PhoneAuthenticationMethodEnum'
          description: Le mode de communication privilégié.
      required:
        - type
        - phone_number
      additionalProperties: false
    CreatePasswordAuthenticationMethod:
      title: Password authentication method creation payload
      allOf:
        - $ref: '#/components/schemas/IdentityAuthenticationMethodBase'
        - type: object
          properties:
            type:
              description: Type de méthode d’authentification (facteur)
              default: password
              type: string
              const: password
            connection: true
            identity_user_id: true
          required:
            - type
          additionalProperties: false
    PasskeyCreationResponse:
      title: Passkey enrollment information
      properties:
        auth_session:
          type: string
          description: L’identifiant de session unique pour l’inscription.
        authn_params_public_key:
          $ref: '#/components/schemas/PublicKeyCredentialCreationOptions'
      required:
        - auth_session
        - authn_params_public_key
      type: object
    WebAuthnCreationResponse:
      allOf:
        - $ref: '#/components/schemas/MfaBaseCreationResponse'
        - title: WebAuthn enrollment information
          properties:
            authn_params_public_key:
              $ref: '#/components/schemas/PublicKeyCredentialCreationOptions'
          required:
            - authn_params_public_key
          type: object
    MfaBaseCreationResponse:
      type: object
      properties:
        id:
          type: string
          description: L’identifiant unique de la méthode d’authentification.
        auth_session:
          type: string
          description: L’identifiant de session unique pour l’inscription.
      required:
        - id
        - auth_session
    QrCodeCreationResponse:
      allOf:
        - $ref: '#/components/schemas/MfaBaseCreationResponse'
        - title: TOTP/Push enrollment information
          type: object
          properties:
            barcode_uri:
              type: string
              description: L’URI du code QR à numériser avec l’authenticator.
            manual_input_code:
              type: string
              description: >-
                Le code de saisie manuelle de l’authenticator si les codes QR ne
                peuvent pas être utilisés.
          required:
            - barcode_uri
    RecoveryCodeCreationResponse:
      allOf:
        - $ref: '#/components/schemas/MfaBaseCreationResponse'
        - title: Recovery Code enrollment information
          type: object
          properties:
            recovery_code:
              type: string
              description: La valeur du code de récupération.
          required:
            - recovery_code
    PasswordCreationResponse:
      title: Password enrollment information
      type: object
      properties:
        id:
          type: string
          description: >-
            L’identifiant unique de la méthode d’authentification par mot de
            passe.
        policy:
          $ref: '#/components/schemas/PasswordAuthenticationMethodPolicy'
        auth_session:
          type: string
          description: >-
            L’identifiant de session unique de l’opération de changement de mot
            de passe.
      required:
        - id
        - policy
        - auth_session
    ErrorResponse:
      properties:
        type:
          type: string
        status:
          type: number
        title:
          type: string
        detail:
          type: string
        validation_errors:
          type: array
          items:
            $ref: '#/components/schemas/ValidationError'
      required:
        - type
        - status
        - title
        - detail
      type: object
      additionalProperties: false
    IdentityAuthenticationMethodBase:
      type: object
      properties:
        connection:
          $ref: '#/components/schemas/Connection'
        identity_user_id:
          $ref: '#/components/schemas/IdentityUserId'
    PhoneAuthenticationMethodEnum:
      description: >-
        Méthode d’authentification privilégiée pour l’authentification par
        téléphone
      enum:
        - sms
        - voice
      type: string
    PublicKeyCredentialCreationOptions:
      properties:
        authenticatorSelection:
          $ref: '#/components/schemas/AuthenticatorSelection'
        challenge:
          type: string
        pubKeyCredParams:
          example:
            - type: public-key
              alg: -8
            - type: public-key
              alg: -7
            - type: public-key
              alg: -257
          items:
            $ref: '#/components/schemas/PublicKeyCredentialParameter'
          type: array
        rp:
          $ref: '#/components/schemas/RelyingParty'
        timeout:
          type: number
          example: 60000
        user:
          $ref: '#/components/schemas/User'
        excludeCredentials:
          type: array
          x-internal: true
          items:
            $ref: '#/components/schemas/PublicKeyCredentialDescriptor'
          description: Identifiants existants à exclure lors d’un nouvel enregistrement.
      required:
        - challenge
        - pubKeyCredParams
        - rp
        - user
      type: object
    PasswordAuthenticationMethodPolicy:
      type: object
      description: >-
        La configuration de la politique de mot de passe pour la connexion au
        format flexible.
      properties:
        complexity:
          $ref: '#/components/schemas/PasswordComplexityPolicy'
        profile_data:
          $ref: '#/components/schemas/PasswordProfileDataPolicy'
        history:
          $ref: '#/components/schemas/PasswordHistoryPolicy'
        dictionary:
          $ref: '#/components/schemas/PasswordDictionaryPolicy'
      required:
        - complexity
        - profile_data
        - history
        - dictionary
      additionalProperties: false
    ValidationError:
      type: object
      properties:
        detail:
          type: string
        field:
          type: string
        pointer:
          type: string
        source:
          type: string
      required:
        - detail
      additionalProperties: false
    Connection:
      description: Nom de la connexion à la base de données
      type: string
      minLength: 1
      maxLength: 128
      pattern: ^[a-zA-Z0-9-]+$
    IdentityUserId:
      description: ID utilisateur du fournisseur d’identité
      type: string
      minLength: 1
      maxLength: 255
      pattern: ^\S+$
    AuthenticatorSelection:
      type: object
      properties:
        residentKey:
          $ref: '#/components/schemas/ResidentKeyEnum'
        userVerification:
          $ref: '#/components/schemas/UserVerificationEnum'
      additionalProperties: false
    PublicKeyCredentialParameter:
      type: object
      properties:
        alg:
          type: number
        type:
          $ref: '#/components/schemas/PublicKeyTypeEnum'
      required:
        - alg
        - type
      additionalProperties: false
    RelyingParty:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
      required:
        - name
      additionalProperties: false
    User:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        displayName:
          type: string
      required:
        - id
        - name
        - displayName
      additionalProperties: false
    PublicKeyCredentialDescriptor:
      type: object
      properties:
        id:
          type: string
          description: L’ID de l’identifiant.
        type:
          type: string
          const: public-key
        transports:
          type: array
          items:
            type: string
          description: Indications sur les transports que l’authentificateur peut utiliser.
      required:
        - id
        - type
      additionalProperties: false
    PasswordComplexityPolicy:
      type: object
      description: Exigences de complexité du mot de passe
      properties:
        min_length:
          type: integer
          description: Longueur minimale du mot de passe
        character_types:
          type: array
          items:
            $ref: '#/components/schemas/PasswordCharacterTypeEnum'
          description: Types de caractères requis
        character_type_rule:
          $ref: '#/components/schemas/PasswordCharacterTypeRuleEnum'
        identical_characters:
          $ref: '#/components/schemas/PasswordIdenticalCharactersEnum'
        sequential_characters:
          $ref: '#/components/schemas/PasswordSequentialCharactersEnum'
        max_length_exceeded:
          $ref: '#/components/schemas/PasswordMaxLengthExceededEnum'
      required:
        - min_length
        - character_types
        - character_type_rule
        - identical_characters
        - sequential_characters
        - max_length_exceeded
      additionalProperties: false
    PasswordProfileDataPolicy:
      type: object
      description: >-
        Paramètres de blocage des renseignements personnels dans les mots de
        passe
      properties:
        active:
          type: boolean
          description: >-
            Indique s’il faut bloquer les renseignements personnels (nom,
            courriel, etc.) dans les mots de passe
        blocked_fields:
          type: array
          items:
            type: string
          description: >-
            Champs du profil utilisateur à exclure des mots de passe (p. ex.,
            'name', 'email', 'user_metadata.first')
      required:
        - active
        - blocked_fields
      additionalProperties: false
    PasswordHistoryPolicy:
      type: object
      description: Paramètres d’application de l’historique des mots de passe
      properties:
        active:
          type: boolean
          description: Indique si l’historique des mots de passe est appliqué
        size:
          type: integer
          description: >-
            Nombre de mots de passe précédents à mémoriser pour en empêcher la
            réutilisation
      required:
        - active
        - size
      additionalProperties: false
    PasswordDictionaryPolicy:
      type: object
      description: >-
        Paramètres de vérification par dictionnaire pour bloquer les mots de
        passe faibles ou interdits
      properties:
        active:
          type: boolean
          description: Indique si la vérification par dictionnaire est activée
        default:
          $ref: '#/components/schemas/PasswordDictionaryDefaultEnum'
      required:
        - active
        - default
      additionalProperties: false
    ResidentKeyEnum:
      type: string
      description: L’exigence relative à la clé résidente
      enum:
        - required
    UserVerificationEnum:
      type: string
      description: L’exigence relative à la vérification de l’utilisateur
      enum:
        - required
        - preferred
        - discouraged
    PublicKeyTypeEnum:
      type: string
      description: Le type d’information d’identification à clé publique
      enum:
        - public-key
    PasswordCharacterTypeEnum:
      type: string
      enum:
        - uppercase
        - lowercase
        - number
        - special
      description: Type de caractères exigé pour la complexité du mot de passe
    PasswordCharacterTypeRuleEnum:
      type: string
      enum:
        - all
        - three_of_four
      description: >-
        Mode d’application des types de caractères dans la complexité du mot de
        passe
    PasswordIdenticalCharactersEnum:
      type: string
      enum:
        - allow
        - block
      description: Indique s’il faut autoriser 3 caractères identiques consécutifs ou plus
    PasswordSequentialCharactersEnum:
      type: string
      enum:
        - allow
        - block
      description: Indique s’il faut autoriser les suites de caractères
    PasswordMaxLengthExceededEnum:
      type: string
      enum:
        - truncate
        - error
      description: Comportement lorsque le mot de passe dépasse la longueur maximale
    PasswordDictionaryDefaultEnum:
      type: string
      enum:
        - en_10k
        - en_100k
      description: >-
        Dictionnaire par défaut à utiliser pour vérifier les mots de passe
        faibles
  headers:
    LocationHeader:
      required: true
      description: URL de la ressource de méthode d’authentification.
      schema:
        type: string
        format: uri
      examples:
        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
        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
    XRateLimitLimitHeader:
      required: true
      description: Le nombre maximal de requêtes autorisées pendant la fenêtre de la limite
      schema:
        type: number
    XRateLimitResetHeader:
      required: true
      description: >-
        Le moment prévu (sous forme d’horodatage UNIX, en secondes) auquel le
        bucket sera réapprovisionné
      schema:
        type: number
    XRateLimitRemainingHeader:
      required: true
      description: >-
        Le nombre de requêtes restantes dans la fenêtre en cours avant le rejet
        des requêtes
      schema:
        type: number
    CorrelationIdHeader:
      required: false
      description: >-
        Renvoie l’`x-correlation-id` validé fourni dans la requête, ou un UUID
        v4 généré si aucun n’a été fourni.
      schema:
        type: string
    TraceparentHeader:
      required: false
      description: >-
        Un en-tête [W3C Trace Context](https://www.w3.org/TR/trace-context/) qui
        renvoie l’ID de la trace entrante avec un nouvel ID de span enfant.
      schema:
        type: string
    RetryAfterHeader:
      required: true
      description: >-
        Le nombre de secondes que le client doit attendre avant d’effectuer une
        nouvelle requête
      schema:
        type: number
    XAuth0ErrorKindHeader:
      description: >-
        Indique si la limite de débit dépassée est une limite globale (par
        tenant).
      schema:
        type: string
        const: global-rate-limit
  responses:
    BadRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Entrée invalide selon le schéma.
      headers:
        x-correlation-id:
          $ref: '#/components/headers/CorrelationIdHeader'
        traceparent:
          $ref: '#/components/headers/TraceparentHeader'
    Unauthorized:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Non autorisé.
      headers:
        x-correlation-id:
          $ref: '#/components/headers/CorrelationIdHeader'
        traceparent:
          $ref: '#/components/headers/TraceparentHeader'
    Forbidden:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Interdit.
      headers:
        x-correlation-id:
          $ref: '#/components/headers/CorrelationIdHeader'
        traceparent:
          $ref: '#/components/headers/TraceparentHeader'
    UnsupportedMediaType:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Type de média non pris en charge.
      headers:
        x-correlation-id:
          $ref: '#/components/headers/CorrelationIdHeader'
        traceparent:
          $ref: '#/components/headers/TraceparentHeader'
    TooManyRequests:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
      description: Trop de requêtes.
      headers:
        retry-after:
          $ref: '#/components/headers/RetryAfterHeader'
        x-ratelimit-limit:
          $ref: '#/components/headers/XRateLimitLimitHeader'
        x-ratelimit-reset:
          $ref: '#/components/headers/XRateLimitResetHeader'
        x-ratelimit-remaining:
          $ref: '#/components/headers/XRateLimitRemainingHeader'
        x-auth0-error-kind:
          $ref: '#/components/headers/XAuth0ErrorKindHeader'
        x-correlation-id:
          $ref: '#/components/headers/CorrelationIdHeader'
        traceparent:
          $ref: '#/components/headers/TraceparentHeader'
  securitySchemes:
    Bearer-DPoP:
      type: http
      scheme: bearer
      description: >-
        Les jetons Bearer et DPoP sont pris en charge selon la configuration de
        l’API

````