User Profile
The User Profile object is supported by the MiRTA PBX OpenAPI endpoint. This object is managed at system scope and requires a global API key.
Object Summary
| Property | Value |
|---|---|
| Object | userprofile |
| Primary path | /userprofiles |
| ID field | up_id |
| Label field | up_name |
| Primary source table | up_userprofiles |
| Required on create | up_name |
| Path aliases | /userprofile, /userprofiles, /user_profile, /user_profiles |
Endpoint Patterns
| Action | Example pattern |
|---|---|
| List | GET https://pbx.example.com/pbx/openapi.php/userprofiles |
| Get by ID | GET https://pbx.example.com/pbx/openapi.php/userprofiles/OBJECT_ID |
| Create | POST https://pbx.example.com/pbx/openapi.php/userprofiles |
| Update | PATCH https://pbx.example.com/pbx/openapi.php/userprofiles/OBJECT_ID |
| Delete | DELETE https://pbx.example.com/pbx/openapi.php/userprofiles/OBJECT_ID |
Accepted Field Aliases
| Request field | Source field |
|---|---|
name | up_name |
description | up_description |
reserved | up_reserved |
userpanel | up_userpanel |
user_panel | up_userpanel |
extension_user_profile | up_userpanel |
Examples
List User Profiles
Returns the user profiles visible to the key and scope.
curl -H "X-API-Key: GLOBAL_API_KEY" \
"https://pbx.example.com/pbx/openapi.php/userprofiles"
Get User Profile
Reads one object by its internal ID.
curl -H "X-API-Key: GLOBAL_API_KEY" \
"https://pbx.example.com/pbx/openapi.php/userprofiles/OBJECT_ID"
Create User Profile
Creates a new object. Use the short aliases shown above or the source field names.
curl -X POST \
-H "X-API-Key: GLOBAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Docs API Profile",
"description": "Documentation profile",
"user_panel": "yes"
}' \
"https://pbx.example.com/pbx/openapi.php/userprofiles"
Edit User Profile
Updates only the supplied fields.
curl -X PATCH \
-H "X-API-Key: GLOBAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"description": "Updated documentation profile"
}' \
"https://pbx.example.com/pbx/openapi.php/userprofiles/OBJECT_ID"
Delete User Profile
Deletes the object. Check references before deleting configuration used by routing or reporting.
curl -X DELETE \
-H "X-API-Key: GLOBAL_API_KEY" \
"https://pbx.example.com/pbx/openapi.php/userprofiles/OBJECT_ID"
User Profile Privileges
Replaces the profile privilege list. Privilege IDs must exist in the system privilege table.
curl -X PATCH \
-H "X-API-Key: GLOBAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"privileges": [
{
"id": 1,
"param1": "read"
},
{
"id": 2,
"param1": "write"
}
]
}' \
"https://pbx.example.com/pbx/openapi.php/userprofiles/OBJECT_ID"
Common Errors
| Error | Meaning |
|---|---|
missing_api_key | No API key was supplied in the query string, X-API-Key, or bearer token. |
invalid_api_key | The supplied key does not match the tenant or global API key. |
tenant_required | A tenant code is required for tenant-scoped writes or tenant-key reads. |
read_only_api_key | The key can read data but cannot create, update, or delete objects. |
missing_required_field | A required create field is missing. |