Account Type
The Account object represents a user in the Verisoul system. Each account has a unique identifier, an optional email address, and customizable metadata.Structure
| Field | Type | Required | Description | 
|---|---|---|---|
id | string | Yes | Unique identifier for the account | 
email | string | No | Email address associated with the account | 
metadata | object | No | Key-value pairs of custom data associated with the account | 
group | string | No | Groups must be enabled for the project to use this field. See Multi Accounting Groups for more information. | 
lists | array | No | Array of list names to add the account to during authentication. See Lists for more information. | 
Email Address
An Account can have have a string email address. Verisoul stores only one email address per Account. When updating an account with a new email address, the previous email address is replaced.Metadata
The metadata object allows you to store custom data with each account. When updating metadata:- New fields are added to the existing metadata
 - Existing fields are overwritten with new values
 - Other existing fields are preserved
 
Example: Metadata Updates
Starting metadata state:Lists
Thelists field allows you to specify which lists an account should be added to. This field is available in both:
- Server-side API: During authentication via 
/session/authenticate - Client-side SDK: Using the 
Verisoul.account()method 
Example: Adding Account to Lists
Server-side (Authenticate API):- The account will be added to all specified lists during processing
 - If a list does not exist, it will be automatically created (this will not cause the API to fail)
 - Use good naming conventions: lowercase with dashes or underscores, no special characters or whitespace
 - Standard lists (allow, block, main_account) follow the list hierarchy rules
 - Custom lists can be used for flexible account categorization
 
