---
title: Bulk Create User Profiles
url: https://docs.kaltura.com/docs/events-collaboration/user-profile-api/user-profile-bulk-create-user-profiles
---

## 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 &lt;KS&gt;
```

```json
[
  {
    "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 return `NOT_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 via `user.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.

```json
[
  {"id": "...", "userId": "user1@example.com", "objectType": "UserProfile", ...},
  {"code": "USER_ALREADY_ASSOCIATED_TO_APP_GUID", "message": "...", "objectType": "KalturaAPIException"}
]
```

```bash
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\"}}
  ]"
```
