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"
}
}
| Field | Type | Required | Description |
|---|---|---|---|
appGuid | string | Yes | App Registry GUID (must be registered and enabled) |
userId | string | Yes | Kaltura user ID (must exist in your account) |
profileData | object | Yes | Custom user attributes (any valid JSON) |
loginData | object | No | Login tracking (both subfields required if provided) |
eventData | object | No | Event attendance data |
appData | object | No | App-specific metadata |
status | string | No | Default: 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
| Code | Meaning |
|---|---|
USER_ALREADY_ASSOCIATED_TO_APP_GUID | Profile already exists for this appGuid + userId (active, non-deleted) |
USER_ALREADY_EXIST | Duplicate key error (concurrent creation race) |
OBJECT_NOT_FOUND | appGuid not found or not enabled in App Registry |
USER_ID_NOT_FOUND | userId does not exist in your Kaltura account |