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

> Learn about the password-reset-post-challenge Action trigger's event object, which provides contextual information about the trigger execution.

# Actions Triggers: password-reset-post-challenge - Event Object

The `event` object for the password-reset-post-challenge Actions trigger provides contextual information about the trigger execution.

## `event.authentication`

<ResponseField name="event.authentication" type="dictionary">
  Details about authentication obtained during the password reset flow.

  <Expandable title="authentication properties" defaultOpen>
    <ResponseField name="methods" type="array of objects">
      Contains the authentication methods a user has completed during their session.

      Array elements can be one of the following schemas:

      <Tabs>
        <Tab title="First Factor">
          <ResponseField name="name" type="string">
            The name of the first factor that was completed. Values include the following:

            * `federated` A social or enterprise connection was used to authenticate the user as the first factor.
            * `pwd` A password was used to authenticate a database connection user as the first factor.
            * `passkey` A passkey was used to authenticate a database connection user as the first factor.
            * `sms` A Passwordless SMS connection was used to authenticate the user as the first factor.
            * `email` A Passwordless Email connection was used to authenticate the user as the first factor or verify email for password reset.
            * `phone_number` A phone number was used for password reset.
            * `mock` Used for internal testing.
            * May also be a URL denoting a custom authentication method (as second or later factor).
          </ResponseField>

          <ResponseField name="timestamp" type="string" />
        </Tab>

        <Tab title="Multi-factor Authentication">
          <ResponseField name="name" type="string">
            The user completed multi-factor authentication (second or later factors).

            Allowed values: `mfa`
          </ResponseField>

          <ResponseField name="timestamp" type="string" />
        </Tab>
      </Tabs>
    </ResponseField>

    <ResponseField name="riskAssessment" type="dictionary" post={["optional"]}>
      Supplemental risk assessment. This is available only if the Akamai Integration is enabled and Akamai forwards the headers for the transaction.

      <Expandable title="riskAssessment properties" defaultOpen>
        <ResponseField name="supplemental" type="dictionary" post={["optional"]}>
          Supplemental signals sent from third party providers to assist in risk assessments.

          <Expandable title="supplemental properties">
            <ResponseField name="akamai" type="dictionary" post={["optional"]}>
              \[Early Access] Supplemental risk assessment. This is available only if Akamai Account Protector is enabled and Akamai forwards the headers for the transaction.

              <Expandable title="akamai properties">
                <ResponseField name="akamaiBot" type="object" post={["optional"]}>
                  The bot detection results as forwarded by Akamai Bot Manager.

                  <Expandable title="akamaiBot properties">
                    <ResponseField name="type" type="string" post={["optional"]}>
                      The type of the Akamai bot manager results.
                    </ResponseField>

                    <ResponseField name="action" type="string" post={["optional"]}>
                      The action of the Akamai bot manager results.
                    </ResponseField>

                    <ResponseField name="botCategory" type="array of strings" post={["optional"]}>
                      The bot category of the Akamai bot manager results.
                    </ResponseField>

                    <ResponseField name="botScore" type="number" post={["optional"]}>
                      The bot score of the Akamai bot manager results.
                    </ResponseField>

                    <ResponseField name="botScoreResponseSegment" type="string" post={["optional"]}>
                      The bot score response segment of the Akamai bot manager results.
                    </ResponseField>

                    <ResponseField name="botnetId" type="string" post={["optional"]}>
                      The botnet ID of the Akamai bot manager results.
                    </ResponseField>
                  </Expandable>
                </ResponseField>

                <ResponseField name="akamaiUserRisk" type="dictionary" post={["optional"]}>
                  The user risk detection results as forwarded by Akamai Account Protector.

                  <Expandable title="akamaiUserRisk properties">
                    <ResponseField name="action" type="string" post={["optional"]}>
                      The action of the Akamai user risk assessment.
                    </ResponseField>

                    <ResponseField name="allow" type="number" post={["optional"]}>
                      The allowed status of the Akamai user risk assessment.
                    </ResponseField>

                    <ResponseField name="emailDomain" type="string" post={["optional"]}>
                      The email domain of the user.
                    </ResponseField>

                    <ResponseField name="general" type="dictionary" post={["optional"]}>
                      The general risk of the Akamai user risk assessment.
                    </ResponseField>

                    <ResponseField name="ouid" type="string" post={["optional"]}>
                      The OUID of the user.
                    </ResponseField>

                    <ResponseField name="requestid" type="string" post={["optional"]}>
                      The request ID of the user.
                    </ResponseField>

                    <ResponseField name="risk" type="dictionary" post={["optional"]}>
                      The risk of the Akamai user risk assessment.
                    </ResponseField>

                    <ResponseField name="score" type="number" post={["optional"]}>
                      The score of the Akamai user risk assessment.
                    </ResponseField>

                    <ResponseField name="status" type="number" post={["optional"]}>
                      The status of the Akamai user risk assessment.
                    </ResponseField>

                    <ResponseField name="trust" type="dictionary" post={["optional"]}>
                      The trust of the Akamai user risk assessment.
                    </ResponseField>

                    <ResponseField name="username" type="string" post={["optional"]}>
                      The username of the user.
                    </ResponseField>

                    <ResponseField name="uuid" type="string" post={["optional"]}>
                      The UUID of the Akamai user risk assessment.
                    </ResponseField>
                  </Expandable>
                </ResponseField>
              </Expandable>
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

## `event.authorization`

<ResponseField name="event.authorization" type="object">
  An object containing information describing the authorization granted to the user who is logging in.

  <Expandable title="authorization properties" defaultOpen>
    <ResponseField name="roles" type="array of strings">
      An array containing the names of a user's assigned roles.
    </ResponseField>
  </Expandable>
</ResponseField>

## `event.client`

<ResponseField name="event.client" type="dictionary">
  Information about the Client with which this password reset transaction was initiated.

  <Expandable title="client properties" defaultOpen>
    <ResponseField name="client_id" type="string">
      The client id of the application the user is logging in to.
    </ResponseField>

    <ResponseField name="metadata" type="dictionary">
      An object for holding other application properties.
    </ResponseField>

    <ResponseField name="name" type="string">
      The name of the application (as defined in the Dashboard).
    </ResponseField>
  </Expandable>
</ResponseField>

## `event.connection`

<ResponseField name="event.connection" type="dictionary">
  Details about the Connection that was used to authenticate the user.

  <Expandable title="connection properties" defaultOpen>
    <ResponseField name="id" type="string">
      The connection's unique identifier.
    </ResponseField>

    <ResponseField name="metadata" type="dictionary" post={["optional"]}>
      Metadata associated with the connection.
    </ResponseField>

    <ResponseField name="name" type="string">
      The name of the connection used to authenticate the user (such as `twitter` or `some-g-suite-domain`).
    </ResponseField>

    <ResponseField name="strategy" type="string">
      The type of connection. For social connections, `event.connection.strategy === event.connection.name`. For enterprise connections, the strategy is `waad` (Windows Azure AD), `ad` (Active Directory/LDAP), `auth0` (database connections), and so on.
    </ResponseField>
  </Expandable>
</ResponseField>

## `event.custom_domain`

<ResponseField name="event.custom_domain" type="dictionary" post={["optional"]}>
  Details about the custom domain associated with the current transaction.

  <Expandable title="custom_domain properties" defaultOpen>
    <ResponseField name="domain" type="string">
      The custom domain name.
    </ResponseField>

    <ResponseField name="domain_metadata" type="dictionary">
      Custom domain metadata as key-value pairs.
    </ResponseField>
  </Expandable>
</ResponseField>

## `event.organization`

<ResponseField name="event.organization" type="dictionary" post={["optional"]}>
  Details about the Organization associated with the current transaction.

  <Expandable title="organization properties" defaultOpen>
    <ResponseField name="id" type="string">
      The Organization identifier.
    </ResponseField>

    <ResponseField name="display_name" type="string">
      The friendly name of the Organization.
    </ResponseField>

    <ResponseField name="metadata" type="dictionary">
      Metadata associated with the Organization.
    </ResponseField>

    <ResponseField name="name" type="string">
      The name of the Organization.
    </ResponseField>
  </Expandable>
</ResponseField>

## `event.prompt`

<ResponseField name="event.prompt" type="dictionary" post={["optional"]}>
  Collected data from rendered custom prompts.

  <Expandable title="prompt properties" defaultOpen>
    <ResponseField name="id" type="string">
      The prompt ID.
    </ResponseField>

    <ResponseField name="fields" type="dictionary" post={["optional"]}>
      Fields and hidden fields data.
    </ResponseField>

    <ResponseField name="vars" type="dictionary" post={["optional"]}>
      Shared variables data.
    </ResponseField>
  </Expandable>
</ResponseField>

## `event.request`

<ResponseField name="event.request" type="dictionary">
  Details about the request that initiated the transaction.

  <Expandable title="request properties" defaultOpen>
    <ResponseField name="body" type="dictionary">
      The body of the POST request. This data will only be available during refresh token and Client Credential Exchange flows and Post Login Action.
    </ResponseField>

    <ResponseField name="geoip" type="dictionary">
      <Expandable title="geoip properties" defaultOpen>
        <ResponseField name="cityName" type="string" post={["optional"]} />

        <ResponseField name="continentCode" type="string" post={["optional"]} />

        <ResponseField name="countryCode" type="string" post={["optional"]} />

        <ResponseField name="countryCode3" type="string" post={["optional"]} />

        <ResponseField name="countryName" type="string" post={["optional"]} />

        <ResponseField name="latitude" type="number" post={["optional"]} />

        <ResponseField name="longitude" type="number" post={["optional"]} />

        <ResponseField name="subdivisionCode" type="string" post={["optional"]} />

        <ResponseField name="subdivisionName" type="string" post={["optional"]} />

        <ResponseField name="timeZone" type="string" post={["optional"]} />
      </Expandable>
    </ResponseField>

    <ResponseField name="hostname" type="string" post={["optional"]}>
      The hostname that is being used for the authentication flow.
    </ResponseField>

    <ResponseField name="ip" type="string">
      The originating IP address of the request.
    </ResponseField>

    <ResponseField name="language" type="string" post={["optional"]}>
      The language requested by the browser.
    </ResponseField>

    <ResponseField name="method" type="string">
      The HTTP method used for the request
    </ResponseField>

    <ResponseField name="query" type="dictionary">
      The query string parameters sent to the authorization request.
    </ResponseField>

    <ResponseField name="user_agent" type="string" post={["optional"]}>
      The value of the `User-Agent` header received when initiating the transaction.
    </ResponseField>
  </Expandable>
</ResponseField>

## `event.secrets`

<ResponseField name="event.secrets" type="secrets">
  Secret values securely associated with this Action.
</ResponseField>

## `event.stats`

<ResponseField name="event.stats" type="object">
  Login statistics for the current user.

  <Expandable title="stats properties" defaultOpen>
    <ResponseField name="logins_count" type="number">
      The number of times this user has logged in.
    </ResponseField>
  </Expandable>
</ResponseField>

## `event.tenant`

<ResponseField name="event.tenant" type="object">
  Details about the Tenant associated with the current transaction.

  <Expandable title="tenant properties" defaultOpen>
    <ResponseField name="id" type="string">
      The name of the tenant.
    </ResponseField>
  </Expandable>
</ResponseField>

## `event.transaction`

<ResponseField name="event.transaction" type="dictionary">
  Details about the current transaction.

  <Expandable title="transaction properties" defaultOpen>
    <ResponseField name="correlation_id" type="string" post={["optional"]}>
      Correlation ID can be provided in the initial authentication request when the application redirects to Universal Login. You can use value to correlate logs and requests from your Action code with the user flow.
    </ResponseField>

    <ResponseField name="locale" type="string">
      The locale to be used for this transaction as determined by comparing the browser's requested languages to the tenant's language settings.
    </ResponseField>

    <ResponseField name="login_hint" type="string" post={["optional"]}>
      Hint to the Authorization Server about the login identifier the End-User might use to log in (if necessary).
    </ResponseField>

    <ResponseField name="state" type="string" post={["optional"]}>
      An opaque arbitrary alphanumeric string your app adds to the initial request that Auth0 includes when redirecting back to your application.
    </ResponseField>

    <ResponseField name="ui_locales" type="array of strings">
      The ui\_locales provided in the original authentication request.
    </ResponseField>
  </Expandable>
</ResponseField>

## `event.user`

<ResponseField name="event.user" type="dictionary">
  An object describing the user on whose behalf the current transaction was initiated.

  <Expandable title="user properties" defaultOpen>
    <ResponseField name="app_metadata" type="dictionary">
      Custom fields that store info about a user that influences the user's access, such as support plan, security roles, or access control groups.
    </ResponseField>

    <ResponseField name="created_at" type="string">
      Timestamp indicating when the user profile was first created.
    </ResponseField>

    <ResponseField name="email" type="string" post={["optional"]}>
      (unique) User's email address.
    </ResponseField>

    <ResponseField name="email_verified" type="boolean">
      Indicates whether the user has verified their email address.
    </ResponseField>

    <ResponseField name="family_name" type="string" post={["optional"]}>
      User's family name.
    </ResponseField>

    <ResponseField name="given_name" type="string" post={["optional"]}>
      User's given name.
    </ResponseField>

    <ResponseField name="last_password_reset" type="string" post={["optional"]}>
      Timestamp indicating the last time the user's password was reset/changed. At user creation, this field does not exist. This property is only available for Database connections.
    </ResponseField>

    <ResponseField name="name" type="string" post={["optional"]}>
      User's full name.
    </ResponseField>

    <ResponseField name="nickname" type="string" post={["optional"]}>
      User's nickname.
    </ResponseField>

    <ResponseField name="phone_number" type="string" post={["optional"]}>
      User's phone number.
    </ResponseField>

    <ResponseField name="phone_verified" type="boolean" post={["optional"]}>
      Indicates whether the user has verified their phone number.
    </ResponseField>

    <ResponseField name="picture" type="string" post={["optional"]}>
      URL pointing to the [user's profile picture](https://auth0.com/docs/users/change-user-picture).
    </ResponseField>

    <ResponseField name="updated_at" type="string">
      Timestamp indicating when the user's profile was last updated/modified.
    </ResponseField>

    <ResponseField name="user_id" type="string">
      (unique) User's unique identifier.
    </ResponseField>

    <ResponseField name="user_metadata" type="dictionary">
      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.
    </ResponseField>

    <ResponseField name="username" type="string" post={["optional"]}>
      (unique) User's username.
    </ResponseField>

    <ResponseField name="enrolledFactors" type="array of objects" post={["optional"]}>
      An array of authentication factors that the user has enrolled. Empty array means the user has no enrolled factors.  If enrolledFactors is undefined, the system was unable fetch the information, the user may or may not have enrolled factors.

      <Expandable title="enrolledFactors properties" defaultOpen>
        <ResponseField name="type" type="string">
          The type of authentication factor such as `push-notification`, `phone`, `email`, `otp`, `webauthn-roaming` and `webauthn-platform`.
        </ResponseField>

        <ResponseField name="options" type="dictionary" post={["optional"]}>
          Additional options describing this instance of the enrolled factor.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="identities" type="array of objects">
      Contains info retrieved from the identity provider with which the user originally authenticated. Users may also link their profile to multiple identity providers; those identities will then also appear in this array. The contents of an individual identity provider object varies by provider.

      <Expandable title="identities element properties" defaultOpen>
        <ResponseField name="connection" type="string" post={["optional"]}>
          Name of the Auth0 connection used to authenticate the user.
        </ResponseField>

        <ResponseField name="isSocial" type="boolean" post={["optional"]}>
          Indicates whether the connection is a social one.
        </ResponseField>

        <ResponseField name="profileData" type="dictionary" post={["optional"]}>
          User information associated with the connection. When profiles are linked, it is populated with the associated user info for secondary accounts.
        </ResponseField>

        <ResponseField name="provider" type="string" post={["optional"]}>
          Name of the entity that is authenticating the user, such as Facebook, Google, SAML, or your own provider.
        </ResponseField>

        <ResponseField name="user_id" type="string" post={["optional"]}>
          User's unique identifier for this connection/provider.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>
