Skip to main content
The API object for the pre-user-registration Actions trigger includes:

api.access

Modify the access of the user that is logging in, such as rejecting the login attempt.

api.access.deny(reason, userMessage)

Deny the user from being able to register. The signup flow will immediately stop following the completion of this action and no further Actions will be executed.
reason
string
An internal reason describing why this registration attempt is being denied. This value will appear in tenant logs.
userMessage
string
A human-readable explanation for rejecting the registration attempt. This may be presented directly in end-user interfaces.

api.user

Make changes to the metadata of the user that is logging in.

api.user.setAppMetadata(key, value)

Set application-specific metadata for the user that is logging in. Note: This method should not be used in callbacks. Invoking this method won’t update the metadata immediately. You can call this several times throughout multiple actions of the same flow and the engine will aggregate the changes and update the metadata at once before the flow is completed.
key
string
The metadata property to be set.
value
unknown
The value of the metadata property. This may be set to null to remove the metadata property.

api.user.setUserMetadata(key, value)

Set general metadata for the user that is logging in. Note: This method should not be used in callbacks. Invoking this method won’t update the metadata immediately. You can call this several times throughout multiple actions of the same flow and the engine will aggregate the changes and update the metadata at once before the flow is completed.
key
string
The metadata property to be set.
value
unknown
The value of the metadata property. This may be set to null to remove the metadata property.

api.user.setUserId(user_id)

Set user_id for the user that is logging in.
user_id
string
The user_id to assign to user

api.cache

Store and retrieve data that persists across executions.

api.cache.delete(key)

Delete a record describing a cached value at the supplied key if it exists.
key
string
The key of the cache record to delete.

api.cache.get(key)

Retrieve a record describing a cached value at the supplied key, if it exists. If a record is found, the cached value can be found at the value property of the returned object.
key
string
The key of the record stored in the cache.

api.cache.set(key, value, options)

Store or update a string value in the cache at the specified key. Values stored in this cache are scoped to the Trigger in which they are set. They are subject to the Actions Cache Limits. Values stored in this way will have lifetimes of up to the specified ttl or expires_at values. If no lifetime is specified, a default of lifetime of 24 hours will be used. Lifetimes may not exceed the maximum duration listed at Actions Cache Limits. Important: This cache is designed for short-lived, ephemeral data. Items may not be available in later transactions even if they are within their supplied their lifetime.
key
string
The key of the record to be stored.
value
string
The value of the record to be stored.
options
cachesetoptions
optional
Options for adjusting cache behavior.

api.validation

Modify the access of the user that is logging in, such as rejecting the login attempt due to validation errors.

api.validation.error(errorCode, errorMessage)

Deny the user from being able to register. The signup flow will immediately stop following the completion of this action and no further Actions will be executed.
errorCode
string
A customer defined error code describing why this registration attempt is being denied. This value will appear in tenant logs.
errorMessage
string
A customer defined explanation for rejecting the registration attempt. This may be presented directly in end-user interfaces.