Home
Auth0
Auth0 Log Streams and Actions Event Delivery
Auth0 · AsyncAPI Specification
Auth0 Log Streams and Actions Event Delivery
Version 1.0.0
AsyncAPI 2.6 description of Auth0's two primary outbound event-delivery surfaces: 1. Log Streams — Custom Webhook (HTTP) destination Auth0 streams tenant log events to a customer-hosted HTTPS endpoint via HTTP POST. The payload is a JSON document containing a `logs` array of Auth0 log records, each identified by a `type` code. Other Log Stream destinations (Datadog, Splunk, Sumo Logic, Amazon EventBridge, Azure Event Grid, Mixpanel, Segment, Elastic, Logz.io, Slack, Panther, etc.) carry the same per-log record shape but are delivered through provider-specific transports. Only the HTTP destination is modelled in this document because it is the destination that exposes a subscriber-visible AsyncAPI surface. 2. Actions — Trigger event payloads Auth0 invokes customer-authored Actions code at well-defined points in the auth pipeline (post-login, credentials-exchange, pre-user-registration, post-user-registration, post-change-password, send-phone-message, password-reset-post-challenge, custom-token-exchange). Each invocation passes an `event` object describing the current request, user, client, connection, tenant, and transaction. While Actions run inside Auth0's serverless runtime (not over HTTP), modelling these events as AsyncAPI messages lets API consumers reason about the schemas Auth0 emits at each trigger point, and makes the surface comparable to webhook-style integrations such as Hooks (the legacy Webtask-based predecessor) or customer-built bridges that forward Action events to external systems. Source documentation (verified): - Log Streams overview: https://auth0.com/docs/customize/log-streams - Custom Webhook Log Streams: https://auth0.com/docs/customize/log-streams/custom-log-streams - Log event type codes: https://auth0.com/docs/deploy-monitor/logs/log-event-type-codes - Actions triggers index: https://auth0.com/docs/customize/actions/explore-triggers - Post-Login event object: https://auth0.com/docs/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger/post-login-event-object - Pre-User-Registration event object: https://auth0.com/docs/customize/actions/explore-triggers/signup-and-login-triggers/pre-user-registration-trigger/pre-user-registration-event-object - Post-User-Registration event object: https://auth0.com/docs/customize/actions/explore-triggers/signup-and-login-triggers/post-user-registration-trigger/post-user-registration-event-object - Credentials-Exchange event object: https://auth0.com/docs/customize/actions/explore-triggers/machine-to-machine-trigger/credentials-exchange-event-object Scope notes: - This document models only fields that appear in the cited Auth0 documentation. Where Auth0 documents a property by name but does not enumerate its sub-fields, the property is modelled as an open object (`additionalProperties: true`) rather than fabricated. - The send-phone-message, post-change-password, and password-reset-post-challenge triggers are listed in the Actions Triggers index but their dedicated event-object reference pages were not retrievable at the time of authoring. They are noted in the channel descriptions but their payloads are intentionally left as open objects to avoid fabrication. - Auth0 Hooks (Webtask-based extensibility) are the predecessor to Actions and have been deprecated in favor of Actions. Hooks are referenced here only to anchor historical context; their runtime payloads are not separately modelled.
View Spec
View on GitHub
AI Agents Authentication Authorization FGA Identity Management MCP OAuth Okta OpenID Connect SAML Security SCIM AsyncAPI Webhooks Events
Channels
/auth0/log-stream
subscribe receiveAuth0LogStreamBatch
Receive a batch of Auth0 tenant log records
Auth0 Log Streams Custom Webhook delivery channel. Auth0 issues `HTTP POST` requests with a JSON body to the configured webhook URL. The body contains a `logs` array; each element is an Auth0 tenant log record. The Custom Webhook configuration exposes an optional Authorization token that Auth0 sends in the `Authorization` request header on every POST.
/auth0/actions/post-login
subscribe handlePostLogin
Handle a post-login Action invocation
Auth0 Actions `post-login` trigger. Fires after a user is authenticated but before the token is issued. The Action handler receives an `event` object describing the login transaction.
/auth0/actions/credentials-exchange
subscribe handleCredentialsExchange
Handle a credentials-exchange Action invocation
Auth0 Actions `credentials-exchange` trigger. Fires during a machine-to-machine OAuth 2.0 Client Credentials grant, before an access token is returned.
/auth0/actions/pre-user-registration
subscribe handlePreUserRegistration
Handle a pre-user-registration Action invocation
Auth0 Actions `pre-user-registration` trigger. Fires before a user is created on a database connection. Does not run for social connections.
/auth0/actions/post-user-registration
subscribe handlePostUserRegistration
Handle a post-user-registration Action invocation
Auth0 Actions `post-user-registration` trigger. Fires asynchronously after a user is created on a database connection. Does not run for social connections.
/auth0/actions/post-change-password
subscribe handlePostChangePassword
Handle a post-change-password Action invocation
Auth0 Actions `post-change-password` trigger. Fires after a user's password is changed on a database connection. The dedicated event object reference page was not retrievable at the time of authoring, so the payload is modelled as a generic Action event envelope.
/auth0/actions/send-phone-message
subscribe handleSendPhoneMessage
Handle a send-phone-message Action invocation
Auth0 Actions `send-phone-message` trigger. Fires when a custom provider is used to deliver MFA enrollment or challenge messages. The dedicated event object reference page was not retrievable at the time of authoring, so the payload is modelled as a generic Action event envelope.
/auth0/actions/password-reset-post-challenge
subscribe handlePasswordResetPostChallenge
Handle a password-reset-post-challenge Action invocation
Auth0 Actions `password-reset-post-challenge` trigger. Fires after the first password-reset challenge is completed and before the password is reset. The dedicated event object reference page was not retrievable at the time of authoring, so the payload is modelled as a generic Action event envelope.
/auth0/actions/custom-token-exchange
subscribe handleCustomTokenExchange
Handle a custom-token-exchange Action invocation
Auth0 Actions `custom-token-exchange` trigger. Fires at the first step of a Custom Token Exchange transaction, before the post-login trigger. The dedicated event object reference page was not retrievable at the time of authoring, so the payload is modelled as a generic Action event envelope.
Messages
✉
LogStreamBatch
Auth0 Log Stream Batch
A batch of Auth0 tenant log records delivered to a Custom Webhook destination.
✉
PostLoginEvent
Actions post-login event
Event object passed to a post-login Action handler.
✉
CredentialsExchangeEvent
Actions credentials-exchange event
Event object passed to a credentials-exchange Action handler.
✉
PreUserRegistrationEvent
Actions pre-user-registration event
Event object passed to a pre-user-registration Action handler.
✉
PostUserRegistrationEvent
Actions post-user-registration event
Event object passed to a post-user-registration Action handler.
✉
GenericActionEvent
Generic Actions event envelope
Open envelope for Action triggers whose dedicated event-object reference page was not retrievable at authoring time (post-change-password, send-phone-message, password-reset-post-challenge, custom-token-exchange).
Servers
https
logStreamWebhook
{webhookUrl}
Customer-hosted HTTPS endpoint that receives Auth0 Log Stream Custom Webhook POSTs. The endpoint is configured per Log Stream in the Auth0 Dashboard or via the Management API `/log-streams` resource. Auth0 requires a 2xx response; non-2xx responses cause the Log Stream to enter a suspended state after sustained failures, per the Log Streams documentation.
in-process
actionsRuntime
auth0-actions-runtime
Pseudo-server representing the Auth0 Actions Node.js runtime. Actions do not receive events over the network; they are invoked by Auth0's serverless runtime which passes the `event` object as a function argument to the Action's `onExecute*` handler. This server entry exists purely so the Actions channels are well-formed AsyncAPI channels.
AsyncAPI Specification
asyncapi: 2.6.0
info:
title: Auth0 Log Streams and Actions Event Delivery
version: '1.0.0'
description: |-
AsyncAPI 2.6 description of Auth0's two primary outbound event-delivery
surfaces:
1. Log Streams — Custom Webhook (HTTP) destination
Auth0 streams tenant log events to a customer-hosted HTTPS endpoint
via HTTP POST. The payload is a JSON document containing a `logs`
array of Auth0 log records, each identified by a `type` code.
Other Log Stream destinations (Datadog, Splunk, Sumo Logic,
Amazon EventBridge, Azure Event Grid, Mixpanel, Segment, Elastic,
Logz.io, Slack, Panther, etc.) carry the same per-log record shape
but are delivered through provider-specific transports. Only the
HTTP destination is modelled in this document because it is the
destination that exposes a subscriber-visible AsyncAPI surface.
2. Actions — Trigger event payloads
Auth0 invokes customer-authored Actions code at well-defined points
in the auth pipeline (post-login, credentials-exchange,
pre-user-registration, post-user-registration, post-change-password,
send-phone-message, password-reset-post-challenge,
custom-token-exchange). Each invocation passes an `event` object
describing the current request, user, client, connection, tenant,
and transaction. While Actions run inside Auth0's serverless
runtime (not over HTTP), modelling these events as AsyncAPI
messages lets API consumers reason about the schemas Auth0
emits at each trigger point, and makes the surface comparable
to webhook-style integrations such as Hooks (the legacy
Webtask-based predecessor) or customer-built bridges that
forward Action events to external systems.
Source documentation (verified):
- Log Streams overview:
https://auth0.com/docs/customize/log-streams
- Custom Webhook Log Streams:
https://auth0.com/docs/customize/log-streams/custom-log-streams
- Log event type codes:
https://auth0.com/docs/deploy-monitor/logs/log-event-type-codes
- Actions triggers index:
https://auth0.com/docs/customize/actions/explore-triggers
- Post-Login event object:
https://auth0.com/docs/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger/post-login-event-object
- Pre-User-Registration event object:
https://auth0.com/docs/customize/actions/explore-triggers/signup-and-login-triggers/pre-user-registration-trigger/pre-user-registration-event-object
- Post-User-Registration event object:
https://auth0.com/docs/customize/actions/explore-triggers/signup-and-login-triggers/post-user-registration-trigger/post-user-registration-event-object
- Credentials-Exchange event object:
https://auth0.com/docs/customize/actions/explore-triggers/machine-to-machine-trigger/credentials-exchange-event-object
Scope notes:
- This document models only fields that appear in the cited Auth0
documentation. Where Auth0 documents a property by name but does
not enumerate its sub-fields, the property is modelled as an
open object (`additionalProperties: true`) rather than fabricated.
- The send-phone-message, post-change-password, and
password-reset-post-challenge triggers are listed in the Actions
Triggers index but their dedicated event-object reference pages
were not retrievable at the time of authoring. They are noted in
the channel descriptions but their payloads are intentionally
left as open objects to avoid fabrication.
- Auth0 Hooks (Webtask-based extensibility) are the predecessor to
Actions and have been deprecated in favor of Actions. Hooks are
referenced here only to anchor historical context; their runtime
payloads are not separately modelled.
contact:
name: Auth0 (Okta) Support
url: https://support.auth0.com/
license:
name: Auth0 Terms of Service
url: https://auth0.com/legal/tos
defaultContentType: application/json
servers:
logStreamWebhook:
url: '{webhookUrl}'
protocol: https
description: |-
Customer-hosted HTTPS endpoint that receives Auth0 Log Stream Custom
Webhook POSTs. The endpoint is configured per Log Stream in the Auth0
Dashboard or via the Management API `/log-streams` resource.
Auth0 requires a 2xx response; non-2xx responses cause the Log Stream
to enter a suspended state after sustained failures, per the Log
Streams documentation.
variables:
webhookUrl:
default: https://example.com/auth0/log-stream
description: Fully-qualified HTTPS URL of the subscriber endpoint.
security:
- bearerAuthorization: []
actionsRuntime:
url: auth0-actions-runtime
protocol: in-process
description: |-
Pseudo-server representing the Auth0 Actions Node.js runtime. Actions
do not receive events over the network; they are invoked by Auth0's
serverless runtime which passes the `event` object as a function
argument to the Action's `onExecute*` handler. This server entry
exists purely so the Actions channels are well-formed AsyncAPI
channels.
channels:
/auth0/log-stream:
description: |-
Auth0 Log Streams Custom Webhook delivery channel. Auth0 issues
`HTTP POST` requests with a JSON body to the configured webhook
URL. The body contains a `logs` array; each element is an Auth0
tenant log record. The Custom Webhook configuration exposes an
optional Authorization token that Auth0 sends in the
`Authorization` request header on every POST.
servers:
- logStreamWebhook
bindings:
http:
type: request
method: POST
bindingVersion: '0.3.0'
subscribe:
operationId: receiveAuth0LogStreamBatch
summary: Receive a batch of Auth0 tenant log records
description: |-
Auth0 POSTs a JSON envelope containing a `logs` array. Each log
record is identified by its `type` field, an Auth0 log event
type code (for example `s` for a successful login, `seacft` for
a successful Authorization Code exchange, `gd_auth_succeed` for
a successful MFA challenge).
message:
$ref: '#/components/messages/LogStreamBatch'
/auth0/actions/post-login:
description: |-
Auth0 Actions `post-login` trigger. Fires after a user is
authenticated but before the token is issued. The Action handler
receives an `event` object describing the login transaction.
servers:
- actionsRuntime
subscribe:
operationId: handlePostLogin
summary: Handle a post-login Action invocation
message:
$ref: '#/components/messages/PostLoginEvent'
/auth0/actions/credentials-exchange:
description: |-
Auth0 Actions `credentials-exchange` trigger. Fires during a
machine-to-machine OAuth 2.0 Client Credentials grant, before
an access token is returned.
servers:
- actionsRuntime
subscribe:
operationId: handleCredentialsExchange
summary: Handle a credentials-exchange Action invocation
message:
$ref: '#/components/messages/CredentialsExchangeEvent'
/auth0/actions/pre-user-registration:
description: |-
Auth0 Actions `pre-user-registration` trigger. Fires before a user
is created on a database connection. Does not run for social
connections.
servers:
- actionsRuntime
subscribe:
operationId: handlePreUserRegistration
summary: Handle a pre-user-registration Action invocation
message:
$ref: '#/components/messages/PreUserRegistrationEvent'
/auth0/actions/post-user-registration:
description: |-
Auth0 Actions `post-user-registration` trigger. Fires asynchronously
after a user is created on a database connection. Does not run for
social connections.
servers:
- actionsRuntime
subscribe:
operationId: handlePostUserRegistration
summary: Handle a post-user-registration Action invocation
message:
$ref: '#/components/messages/PostUserRegistrationEvent'
/auth0/actions/post-change-password:
description: |-
Auth0 Actions `post-change-password` trigger. Fires after a user's
password is changed on a database connection. The dedicated event
object reference page was not retrievable at the time of authoring,
so the payload is modelled as a generic Action event envelope.
servers:
- actionsRuntime
subscribe:
operationId: handlePostChangePassword
summary: Handle a post-change-password Action invocation
message:
$ref: '#/components/messages/GenericActionEvent'
/auth0/actions/send-phone-message:
description: |-
Auth0 Actions `send-phone-message` trigger. Fires when a custom
provider is used to deliver MFA enrollment or challenge messages.
The dedicated event object reference page was not retrievable at the
time of authoring, so the payload is modelled as a generic Action
event envelope.
servers:
- actionsRuntime
subscribe:
operationId: handleSendPhoneMessage
summary: Handle a send-phone-message Action invocation
message:
$ref: '#/components/messages/GenericActionEvent'
/auth0/actions/password-reset-post-challenge:
description: |-
Auth0 Actions `password-reset-post-challenge` trigger. Fires after
the first password-reset challenge is completed and before the
password is reset. The dedicated event object reference page was
not retrievable at the time of authoring, so the payload is
modelled as a generic Action event envelope.
servers:
- actionsRuntime
subscribe:
operationId: handlePasswordResetPostChallenge
summary: Handle a password-reset-post-challenge Action invocation
message:
$ref: '#/components/messages/GenericActionEvent'
/auth0/actions/custom-token-exchange:
description: |-
Auth0 Actions `custom-token-exchange` trigger. Fires at the first
step of a Custom Token Exchange transaction, before the post-login
trigger. The dedicated event object reference page was not
retrievable at the time of authoring, so the payload is modelled
as a generic Action event envelope.
servers:
- actionsRuntime
subscribe:
operationId: handleCustomTokenExchange
summary: Handle a custom-token-exchange Action invocation
message:
$ref: '#/components/messages/GenericActionEvent'
components:
securitySchemes:
bearerAuthorization:
type: httpApiKey
description: |-
Optional Authorization token configured on the Custom Webhook Log
Stream. Auth0 places the value verbatim in the `Authorization`
request header on every POST. The customer chooses the scheme
(commonly `Bearer <token>` but any opaque token is accepted).
name: Authorization
in: header
messages:
LogStreamBatch:
name: LogStreamBatch
title: Auth0 Log Stream Batch
summary: A batch of Auth0 tenant log records delivered to a Custom Webhook destination.
contentType: application/json
bindings:
http:
headers:
type: object
properties:
Content-Type:
type: string
const: application/json
Authorization:
type: string
description: Optional Authorization token configured on the Log Stream.
bindingVersion: '0.3.0'
payload:
$ref: '#/components/schemas/LogStreamBatchPayload'
PostLoginEvent:
name: PostLoginEvent
title: Actions post-login event
summary: Event object passed to a post-login Action handler.
contentType: application/json
payload:
$ref: '#/components/schemas/PostLoginEventObject'
CredentialsExchangeEvent:
name: CredentialsExchangeEvent
title: Actions credentials-exchange event
summary: Event object passed to a credentials-exchange Action handler.
contentType: application/json
payload:
$ref: '#/components/schemas/CredentialsExchangeEventObject'
PreUserRegistrationEvent:
name: PreUserRegistrationEvent
title: Actions pre-user-registration event
summary: Event object passed to a pre-user-registration Action handler.
contentType: application/json
payload:
$ref: '#/components/schemas/PreUserRegistrationEventObject'
PostUserRegistrationEvent:
name: PostUserRegistrationEvent
title: Actions post-user-registration event
summary: Event object passed to a post-user-registration Action handler.
contentType: application/json
payload:
$ref: '#/components/schemas/PostUserRegistrationEventObject'
GenericActionEvent:
name: GenericActionEvent
title: Generic Actions event envelope
summary: |-
Open envelope for Action triggers whose dedicated event-object
reference page was not retrievable at authoring time
(post-change-password, send-phone-message,
password-reset-post-challenge, custom-token-exchange).
contentType: application/json
payload:
$ref: '#/components/schemas/GenericActionEventObject'
schemas:
# ------------------------------------------------------------------
# Log Stream payloads
# ------------------------------------------------------------------
LogStreamBatchPayload:
type: object
description: |-
Outer envelope POSTed by Auth0 to a Custom Webhook Log Stream
destination. Contains a `logs` array of Auth0 tenant log records.
required: [logs]
properties:
logs:
type: array
description: One or more Auth0 tenant log records.
items:
$ref: '#/components/schemas/LogRecord'
LogRecord:
type: object
description: |-
A single Auth0 tenant log record. The `type` field is an Auth0
log event type code (see `LogEventType`). Auth0 log records carry
a wide range of optional context fields depending on the event
type; this schema enumerates the commonly documented fields and
sets `additionalProperties: true` so destination-specific or
type-specific fields are preserved.
additionalProperties: true
properties:
log_id:
type: string
description: Globally unique identifier of this log record.
_id:
type: string
description: Internal identifier; equal to `log_id` in most cases.
date:
type: string
format: date-time
description: ISO 8601 timestamp at which the event was recorded.
type:
$ref: '#/components/schemas/LogEventType'
description:
type: string
description: Human-readable description of the event.
connection:
type: string
description: Name of the connection involved in the event, when applicable.
connection_id:
type: string
description: Identifier of the connection involved in the event.
client_id:
type: string
description: Auth0 application client ID associated with the event.
client_name:
type: string
description: Auth0 application name associated with the event.
ip:
type: string
description: Originating IP address of the end-user or caller.
hostname:
type: string
description: Hostname of the Auth0 tenant or custom domain handling the request.
user_id:
type: string
description: Auth0 user identifier associated with the event, when applicable.
user_name:
type: string
description: Username (or email) associated with the event, when applicable.
user_agent:
type: string
description: User-Agent header of the originating request.
audience:
type: string
description: Resource Server (API) identifier for token-related events.
scope:
type: string
description: Space-separated list of scopes for token-related events.
strategy:
type: string
description: Connection strategy (for example `auth0`, `google-oauth2`, `samlp`).
strategy_type:
type: string
description: Strategy classification (for example `database`, `social`, `enterprise`).
log_type_code:
type: string
description: Echo of the `type` field for downstream destinations that prefer an explicit name.
details:
type: object
description: Structured per-event detail object. Shape varies by `type`.
additionalProperties: true
LogEventType:
type: string
description: |-
Auth0 log event type code. Auth0 maintains a large enumeration of
type codes covering authentication, MFA, token exchange, password
and email changes, account/user management, rate limiting,
delegation/logout, administrative operations, and notifications.
The list below mirrors the codes published at
https://auth0.com/docs/deploy-monitor/logs/log-event-type-codes
and is illustrative rather than exhaustive — Auth0 may publish
additional codes; consumers should treat unknown codes as opaque.
enum:
# Authentication & login
- s
- f
- fp
- fu
- fc
- fco
- fcoa
- scoa
- fsa
- ssa
- fs
- ss
- signup_pwd_leak
# Password & email management
- fcp
- scp
- fcpr
- scpr
- fce
- sce
- fv
- sv
- fvr
- svr
- pwd_leak
- reset_pwd_leak
# Multi-factor authentication
- gd_auth_succeed
- gd_auth_failed
- gd_auth_rejected
- gd_enrollment_complete
- gd_start_auth
- gd_start_enroll
- gd_recovery_succeed
- gd_recovery_failed
- gd_otp_rate_limit_exceed
- mfar
- gd_send_sms
- gd_send_email
- gd_send_pn
# Token exchange
- seacft
- feacft
- sepft
- fepft
- sertft
- fertft
- seta
- feta
- sens
- fens
- success_on_behalf_of_token_exchange
- failed_on_behalf_of_token_exchange
# Device & passkey
- passkey_challenge_started
- passkey_challenge_failed
- fdeac
- fdeaz
- fdecc
# Account & user management
- fdu
- sdu
- fcu
- scu
- fi
- si
- fcpn
- scpn
- fui
- sui
# Rate limiting & security
- api_limit
- api_limit_warning
- limit_mu
- limit_sul
- limit_wc
# Logout & delegation
- slo
- flo
- sd
- fd
- oidc_backchannel_logout_succeeded
- oidc_backchannel_logout_failed
# Administrative & system
- sapi
- mgmt_api_read
- sscim
- actions_execution_failed
- flows_execution_completed
- flows_execution_failed
# Notifications & communications
- cls
- cs
- fn
- wn
# ------------------------------------------------------------------
# Shared Action event-object sub-schemas
# ------------------------------------------------------------------
ActionRequest:
type: object
description: |-
Request context shared by every Action trigger event. Documented
fields are enumerated; trigger-specific extensions are allowed.
additionalProperties: true
properties:
ip:
type: string
description: Originating IP address of the end-user or caller.
asn:
type: string
description: Autonomous System Number of the originating IP.
method:
type: string
description: HTTP method of the originating request.
hostname:
type: string
description: Hostname of the Auth0 tenant or custom domain handling the request.
user_agent:
type: string
description: User-Agent header of the originating request.
language:
type: string
description: Preferred language of the originating request.
body:
type: object
description: Request body, when applicable.
additionalProperties: true
query:
type: object
description: Query-string parameters.
additionalProperties: true
geoip:
$ref: '#/components/schemas/ActionGeoIP'
ActionGeoIP:
type: object
description: GeoIP-derived location for the originating IP.
additionalProperties: true
properties:
cityName: { type: string }
continentCode: { type: string }
countryCode: { type: string }
countryCode3: { type: string }
countryName: { type: string }
latitude: { type: number }
longitude: { type: number }
timeZone: { type: string }
subdivisionCode: { type: string }
subdivisionName: { type: string }
ActionClient:
type: object
description: Application (client) details associated with the transaction.
additionalProperties: true
properties:
client_id: { type: string }
name: { type: string }
metadata:
type: object
description: Client metadata dictionary.
additionalProperties:
type: string
ActionConnection:
type: object
description: Connection details associated with the transaction.
additionalProperties: true
properties:
id: { type: string }
name: { type: string }
strategy: { type: string }
metadata:
type: object
additionalProperties:
type: string
ActionTenant:
type: object
description: Tenant identifier.
additionalProperties: true
properties:
id: { type: string }
ActionOrganization:
type: object
description: Organization context for organization-scoped transactions.
additionalProperties: true
properties:
id: { type: string }
name: { type: string }
display_name: { type: string }
metadata:
type: object
additionalProperties:
type: string
ActionCustomDomain:
type: object
description: Custom domain context for transactions issued on a tenant custom domain.
additionalProperties: true
properties:
domain: { type: string }
domain_metadata:
type: object
additionalProperties:
type: string
ActionSecurityContext:
type: object
description: TLS fingerprint signatures (available when fronted by Cloudflare).
additionalProperties: true
properties:
ja3: { type: string }
ja4: { type: string }
ActionResourceServer:
type: object
description: Resource Server (API) being addressed by the transaction.
additionalProperties: true
properties:
identifier: { type: string }
ActionStats:
type: object
description: Per-user login statistics.
additionalProperties: true
properties:
logins_count:
type: integer
minimum: 0
ActionTransaction:
type: object
description: |-
Transaction-level OAuth/OIDC parameters. The Auth0 documentation
enumerates the fields below; additional fields may appear for
specific protocols.
additionalProperties: true
properties:
id: { type: string }
protocol: { type: string }
acr_values:
type: array
items: { type: string }
locale: { type: string }
login_hint: { type: string }
prompt:
type: array
items: { type: string }
redirect_uri: { type: string }
requested_scopes:
type: array
items: { type: string }
response_mode: { type: string }
response_type:
oneOf:
- { type: string }
- { type: array, items: { type: string } }
state: { type: string }
ui_locales:
type: array
items: { type: string }
correlation_id: { type: string }
target_scopes:
type: array
items: { type: string }
metadata:
type: object
additionalProperties:
type: string
ActionAuthenticationMethod:
type: object
description: A single authentication method asserted during the flow.
additionalProperties: true
properties:
name:
type: string
description: Method name (for example `federated`, `pwd`, `passkey`, `sms`, `email`).
timestamp:
type: string
format: date-time
type:
type: string
ActionAuthentication:
type: object
description: Authentication signals obtained during the flow.
additionalProperties: true
properties:
methods:
type: array
items:
$ref: '#/components/schemas/ActionAuthenticationMethod'
riskAssessment:
type: object
description: |-
Risk assessment outputs for assessors such as ImpossibleTravel,
NewDevice, and UntrustedIP. Sub-fields are not modelled in
detail to avoid fabrication.
additionalProperties: true
ActionAuthorization:
type: object
description: Authorization grants applied to the user.
additionalProperties: true
properties:
roles:
type: array
items: { type: string }
ActionSession:
type: object
description: Session-level metadata for the post-login transaction.
additionalProperties: true
properties:
id: { type: string }
authenticated_at:
type: string
format: date-time
created_at:
type: string
format: date-time
expires_at:
type: string
format: date-time
idle_expires_at:
type: string
format: date-time
user_id: { type: string }
device:
type: object
additionalProperties: true
ActionRefreshToken:
type: object
description: Refresh token associated with the post-login transaction.
additionalProperties: true
properties:
id: { type: string }
client_id: { type: string }
created_at:
type: string
format: date-time
expires_at:
type: string
format: date-time
device:
type: object
additionalProperties: true
resource_servers:
type: array
items:
type: object
additionalProperties: true
ActionAccessToken:
type: object
description: Access token under construction for credentials-exchange.
additionalProperties: true
properties:
customClaims:
type: object
additionalProperties: true
scope:
oneOf:
- { type: string }
- { type: array, items: { type: string } }
ActionSecrets:
type: object
description: |-
Securely-stored secret values made available to the Action handler.
Keys are caller-defined; values are strings.
additionalProperties:
type: string
ActionIdentity:
type: object
description: A linked identity record on a user profile.
additionalProperties: true
properties:
user_id: { type: string }
provider: { type: string }
connection: { type: string }
isSocial: { type: boolean }
profileData:
type: object
additionalProperties: true
ActionUser:
type: object
description: |-
Auth0 user profile representation passed to Action handlers. Fields
enumerated here are those documented for the post-login,
pre-user-registration, and post-user-registration trigger event
objects. Additional standard or custom fields are allowed.
additionalProperties: true
properties:
user_id: { type: string }
email:
type: string
format: email
email_verified: { type: boolean }
phone_number: { type: string }
phone_verified: { type: boolean }
username: { type: string }
name: { type: string }
nickname: { type: string }
given_name: { type: string }
family_name: { type: string }
picture:
type: string
format: uri
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
last_password_reset:
type: string
format: date-time
blocked: { type: boolean }
app_metadata:
type: object
additionalProperties: true
user_metadata:
type: object
additionalProperties: true
multifactor:
type: array
items: { type: string }
enrolledFactors:
type: array
items:
type: object
additionalProperties: true
identities:
type: array
items:
$ref: '#/components/schemas/ActionIdentity'
# ------------------------------------------------------------------
# Trigger-specific event objects
# ------------------------------------------------------------------
PostLoginEventObject:
type: object
description: |-
`event` object passed to a post-login Action handler. Documented
properties are enumerated; additional Auth0-added properties are
allowed.
additionalProperties: true
properties:
authentication:
$ref: '#/components/schemas/ActionAuthentication'
authorization:
$ref: '#/components/schemas/ActionAuthorization'
client:
$ref: '#/components/schemas/ActionClient'
connection:
$ref: '#/components/schemas/ActionConnection'
organization:
$ref: '#/components/schemas/ActionOrganization'
custom_domain:
$ref: '#/components/schemas/ActionCustomDomain'
refresh_token:
$ref: '#/components/schemas/ActionRefreshToken'
request:
$ref: '#/components/schemas/ActionRequest'
resource_server:
$ref: '#/components/schemas/ActionResourceServer'
session:
$ref: '#/components/schemas/ActionSession'
session_id:
type: string
description: |-
Identifier of the session associated with the login.
Documented separately on the Post-Login trigger page; may also
be reachable through `event.session.id`.
stats:
$ref: '#/components/schemas/ActionStats'
tenant:
$ref: '#/components/schemas/ActionTenant'
transaction:
$ref: '#/components/schemas/ActionTransaction'
user:
$ref: '#/components/schemas/ActionUser'
secrets:
$ref: '#/components/schemas/ActionSecrets'
security_context:
$ref: '#/components/schemas/ActionSecurityContext'
prompt:
type: object
description: |-
Custom prompt data collected during Universal Login. The
documentation references `id`, `fields`, and `vars`; sub-field
shapes are not modelled in detail.
additionalProperties: true
session_transfer_token:
type: object
description: |-
Early Access Native-to-Web SSO context. Contains `client_id`,
request details, and a `scope` array; sub-field shapes are
not modelled in detail.
additionalProperties: true
CredentialsExchangeEventObject:
type: object
# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/auth0/refs/heads/main/asyncapi/auth0-log-streams-and-actions-asyncapi.yml