Actions Triggers: pre-user-registration - API Object
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 registration 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.
Returns a reference to the api
object.
Parameter | Description |
---|---|
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.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.
Returns a CacheWriteResult
object with type: "success"
if a value was removed from the cache. A failed operation returns type: "error"
. For errors, the returned object will have a
code
property that indicates the nature of the failure.
Parameter | Description |
---|---|
key |
String. The key of the record stored in the cache. |
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.
Returns a cache record if an item is found in the cache for the supplied
key
. Cache records are objects with a
value
property holding the cached value as well as an
expires_at
property indicating the maximum expiry of
the record in milliseconds since the Unix epoch.
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.
Parameter | Description |
---|---|
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 15 minutes will be used. Lifetimes may
not exceed the maximum duration listed at
Actions Cache Limits.
Parameter | Description |
---|---|
key |
String. The key of the record stored in the cache. |
value |
String. The value of the record to be stored. |
options |
Optional object. Options for adjusting cache behavior. |
options.expires_at |
Optional number. The absolute expiry time in milliseconds
since the unix epoch. While cached records may be evicted earlier,
they will never remain beyond the the supplied
Note: This value should not be supplied if a value was also
provided for |
options.ttl |
Optional number. The time-to-live value of this cache entry
in milliseconds. While cached values may be evicted earlier, they
will never remain beyond the the supplied
Note: This value should not be supplied if a value was also
provided for |
api.user
Make changes to the metadata of the user that is registering.
api.user.setUserMetadata(name, value)
Set metadata for the user that is registering. Data stored within user_metadata is visible and editable by the user.
Note: This trigger makes a call to the Management API, consuming the Management API rate limit. If this request reaches the rate limit and fails to retry within the timeout window, the API returns a Deadline Exceeded
error.
Returns a reference to the api
object.
Parameter | Description |
---|---|
name |
String. The name of metadata property. |
value |
Any value. The value of the metadata property. This may be set to `null` to remove the metadata property. |
api.user.setAppMetadata(name, value)
Set application metadata for the user that is registering. Data stored within app_metadata is not visible or editable by the user.
Note: This trigger makes a call to the Management API, consuming the Management API rate limit. If this request reaches the rate limit and fails to retry within the timeout window, the API returns a Deadline Exceeded
error.
Returns a reference to the api
object.
Parameter | Description |
---|---|
name |
String. The name of metadata property. |
value |
Any value. The value of the metadata property. This may be set to `null` to remove the metadata property. |
api.validation
Configure custom error messaging for denied user registrations.
api.validation.error(errorCode, errorMessage)
Define custom error codes and user messaging for denied registration attempts.
When a user's attempt to register is denied, the signup flow immediately stops following the completion of the current Action and no further Actions are executed.
Parameter | Description |
---|---|
errorCode |
String. A custom error code that describes why a registration attempt was denied. This value appears in tenant logs. |
errorMessage |
String. A custom error message presented to users when their registrations are deinied. |