PORTALUSER: Portal User
The PORTALUSER entity represents external user accounts for customer-facing portals. Stored as standard objects in the tenant's DynamoDB table, separate from internal DemandFlow users. Each portal user is scoped to a specific PORTALCONFIG record via comboKey.
Default definition. This article describes the default
PORTALUSER definition shipped with DemandFlow. Administrators can add, remove, rename, or re-type fields, change which ones are required, and alter the layout from the Definitions screen in Settings. Your tenant's current schema may differ from what is shown here. To read the current definition at any time, GET the DEFINITION object whose id matches PORTALUSER.Entity properties
| Property | Value |
|---|---|
| Entity code | PORTALUSER |
| Display name | Portal User |
| Plural | Portal Users |
| Level | 60100 |
Use cases
Portal users authenticate via separate portal auth Lambdas (portalAuthLogin, portalAuthRegister) which manage passwordHash, passwordSalt, resetToken, and resetTokenExpiry fields directly on the object. These fields are NOT in the definition and should never be exposed in the UI. The comboKey format is SUB:{sId}|PORTAL:{portalConfigId}|ENT: to scope users per portal.
Fields
General
| Field | Type | Required | Notes |
|---|---|---|---|
name | text | Yes | Full Name. |
email | text | Yes | Used as the login identifier for the portal. |
status | enum | Status. Valid ids: 1 (Active), 2 (Suspended), 3 (Pending Verification). | |
portalConfigId | text | The PORTALCONFIG record this user belongs to. Read-only. | |
emailVerified | boolean | Email Verified. | |
lastLogin | datetime | Last Login. Read-only. |
Additional panels
- Activity timeline panel attached.
Relationships
- No declared relationships in the default definition.
Creating a Portal User via the API
POST /v1/objects
Authorization: Bearer <your-pat>
Content-Type: application/json
{
"entity": "PORTALUSER",
"level": 60100,
"comboKey": "SUB:<your-sub-id>|ENT:",
"name": "Example",
"email": "example@example.com",
"status": "1",
"emailVerified": true
}
Listing PORTALUSER records
# All portal users in your tenant
GET /v1/entities/PORTALUSER/SUB