Skip to main content
View as Markdown

Create a User Profile - User Profile

Create a User Profile​

POST /api/v1/user-profile/add
Content-Type: application/json
Authorization: Bearer <KS>
{
"appGuid": "app-guid-from-registry",
"userId": "user@example.com",
"profileData": {
"name": "Jane Doe",
"company": "Acme Corp",
"role": "Speaker"
},
"loginData": {
"lastLoginDate": "2025-06-15T10:30:00Z",
"lastLoginType": "sso"
},
"eventData": {
"regOrigin": "registration",
"attendanceStatus": "registered",
"userRegistrationType": "virtualAttendanceRequest"
}
}
FieldTypeRequiredDescription
appGuidstringYesApp Registry GUID (must be registered and enabled)
userIdstringYesKaltura user ID (must exist in your account)
profileDataobjectYesCustom user attributes (any valid JSON)
loginDataobjectNoLogin tracking (both subfields required if provided)
eventDataobjectNoEvent attendance data
appDataobjectNoApp-specific metadata
statusstringNoDefault: enabled

If eventData.attendanceStatus is set to attended, participated, or participatedPostEvent at creation time, firstAttendedStatusTime is automatically recorded.

Response: Full user profile object with generated id:

{
"id": "6620a1b2c3d4e5f6a7b8c9d0",
"partnerId": 123456,
"appGuid": "app-guid-from-registry",
"userId": "user@example.com",
"status": "enabled",
"profileData": {
"name": "Jane Doe",
"company": "Acme Corp",
"role": "Speaker"
},
"loginData": {
"lastLoginDate": "2025-06-15T10:30:00Z",
"lastLoginType": "sso"
},
"eventData": {
"regOrigin": "registration",
"attendanceStatus": "registered",
"userRegistrationType": "virtualAttendanceRequest",
"isRegistered": false,
"statusUpdateTime": "2025-06-15T10:30:00.000Z"
},
"appData": {},
"createdAt": "2025-06-15T10:30:00.000Z",
"updatedAt": "2025-06-15T10:30:00.000Z",
"objectType": "UserProfile"
}
curl -X POST "$KALTURA_USER_PROFILE_URL/user-profile/add" \
-H "Authorization: Bearer $KALTURA_KS" \
-H "Content-Type: application/json" \
-d "{
\"appGuid\": \"$APP_GUID\",
\"userId\": \"user@example.com\",
\"profileData\": {
\"name\": \"Jane Doe\",
\"company\": \"Acme Corp\"
},
\"eventData\": {
\"regOrigin\": \"registration\",
\"attendanceStatus\": \"registered\"
}
}"

Error Codes​

CodeMeaning
USER_ALREADY_ASSOCIATED_TO_APP_GUIDProfile already exists for this appGuid + userId (active, non-deleted)
USER_ALREADY_EXISTDuplicate key error (concurrent creation race)
OBJECT_NOT_FOUNDappGuid not found or not enabled in App Registry
USER_ID_NOT_FOUNDuserId does not exist in your Kaltura account