Bulk Create User Profiles - User Profile
Bulk Create User Profiles
Create multiple profiles in a single request. All profiles must belong to the same app.
POST /api/v1/user-profile/bulkAdd
Content-Type: application/json
Authorization: Bearer <KS>
[
{
"appGuid": "app-guid",
"userId": "user1@example.com",
"profileData": {"name": "Alice"}
},
{
"appGuid": "app-guid",
"userId": "user2@example.com",
"profileData": {"name": "Bob"}
}
]
Each array element has the same fields as user-profile/add:
| Field | Type | Required | Description |
|---|---|---|---|
appGuid | string | Yes | App Registry GUID (must be the same for all items) |
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 |
eventData | object | No | Event attendance data |
appData | object | No | App-specific metadata |
status | string | No | Default: enabled |
Constraints:
- All items must have the same
appGuid(mixed appGuids returnNOT_YET_SUPPORTED) - Array size: minimum 1, maximum 50 (configurable per deployment)
- The app is validated once for the shared
appGuid; user IDs are validated in bulk viauser.list
Response: Array of results in the same order as input. Each element is either a user profile object (on success) or an error object (on failure). Partial success is possible — HTTP 200 even if some items fail.
[
{"id": "...", "userId": "user1@example.com", "objectType": "UserProfile", ...},
{"code": "USER_ALREADY_ASSOCIATED_TO_APP_GUID", "message": "...", "objectType": "KalturaAPIException"}
]
curl -X POST "$KALTURA_USER_PROFILE_URL/user-profile/bulkAdd" \
-H "Authorization: Bearer $KALTURA_KS" \
-H "Content-Type: application/json" \
-d "[
{\"appGuid\": \"$APP_GUID\", \"userId\": \"user1@example.com\", \"profileData\": {\"name\": \"Alice\"}},
{\"appGuid\": \"$APP_GUID\", \"userId\": \"user2@example.com\", \"profileData\": {\"name\": \"Bob\"}}
]"