Register an App - App Registry
Register an App
POST /api/v1/app-registry/add
Content-Type: application/json
Authorization: Bearer <KS>
{
"appCustomId": "my-events-site-01",
"appType": "ep",
"appCustomName": "Annual Conference Portal"
}
| Field | Type | Required | Description |
|---|---|---|---|
appCustomId | string | Yes | Custom identifier (unique per partner) |
appType | string | Yes | Application type (see section 4.1) |
appCustomName | string | Yes | Display name |
organizationDomain | object | No | Domain binding (see section 4.2) |
The status is always set to "enabled" on creation (cannot be overridden). The version starts at 0. The partnerId is extracted from the KS — it cannot be set in the request body.
Response: Full app object with generated id.
{
"id": "6f8a3c12-4b5d-4e9f-a1c7-8d2e3f4a5b6c",
"partnerId": 1234567,
"appCustomId": "my-events-site-01",
"appCustomName": "Annual Conference Portal",
"appType": "ep",
"status": "enabled",
"version": 0,
"createdAt": "2026-04-09T04:56:27.940Z",
"updatedAt": "2026-04-09T04:56:27.940Z",
"objectType": "App"
}
curl -X POST "$KALTURA_APP_REGISTRY_URL/app-registry/add" \
-H "Authorization: Bearer $KALTURA_KS" \
-H "Content-Type: application/json" \
-d '{
"appCustomId": "my-events-site-01",
"appType": "ep",
"appCustomName": "Annual Conference Portal"
}'
Save the id from the response — this is the appGuid used by other services like the User Profile API.
Uniqueness Constraints
appCustomIdmust be unique within your partner account- If
organizationDomainis provided, the combination oforganizationId+domain+appTypemust be globally unique. Each comma-separated domain in thedomainfield is validated individually.
Error Codes
| Code | Meaning |
|---|---|
APP_REGISTRY_ALREADY_EXISTS_WITH_THIS_APP_CUSTOM_ID | Duplicate appCustomId for your partner |
ORGANIZATION_ID_DOMAIN_AND_APP_TYPE_MUST_BE_UNIQUE | Domain/org/type combination already exists |