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

> Learn about the pre-user-registration Action trigger's event object, which provides contextual information about the request to register a new user.

# Actions Triggers: pre-user-registration - Event Object

The `event` object for the pre-user-registration Actions trigger provides contextual information about the request to register a new user.

<table class="table">
  <thead>
    <tr>
      <th>Property</th>
      <th>Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        <p><code>event.client</code></p>
        <p><em>(Optional)</em></p>
      </td>

      <td>
        <p>
          Information about the Client with which this transaction was
          initiated.
        </p>

        <p>Includes the following properties:</p>

        <ul>
          <li>
            <code>client\_id</code> <em>String</em>.
            <span>The client id of the application the user is logging in to.</span>
          </li>

          <li>
            <code>metadata</code> <em>Dictionary</em>.
            <span>An object for holding other application properties.</span>
          </li>

          <li>
            <code>name</code> <em>String</em>.
            <span>The name of the application (as defined in the Dashboard).</span>
          </li>
        </ul>
      </td>
    </tr>

    <tr>
      <td>
        <p><code>event.connection</code></p>
      </td>

      <td>
        <p>Details about the Connection that was used to register the user.</p>
        <p>Includes the following properties:</p>

        <ul>
          <li>
            <code>id</code> <em>String</em>.
            <span>The connection's unique identifier.</span>
          </li>

          <li>
            <code>metadata</code> <em>Optional dictionary</em>.
            <span>Metadata associated with the connection.</span>
          </li>

          <li>
            <code>name</code> <em>String</em>.
            <span>The name of the connection used to authenticate the user (such as
            <code>twitter</code> or <code>some-g-suite-domain</code>).</span>
          </li>

          <li>
            <code>strategy</code> <em>String</em>.
            <span>The type of connection. For social connections,
            <code>event.connection.strategy === event.connection.name</code>.
            For enterprise connections, the strategy is
            <code>waad</code> (Windows Azure AD), <code>ad</code> (Active
            Directory/LDAP), <code>auth0</code> (database connections), and so
            on.</span>
          </li>
        </ul>
      </td>
    </tr>

    <tr>
      <td><code>event.custom\_domain</code> (Early access)</td>

      <td>
        <p>Details about the custom domain name information.</p>
        <p>Includes the following properties:</p>

        <ul>
          <li><code>domain</code> <em>String</em>. The custom domain where the authentication event occurred.</li>

          <li>
            <code>domain\_metadata</code> <em>Object</em>. Metadata associated with the custom domain.<br />
          </li>
        </ul>
      </td>
    </tr>

    <tr>
      <td>
        <p><code>event.request</code></p>
      </td>

      <td>
        <p>Details about the request that initiated the transaction.</p>
        <p>Includes the following properties:</p>

        <ul>
          <li>
            <code>body</code> <em>Dictionary</em>.
            <span>The body of the POST request. This data will only be available
            during refresh token, Client Credential Exchange flows and
            PreUserRegistration Action.</span>
          </li>

          <li>
            <code>geoip</code> <em>Object</em>.
            <p>Includes the following properties:</p>

            <ul>
              <li><code>cityName</code> <em>Optional string</em>.</li>
              <li><code>continentCode</code> <em>Optional string</em>.</li>
              <li><code>countryCode</code> <em>Optional string</em>.</li>
              <li><code>countryCode3</code> <em>Optional string</em>.</li>
              <li><code>countryName</code> <em>Optional string</em>.</li>
              <li><code>latitude</code> <em>Optional number</em>.</li>
              <li><code>longitude</code> <em>Optional number</em>.</li>
              <li><code>subdivisionCode</code> <em>Optional string</em>.</li>
              <li><code>subdivisionName</code> <em>Optional string</em>.</li>
              <li><code>timeZone</code> <em>Optional string</em>.</li>
            </ul>
          </li>

          <li>
            <code>hostname</code> <em>Optional string</em>.
            <span>The hostname that is being used for the authentication
            flow.</span>
          </li>

          <li>
            <code>ip</code> <em>String</em>.
            <span>The originating IP address of the request.</span>
          </li>

          <li>
            <code>language</code> <em>Optional string</em>.
            <span>The language requested by the browser.</span>
          </li>

          <li>
            <code>method</code> <em>String</em>.
            <span>The HTTP method used for the request</span>
          </li>

          <li>
            <code>user\_agent</code> <em>Optional string</em>.
            <span>The value of the <code>User-Agent</code> header received when
            initiating the transaction.</span>
          </li>
        </ul>
      </td>
    </tr>

    <tr><td><p><code>event.security\_context</code></p><p><em>(Optional)</em></p></td><td><p>An object containing fingerprint signatures. This will be available only when traffic is handled through the Auth0 Edge (default Auth0-managed proxy layer). It may not be available if requests are routed through a customer-managed reverse proxy. The JA3/JA4 fingerprint can be null or empty in some cases. The most common case is for HTTP requests because JA3 and JA4 are calculated in TLS. It can also be empty due to the Worker sending requests within the same zone or to a zone that is not proxied (or a third party).</p><p>Includes the following properties:</p><ul><li><code>ja3</code> <em>Optional string</em>. <span>JA3 fingerprint signature. This will be available only if the client is using a TLS connection.</span></li><li><code>ja4</code> <em>Optional string</em>. <span>JA4 fingerprint signature. This will be available only if the client is using a TLS connection.</span></li></ul></td></tr>

    <tr>
      <td>
        <p><code>event.tenant</code></p>
      </td>

      <td>
        <p>Details about the Tenant associated with the current transaction.</p>
        <p>Includes the following properties:</p>

        <ul>
          <li>
            <code>id</code> <em>String</em>.
            <span>The name of the tenant.</span>
          </li>
        </ul>
      </td>
    </tr>

    <tr>
      <td>
        <p><code>event.transaction</code></p>
        <p><em>(Optional)</em></p>
      </td>

      <td>
        <p>Details about the current transaction.</p>
        <p>Includes the following properties:</p>

        <ul>
          <li>
            <code>acr\_values</code> <em>Array of strings</em>.
            <span>Any acr\_values provided in the original authentication
            request.</span>
          </li>

          <li>
            <code>locale</code> <em>String</em>.
            <span>The locale to be used for this transaction as determined by
            comparing the browser's requested languages to the tenant's
            language settings.</span>
          </li>

          <li>
            <code>login\_hint</code> <em>Optional string</em>.
            <span>Hint to the Authorization Server about the login identifier the
            End-User might use to log in (if necessary).</span>
          </li>

          <li>
            <code>prompt</code> <em>Optional array of strings</em>.
            <span>List of instructions indicating whether the user may be prompted
            for re-authentication and consent.</span>
          </li>

          <li>
            <code>protocol</code> <em>Optional string</em>.
            <p>Possible values include:</p>

            <ul>
              <li>
                <code>oidc-basic-profile</code>
                <span>Most used, web-based login.</span>
              </li>

              <li>
                <code>oidc-implicit-profile</code>
                <span>Used on mobile devices and single-page apps.</span>
              </li>

              <li>
                <code>samlp</code> <span>SAML protocol used on SaaS apps.</span>
              </li>

              <li>
                <code>wsfed</code>
                <span>WS-Federation used on Microsoft products like
                Office365.</span>
              </li>

              <li>
                <code>wstrust-usernamemixed</code>
                <span>WS-trust User/password login used on CRM and Office365.</span>
              </li>

              <li>
                <code>oauth2-webauthn</code>
                <span>Signup via Native Passkeys API.</span>
              </li>

              <li>
                <code>oauth2-device-code</code>
                <span>Transaction using the Device <Tooltip tip="Authorization grant (or workflow) specified in the OAuth 2.0 framework." cta="View Glossary" href="/docs/glossary?term=Authorization+Flow">Authorization Flow</Tooltip>.</span>
              </li>

              <li>
                <code>oauth2-resource-owner</code>
                <span>User/password login typically used on database
                connections.</span>
              </li>

              <li>
                <code>oauth2-resource-owner-jwt-bearer</code>
                <span>Login using a bearer JWT signed with user's private
                key.</span>
              </li>

              <li>
                <code>oauth2-password</code>
                <span>Login using the password exchange.</span>
              </li>

              <li>
                <code>oauth2-access-token</code>
                <span>Refreshing a token using the refresh token exchange.</span>
              </li>

              <li>
                <code>oauth2-refresh-token</code>
                <span>Refreshing a token using the refresh token exchange.</span>
              </li>

              <li><code>oauth2-token-exchange</code></li>

              <li>
                <code>oidc-hybrid-profile</code>
                <span>Allows your application to have immediate access to an ID
                token while still providing for secure and safe retrieval of
                access and refresh tokens.</span>
              </li>
            </ul>
          </li>

          <li>
            <code>redirect\_uri</code> <em>Optional string</em>.
            <span>The URL to which Auth0 will redirect the browser after the
            transaction is completed.</span>
          </li>

          <li>
            <code>requested\_scopes</code> <em>Array of strings</em>.
            <span>The scopes requested (if any) when starting this authentication
            flow.</span>
          </li>

          <li>
            <code>response\_mode</code> <em>Optional string</em>.

            <p>
              Informs the Authorization Server of the mechanism to be used for
              returning parameters from the Authorization Endpoint.
            </p>

            <p>Possible values include:</p>

            <ul>
              <li><code>query</code></li>
              <li><code>fragment</code></li>
              <li><code>form\_post</code></li>
              <li><code>web\_message</code></li>
            </ul>
          </li>

          <li>
            <code>response\_type</code> <em>Optional array of strings</em>.
            <p>Possible values include:</p>

            <ul>
              <li><code>code</code></li>
              <li><code>token</code></li>
              <li><code>id\_token</code></li>
            </ul>
          </li>

          <li>
            <code>state</code> <em>Optional string</em>.
            <span>An opaque arbitrary alphanumeric string your app adds to the
            initial request that Auth0 includes when redirecting back to your
            application.</span>
          </li>

          <li>
            <code>ui\_locales</code> <em>Array of strings</em>.
            <span>The ui\_locales provided in the original authentication
            request.</span>
          </li>
        </ul>
      </td>
    </tr>

    <tr>
      <td>
        <p><code>event.user</code></p>
      </td>

      <td>
        <p>An object describing the user who is attempting to register.</p>
        <p>Includes the following properties:</p>

        <ul>
          <li>
            <code>app\_metadata</code> <em>Optional dictionary</em>.
            <span>Custom fields that store info about a user that influences the
            user's access, such as support plan, security roles, or access
            control groups.</span>
          </li>

          <li>
            <code>email</code> <em>Optional string</em>.
            <span>(unique) User's email address.</span>
          </li>

          <li>
            <code>family\_name</code> <em>Optional string</em>.
            <span>User's family name.</span>
          </li>

          <li>
            <code>given\_name</code> <em>Optional string</em>.
            <span>User's given name.</span>
          </li>

          <li>
            <code>name</code> <em>Optional string</em>.
            <span>User's full name.</span>
          </li>

          <li>
            <code>nickname</code> <em>Optional string</em>.
            <span>User's nickname.</span>
          </li>

          <li>
            <code>phone\_number</code> <em>Optional string</em>.
            <span>User's phone number.</span>
          </li>

          <li>
            <code>picture</code> <em>Optional string</em>.
            <span>URL pointing to the
            <a href="/docs/manage-users/user-accounts/change-user-picture">user's profile picture</a>.</span>
          </li>

          <li>
            <code>user\_metadata</code> <em>Optional dictionary</em>.
            <span>Custom fields that store info about a user that does not impact
            what they can or cannot access, such as work address, home
            address, or user preferences.</span>
          </li>

          <li>
            <code>username</code> <em>Optional string</em>.
            <span>(unique) User's username.</span>
          </li>
        </ul>
      </td>
    </tr>
  </tbody>
</table>
