Skip to main content

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

PropertyValue
Objectuserprofile
Primary path/userprofiles
ID fieldup_id
Label fieldup_name
Primary source tableup_userprofiles
Required on createup_name
Path aliases/userprofile, /userprofiles, /user_profile, /user_profiles

Endpoint Patterns

ActionExample pattern
ListGET https://pbx.example.com/pbx/openapi.php/userprofiles
Get by IDGET https://pbx.example.com/pbx/openapi.php/userprofiles/OBJECT_ID
CreatePOST https://pbx.example.com/pbx/openapi.php/userprofiles
UpdatePATCH https://pbx.example.com/pbx/openapi.php/userprofiles/OBJECT_ID
DeleteDELETE https://pbx.example.com/pbx/openapi.php/userprofiles/OBJECT_ID

Accepted Field Aliases

Request fieldSource field
nameup_name
descriptionup_description
reservedup_reserved
userpanelup_userpanel
user_panelup_userpanel
extension_user_profileup_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

ErrorMeaning
missing_api_keyNo API key was supplied in the query string, X-API-Key, or bearer token.
invalid_api_keyThe supplied key does not match the tenant or global API key.
tenant_requiredA tenant code is required for tenant-scoped writes or tenant-key reads.
read_only_api_keyThe key can read data but cannot create, update, or delete objects.
missing_required_fieldA required create field is missing.