List User Profiles - User Profile
List User Profiles
POST /api/v1/user-profile/list
Content-Type: application/json
Authorization: Bearer <KS>
{
"filter": {
"appGuidIn": ["app-guid"],
"attendanceStatus": "registered"
},
"pager": {
"offset": 0,
"limit": 100
},
"orderBy": "-createdAt",
"includeTotalCount": true
}
Deleted profiles are always excluded from list results — this is hardcoded and cannot be overridden with a status filter.
10.1 Filter Fields
All filter fields are optional. Provided fields are AND'd together.
| Field | Type | Description |
|---|---|---|
idIn | string[] | Filter by profile IDs. Invalid IDs silently ignored. |
appGuidIn | string[] | Filter by app GUIDs |
userIdIn | string[] | Filter by user IDs. Email addresses (containing @) are matched case-insensitively. Non-email IDs are matched case-sensitively. |
status | string | enabled or disabled (deleted always excluded) |
attendanceStatus | string | Filter by current attendance status |
regOriginIn | string[] | Filter by registration origins |
previousAttendanceStatus | string | Filter by previous status |
userRegistrationType | string | Filter by requested attendance type |
attendanceType | string | Filter by confirmed attendance type |
allowedAttendanceType | string | Filter by allowed attendance type |
createdAtGreaterThanOrEqual | string | ISO 8601 minimum creation date |
createdAtLessThanOrEqual | string | ISO 8601 maximum creation date |
updatedAtGreaterThanOrEqual | string | ISO 8601 minimum update date |
updatedAtLessThanOrEqual | string | ISO 8601 maximum update date |
Deprecated: The
regOrigin(singular) filter field still works but is superseded byregOriginIn(array). If both are provided,regOriginIntakes precedence.
10.2 Pager
| Field | Type | Default | Description |
|---|---|---|---|
offset | integer | 0 | Number of records to skip |
limit | integer | 50 | Maximum records to return |
10.3 Sorting
Use orderBy with a field name. Prefix with - for descending order:
"createdAt"— oldest first"-createdAt"— newest first"-updatedAt"— recently updated first
10.4 Total Count
Set "includeTotalCount": true (default) to include the total number of matching records. Set to false for faster queries — totalCount returns -1 when disabled.
Response:
{
"objects": [
{
"id": "...",
"appGuid": "...",
"userId": "user@example.com",
"profileData": {"name": "Jane Doe"},
"eventData": {"attendanceStatus": "registered"},
"objectType": "UserProfile",
...
}
],
"totalCount": 250
}
# List all registered users for an event app
curl -X POST "$KALTURA_USER_PROFILE_URL/user-profile/list" \
-H "Authorization: Bearer $KALTURA_KS" \
-H "Content-Type: application/json" \
-d "{
\"filter\": {
\"appGuidIn\": [\"$APP_GUID\"],
\"attendanceStatus\": \"registered\"
},
\"pager\": {\"offset\": 0, \"limit\": 100},
\"orderBy\": \"-createdAt\"
}"