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

> Découvrez l’objet API du déclencheur d’Actions pre-user-registration.

# Objet API

L’objet API du déclencheur d’Actions pre-user-registration comprend :

<div id="apiaccess">
  ## `api.access`
</div>

Modifiez l’accès de l’utilisateur qui tente de se connecter, par exemple en rejetant sa tentative de connexion.

<div id="apiaccessdenyreason-usermessage">
  ### `api.access.deny(reason, userMessage)`
</div>

Empêche l’utilisateur de s’inscrire. Le flux d’inscription s’arrête immédiatement après
l’exécution de cette action, et aucune autre Action n’est exécutée.

**Paramètres**

<Expandable title="Paramètres" defaultOpen>
  <ParamField body="reason" type="string">
    Une raison interne expliquant le rejet de cette tentative d’inscription. Cette valeur
    s’affiche dans les logs du tenant.
  </ParamField>

  <ParamField body="userMessage" type="string">
    Une explication compréhensible par une personne expliquant le rejet de la tentative d’inscription. Elle peut être affichée
    directement dans les interfaces destinées aux utilisateurs finaux.
  </ParamField>
</Expandable>

<div id="apiuser">
  ## `api.user`
</div>

Modifiez les métadonnées de l’utilisateur qui se connecte.

<div id="apiusersetappmetadatakey-value">
  ### `api.user.setAppMetadata(key, value)`
</div>

Définissez des métadonnées propres à l’application pour l’utilisateur qui ouvre une session.

Remarque : cette méthode ne doit pas être utilisée dans les callbacks. Son appel ne met pas les métadonnées à jour immédiatement.
Vous pouvez l’appeler plusieurs fois dans différentes actions d’un même flux, et le moteur regroupera les
modifications et mettra les métadonnées à jour en une seule fois avant la fin du flux.

**Paramètres**

<Expandable title="Paramètres" defaultOpen>
  <ParamField body="key" type="string">
    La propriété de métadonnées à définir.
  </ParamField>

  <ParamField body="value" type="unknown">
    La valeur de la propriété de métadonnées. Vous pouvez lui attribuer la valeur `null` pour supprimer la
    propriété de métadonnées.
  </ParamField>
</Expandable>

<div id="apiusersetusermetadatakey-value">
  ### `api.user.setUserMetadata(key, value)`
</div>

Définit les métadonnées générales de l’utilisateur qui se connecte.

Remarque : cette méthode ne doit pas être utilisée dans les callbacks. Son appel ne met pas immédiatement à jour les métadonnées.
Vous pouvez l’appeler plusieurs fois dans différentes actions du même flux, et le moteur regroupera les
modifications pour mettre à jour les métadonnées en une seule fois avant la fin du flux.

**Paramètres**

<Expandable title="Paramètres" defaultOpen>
  <ParamField body="key" type="string">
    La propriété de métadonnées à définir.
  </ParamField>

  <ParamField body="value" type="unknown">
    La valeur de la propriété de métadonnées. Elle peut être définie à `null` pour supprimer la
    propriété de métadonnées.
  </ParamField>
</Expandable>

<div id="apicache">
  ## `api.cache`
</div>

Enregistrez et récupérez des données qui persistent d’une exécution à l’autre.

<div id="apicachedeletekey">
  ### `api.cache.delete(key)`
</div>

Supprime, s’il existe, l’enregistrement associé à une valeur mise en cache à la
clé fournie.

**Paramètres**

<Expandable title="Paramètres" defaultOpen>
  <ParamField body="key" type="string">
    La clé de l’enregistrement du cache à supprimer.
  </ParamField>
</Expandable>

<div id="apicachegetkey">
  ### `api.cache.get(key)`
</div>

Récupère l’enregistrement associé à une valeur mise en cache à la clé fournie,
s’il existe. Si un enregistrement est trouvé, la valeur mise en cache se trouve
dans la propriété `value` de l’objet retourné.

**Paramètres**

<Expandable title="Paramètres" defaultOpen>
  <ParamField body="key" type="string">
    La clé de l’enregistrement stocké dans le cache.
  </ParamField>
</Expandable>

<div id="apicachesetkey-value-options">
  ### `api.cache.set(key, value, options)`
</div>

Stocke ou met à jour une valeur de type chaîne dans le cache à la clé indiquée.

Les valeurs stockées dans ce cache sont limitées au Trigger dans lequel elles
sont définies. Elles sont soumises aux [limites du cache des Actions](https://auth0.com/docs/customize/actions/limitations).

Les valeurs ainsi stockées auront une durée de vie *pouvant aller jusqu’aux* valeurs
`ttl` ou `expires_at` indiquées. Si aucune durée de vie n’est précisée, une durée de vie
par défaut de 15 minutes sera utilisée. Les durées de vie ne peuvent pas dépasser la durée maximale
indiquée dans les [limites du cache des Actions](https://auth0.com/docs/customize/actions/limitations).

**Important** : Ce cache est conçu pour des données éphémères à courte durée de vie. Les éléments peuvent ne pas être
disponibles lors de transactions ultérieures, même si leur durée de vie n’est pas encore écoulée.

**Paramètres**

<Expandable title="Paramètres" defaultOpen>
  <ParamField body="key" type="string">
    La clé de l’enregistrement à stocker.
  </ParamField>

  <ParamField body="value" type="string">
    La valeur de l’enregistrement à stocker.
  </ParamField>

  <ParamField body="options" type="cachesetoptions">
    Options permettant d’ajuster le comportement du cache.
    Facultatif.

    <Expandable title="propriétés des options">
      <ParamField body="expires_at" type="number">
        L’heure d’expiration absolue en millisecondes depuis l’époque Unix.
        Bien que les enregistrements mis en cache puissent être évincés plus tôt, ils
        ne seront jamais conservés au-delà de la valeur `expires_at` fournie.

        *Remarque* : Cette valeur ne doit pas être fournie si une valeur a aussi
        été fournie pour `ttl`. Si les deux options sont fournies, l’expiration
        la plus rapprochée sera utilisée.
        Facultatif.
      </ParamField>

      <ParamField body="ttl" type="number">
        La durée de vie de cette entrée de cache en millisecondes.
        Bien que les valeurs mises en cache puissent être évincées plus tôt, elles
        ne seront jamais conservées au-delà de la valeur `ttl` fournie.

        *Remarque* : Cette valeur ne doit pas être fournie si une valeur a aussi
        été fournie pour `expires_at`. Si les deux options sont fournies, l’expiration
        la plus rapprochée sera utilisée.
        Facultatif.
      </ParamField>
    </Expandable>
  </ParamField>
</Expandable>

<div id="apivalidation">
  ## `api.validation`
</div>

Modifiez l’accès de l’utilisateur qui se connecte, par exemple en rejetant sa tentative de connexion en raison d’erreurs de validation.

<div id="apivalidationerrorerrorcode-errormessage">
  ### `api.validation.error(errorCode, errorMessage)`
</div>

Empêche l’utilisateur de s’inscrire. Le flux d’inscription s’arrête immédiatement après l’exécution de cette action, et aucune autre action n’est exécutée.

**Paramètres**

<Expandable title="Paramètres" defaultOpen>
  <ParamField body="errorCode" type="string">
    Code d’erreur défini par le client indiquant pourquoi cette tentative d’inscription est rejetée. Cette valeur
    apparaîtra dans les logs du tenant.
  </ParamField>

  <ParamField body="errorMessage" type="string">
    Explication définie par le client justifiant le rejet de la tentative d’inscription. Elle peut être affichée
    directement dans les interfaces destinées aux utilisateurs finaux.
  </ParamField>
</Expandable>
