Users
Manage extension users.
List a collection of roles.
Use the filter query parameter to retrieve just a subset of a collection.
Use the search query parameter to restrict the results of a request to match a search criterion.
Use the orderby query parameter to specify the sort order of the items returned from server.
The default order is ascending order.
Use the skip query parameter to set the number of items to skip at the start of a collection.
0Use the top query parameter to specify the page size of the result set.
100OK
Total number of resource.
100Error
GET /api/roles HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"count": 1,
"items": [
{
"id": "xxxxxx",
"name": "example",
"protected": false,
"capabilities": [
"Company.Information",
"Company.ViewOnly",
"GeneralCallLog.FullAccess",
"GeneralCallLog.ViewOnly",
"GeneralCallRecording.FullAccess",
"GeneralCallRecording.ViewOnly",
"GeneralMeeting.FullAccess",
"GeneralMeeting.ViewOnly",
"GeneralVoicemail.FullAccess",
"GeneralVoicemail.ViewOnly"
],
"description": ""
}
]
}Create a new role.
Roles include built-in roles and custom roles.
Built-in roles roles cannot be modified.
Also, the names of built-in roles are reserved words,
custom roles are not allowed to use these names to avoid unnecessary confusion.
Built-in roles include:
SystemAdmin: the system administrator has almost all permissions.OperationsAdmin: the operations administrator.SiteAdmin: the site administrator.Dealer: the sales manager has all sold tenant resource permissions.Admin: the admin has all tenant-wide resource permissions.StandardUser: the user all user-wide resource permissions.StandardInternationalUser: the user all user-wide resource permissions with international call permissions.QueueManager: The call queue manager.
UserThe permission string.
Role's description.
OK
NzAwNTUxOTA5NzczMTQ4MTYwError
POST /api/roles HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 325
{
"name": "example",
"capabilities": [
"Company.Information",
"Company.ViewOnly",
"GeneralCallLog.FullAccess",
"GeneralCallLog.ViewOnly",
"GeneralCallRecording.FullAccess",
"GeneralCallRecording.ViewOnly",
"GeneralMeeting.FullAccess",
"GeneralMeeting.ViewOnly",
"GeneralVoicemail.FullAccess",
"GeneralVoicemail.ViewOnly"
],
"description": ""
}{
"id": "xxxxxxxx"
}Retrieves the settings of a role.
NzAwNTUxOTA5NzczMTQ4MTYwOK
NzAwNTUxOTA5NzczMTQ4MTYwRoles include built-in roles and custom roles.
Built-in roles roles cannot be modified.
Also, the names of built-in roles are reserved words,
custom roles are not allowed to use these names to avoid unnecessary confusion.
Built-in roles include:
SystemAdmin: the system administrator has almost all permissions.OperationsAdmin: the operations administrator.SiteAdmin: the site administrator.Dealer: the sales manager has all sold tenant resource permissions.Admin: the admin has all tenant-wide resource permissions.StandardUser: the user all user-wide resource permissions.StandardInternationalUser: the user all user-wide resource permissions with international call permissions.QueueManager: The call queue manager.
UserWhether role is protected.
falseThe permission string.
Role's description.
Error
GET /api/roles/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "xxxxxx",
"name": "example",
"capabilities": [
"Company.Information",
"Company.ViewOnly",
"GeneralCallLog.FullAccess",
"GeneralCallLog.ViewOnly",
"GeneralCallRecording.FullAccess",
"GeneralCallRecording.ViewOnly",
"GeneralMeeting.FullAccess",
"GeneralMeeting.ViewOnly",
"GeneralVoicemail.FullAccess",
"GeneralVoicemail.ViewOnly"
],
"protected": false,
"description": ""
}Modify the settings of a role.
NzAwNTUxOTA5NzczMTQ4MTYwRoles include built-in roles and custom roles.
Built-in roles roles cannot be modified.
Also, the names of built-in roles are reserved words,
custom roles are not allowed to use these names to avoid unnecessary confusion.
Built-in roles include:
SystemAdmin: the system administrator has almost all permissions.OperationsAdmin: the operations administrator.SiteAdmin: the site administrator.Dealer: the sales manager has all sold tenant resource permissions.Admin: the admin has all tenant-wide resource permissions.StandardUser: the user all user-wide resource permissions.StandardInternationalUser: the user all user-wide resource permissions with international call permissions.QueueManager: The call queue manager.
UserThe permission string.
Role's description.
OK
No content
Error
POST /api/roles/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 325
{
"name": "example",
"capabilities": [
"Company.Information",
"Company.ViewOnly",
"GeneralCallLog.FullAccess",
"GeneralCallLog.ViewOnly",
"GeneralCallRecording.FullAccess",
"GeneralCallRecording.ViewOnly",
"GeneralMeeting.FullAccess",
"GeneralMeeting.ViewOnly",
"GeneralVoicemail.FullAccess",
"GeneralVoicemail.ViewOnly"
],
"description": ""
}No content
Delete a certain role.
NzAwNTUxOTA5NzczMTQ4MTYwNo Content
No content
Error
POST /api/roles/{id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Retrieve details of current user.
OK
NzAwNTUxOTA5NzczMTQ4MTYwThe user's account name.
Only letters, numbers, and the following special characters can be added: underscore, dash, single quote, and period (_, -, ', and .).
Username cannot start or end with period (.).
admin, system, administrator, and root are reserved names for system admin only with case ignored.
The email address.
example@example.comThe display name of user.
Roles include built-in roles and custom roles.
Built-in roles roles cannot be modified.
Also, the names of built-in roles are reserved words,
custom roles are not allowed to use these names to avoid unnecessary confusion.
Built-in roles include:
SystemAdmin: the system administrator has almost all permissions.OperationsAdmin: the operations administrator.SiteAdmin: the site administrator.Dealer: the sales manager has all sold tenant resource permissions.Admin: the admin has all tenant-wide resource permissions.StandardUser: the user all user-wide resource permissions.StandardInternationalUser: the user all user-wide resource permissions with international call permissions.QueueManager: The call queue manager.
UserNzAwNTUxOTA5NzczMTQ4MTYwRoles include built-in roles and custom roles.
Built-in roles roles cannot be modified.
Also, the names of built-in roles are reserved words,
custom roles are not allowed to use these names to avoid unnecessary confusion.
Built-in roles include:
SystemAdmin: the system administrator has almost all permissions.OperationsAdmin: the operations administrator.SiteAdmin: the site administrator.Dealer: the sales manager has all sold tenant resource permissions.Admin: the admin has all tenant-wide resource permissions.StandardUser: the user all user-wide resource permissions.StandardInternationalUser: the user all user-wide resource permissions with international call permissions.QueueManager: The call queue manager.
UserAllows temporarily disabling the extension.
trueThe mobile phone number of user.
The office phone number of user.
The home phone number of user.
The address.
The department of user.
The extension number.
[0-9]{3,64}Records all calls and saves audio recordings on server.
falseRecords all calls and saves video recordings on server.
falseEnable Do Not Disturb or not.
Enable Automatic Callback or not.
Enable hot desking feature or not.
falseAlways make outbound anonymous calls or not.
falseAlways delivery outbound caller ID or not.
trueThe preferred configuration for SMS/MMS.
Note: Only users with UserManagement::Users privilege can change this property.
DISABLE: Disable user SMS/MMS feature.ALLOW: Enable user SMS/MMS feature but with outbound caller ID.ALLOW_WITH_SENDER_ID: Enable user SMS/MMS but with trunk sender ID.
DISABLEPossible values: Some custom configuration options serialized as json string
BCP 47 Language Tags (The Internet Best Current Practices (BCP) for language tags). A language tag is composed of a sequence of one or more subtags such as language, region, variant and script subtags. When a language tag is comprised of more than one subtag, the subtag values are separated by the "-" character. You will most commonly find language tags written with 2 subtags - language and region. For example: en-US.
en-USWhether the PIN is required to access voice mail of extension.
trueThe PIN number for accessing.
Enable voicemail to email notify.
falseAnnounces Date and Time of Message.
DISABLE: Do not read;12_HOUR_CLOCK: Read in 12-hour clock;24_HOUR_CLOCK: Read in 24-hour clock.
The interface type for QR code or auto provisioning.
Can be neither:
WEB_DOMAIN:PUBLIC_IPV4:PUBLIC_IPV6:PRIVATE_IPV4:PRIVATE_IPV6:SBC_DOMAIN:
Enable ai transcript or not.
The transport protocol:
Can be either:
UDP:TCP:TLS:
The RFC 3339 format is defined by The date_time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z
2017-07-21T17:32:28ZThe name of the file.
The file size in bytes.
0The relative path to file url for file downloading.
/api/blobs/WexWdABcd5D4PDgzTKV3gAAAEu00WcKNzAwNTUxOTA5NzczMTQ4MTYwThe account provider.
The account provider ID.
The synchronization method.
Is login to the app allowed.
Is it allowed to log in to the teams phone app.
The IANA Time Zone names, such as "Asia/Shanghai".
Enable selective call acceptations or not.
falseEnable selective call rejections or not.
falseError
GET /api/user HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "xxxxxx",
"name": "example",
"email": "example@example.com",
"display_name": "example",
"role": "StandardUser",
"role_id": "xxxxxx",
"role_name": "example",
"enabled": true,
"mobile_phone": "",
"work_phone": "",
"home_phone": "",
"address": "",
"department": "",
"extension_number": "101",
"enable_audio_recording": true,
"enable_video_recording": true,
"enable_dnd": true,
"enable_acb": true,
"enable_hot_desking": true,
"anonymous_outbound_calls": false,
"delivery_outbound_cid": false,
"sms": "DISABLE",
"outbound_caller_ids": [
{
"provider_id": "xxxxxx",
"caller_id": "1000",
"description": "example",
"display_name": "1000"
}
],
"custom_options": "",
"office_hours": {
"monday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"tuesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"wednesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"thursday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"friday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"saturday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"sunday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
}
},
"available_office_hours_forward_rule": {
"action": "HANGUP"
},
"available_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"available_no_answer_forward_rule": {
"action": "HANGUP"
},
"busy_office_hours_forward_rule": {
"action": "HANGUP"
},
"busy_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"busy_no_answer_forward_rule": {
"action": "HANGUP"
},
"dnd_office_hours_forward_rule": {
"action": "HANGUP"
},
"dnd_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"away_office_hours_forward_rule": {
"action": "HANGUP"
},
"away_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"lunch_office_hours_forward_rule": {
"action": "HANGUP"
},
"lunch_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"trip_office_hours_forward_rule": {
"action": "HANGUP"
},
"trip_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"offline_office_hours_forward_rule": {
"action": "HANGUP"
},
"offline_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"custom_forward_rules": [],
"selective_call_acceptations": [
{
"name": "example",
"caller": "100",
"condition": "ALL_HOURS",
"office_hours": {
"monday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"tuesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"wednesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"thursday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"friday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"saturday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"sunday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
}
},
"holidays": [
{
"name": "example",
"region": "",
"consecutive": false,
"every_year": true,
"year_start": 0,
"year_end": 0,
"month_start": 6,
"month_end": 6,
"day_start": 1,
"day_end": 1,
"hour_start": 0,
"hour_end": 23,
"minute_start": 0,
"minute_end": 59
}
]
}
],
"selective_call_rejections": [
{
"name": "example",
"caller": "100",
"condition": "ALL_HOURS",
"office_hours": {
"monday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"tuesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"wednesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"thursday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"friday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"saturday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"sunday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
}
},
"holidays": [
{
"name": "example",
"region": "",
"consecutive": false,
"every_year": true,
"year_start": 0,
"year_end": 0,
"month_start": 6,
"month_end": 6,
"day_start": 1,
"day_end": 1,
"hour_start": 0,
"hour_end": 23,
"minute_start": 0,
"minute_end": 59
}
]
}
],
"voicemail_prompt": "",
"enable_voicemail_pin": true,
"voicemail_pin": "",
"enable_voicemail_notify": true,
"voicemail_play_datetime": "DISABLE",
"interface": "WEB_DOMAIN",
"preferred_transport": "UDP",
"blfs": [],
"created_at": "2020-01-01T00:00:00Z",
"avatar_file_name": "example",
"avatar_file_size": 100,
"avatar_file_url": "",
"transports": [
{
"protocol": "UDP",
"port": 1000,
"verification": "OPTIONAL"
}
],
"profile": "",
"provider": "",
"provider_id": "xxxxxx",
"sync_type": "",
"enable_uc_app": true,
"enable_teams_phone_app": true,
"timezone": "Asia/Shanghai",
"enable_selective_call_acceptation": false,
"enable_selective_call_rejection": false
}Update current user properties.
The email address.
example@example.comThe display name of user.
The mobile phone number of user.
The office phone number of user.
The home phone number of user.
The address.
The department of user.
Records all calls and saves audio recordings on server.
falseRecords all calls and saves video recordings on server.
falseEnable Do Not Disturb or not.
Enable Automatic Callback or not.
Enable hot desking feature or not.
falseAlways make outbound anonymous calls or not.
falseAlways delivery outbound caller ID or not.
trueThe preferred configuration for SMS/MMS.
Note: Only users with UserManagement::Users privilege can change this property.
DISABLE: Disable user SMS/MMS feature.ALLOW: Enable user SMS/MMS feature but with outbound caller ID.ALLOW_WITH_SENDER_ID: Enable user SMS/MMS but with trunk sender ID.
DISABLEPossible values: Some custom configuration options serialized as json string
BCP 47 Language Tags (The Internet Best Current Practices (BCP) for language tags). A language tag is composed of a sequence of one or more subtags such as language, region, variant and script subtags. When a language tag is comprised of more than one subtag, the subtag values are separated by the "-" character. You will most commonly find language tags written with 2 subtags - language and region. For example: en-US.
en-USWhether the PIN is required to access voice mail of extension.
trueThe PIN number for accessing.
Enable voicemail to email notify.
falseAnnounces Date and Time of Message.
DISABLE: Do not read;12_HOUR_CLOCK: Read in 12-hour clock;24_HOUR_CLOCK: Read in 24-hour clock.
The interface type for QR code or auto provisioning.
Can be neither:
WEB_DOMAIN:PUBLIC_IPV4:PUBLIC_IPV6:PRIVATE_IPV4:PRIVATE_IPV6:SBC_DOMAIN:
The transport protocol:
Can be either:
UDP:TCP:TLS:
Enable ai transcript or not.
Enable user-agent of app or not.
Enable enable teams phone app or not.
NzAwNTUxOTA5NzczMTQ4MTYwThe IANA Time Zone names, such as "Asia/Shanghai".
Enable selective call acceptations or not.
falseEnable selective call rejections or not.
falseOK
No content
Error
POST /api/user HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 3408
{
"email": "example@example.com",
"display_name": "example",
"mobile_phone": "",
"work_phone": "",
"home_phone": "",
"address": "",
"department": "",
"enable_audio_recording": true,
"enable_video_recording": true,
"enable_dnd": true,
"enable_acb": true,
"enable_hot_desking": true,
"anonymous_outbound_calls": false,
"delivery_outbound_cid": false,
"sms": "DISABLE",
"outbound_caller_ids": [
{
"provider_id": "xxxxxx",
"caller_id": "1000",
"description": "example",
"display_name": "1000"
}
],
"custom_options": "",
"office_hours": {
"monday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"tuesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"wednesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"thursday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"friday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"saturday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"sunday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
}
},
"available_office_hours_forward_rule": {
"action": "HANGUP"
},
"available_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"available_no_answer_forward_rule": {
"action": "HANGUP"
},
"busy_office_hours_forward_rule": {
"action": "HANGUP"
},
"busy_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"busy_no_answer_forward_rule": {
"action": "HANGUP"
},
"dnd_office_hours_forward_rule": {
"action": "HANGUP"
},
"dnd_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"away_office_hours_forward_rule": {
"action": "HANGUP"
},
"away_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"lunch_office_hours_forward_rule": {
"action": "HANGUP"
},
"lunch_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"trip_office_hours_forward_rule": {
"action": "HANGUP"
},
"trip_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"offline_office_hours_forward_rule": {
"action": "HANGUP"
},
"offline_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"custom_forward_rules": [],
"selective_call_acceptations": [
{
"name": "example",
"caller": "100",
"condition": "ALL_HOURS",
"office_hours": {
"monday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"tuesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"wednesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"thursday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"friday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"saturday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"sunday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
}
},
"holidays": []
}
],
"selective_call_rejections": [
{
"name": "example",
"caller": "100",
"condition": "ALL_HOURS",
"office_hours": {
"monday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"tuesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"wednesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"thursday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"friday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"saturday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"sunday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
}
},
"holidays": []
}
],
"voicemail_prompt": "",
"enable_voicemail_pin": true,
"voicemail_pin": "",
"enable_voicemail_notify": true,
"voicemail_play_datetime": "DISABLE",
"interface": "WEB_DOMAIN",
"preferred_transport": "UDP",
"blfs": [],
"avatar_file_id": "xxxxxx",
"timezone": "Asia/Shangai",
"enable_selective_call_acceptation": false,
"enable_selective_call_rejection": false
}No content
Reset current user password.
The password of user.
The password of user.
OK
No content
Error
POST /api/user/password HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 49
{
"old_password": "xxxxxx",
"new_password": "xxxxxx"
}No content
Reset current user extension password.
The extension password.
The extension password.
OK
No content
Error
POST /api/user/extension_password HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 49
{
"old_password": "xxxxxx",
"new_password": "xxxxxx"
}No content
Reset current user profile.
OK
No content
Error
POST /api/user/profile HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Get status of current user.
OK
Status of extension:
ONLINEOFFLINEONCALL
The current presence of extension:
DO_NOT_DISTURB:AWAY:BUSINESS_TRIP:LUNCH:OFFLINEONLINE
The presence note.
Do Not Disturb enabled or not.
Automatic Callback enabled or not.
Error
GET /api/user/status HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"status": "ONLINE",
"presence": "ONLINE",
"presence_note": "",
"registration": [],
"enable_dnd": true,
"enable_acb": true
}Set current extension user presence.
The specified presence of the extension.
ONLINELUNCHBUSINESS_TRIPDO_NOT_DISTURBAWAY
The presence note.
OK
No content
Error
POST /api/user/presence HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 40
{
"presence": "ONLINE",
"presence_note": ""
}No content
Retrieve current user's balance.
OK
User balance. Precision is five digits.
Error
GET /api/user/balance HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"balance": 100
}Retrieves a collection of greetings for current user.
OK
Error
GET /api/user/greetings HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "xxxxxx",
"enabled": true,
"file_name": "example",
"file_size": 100,
"file_url": ""
}
]
}Create voicemail greeting for current user.
NzAwNTUxOTA5NzczMTQ4MTYwOK
NzAwNTUxOTA5NzczMTQ4MTYwError
POST /api/user/greetings HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 35
{
"file_id": "xxxxxxxxxxxxxxxxxxxxx"
}{
"id": "xxxxxxxx"
}Set one of current user's greetings to activated state.
NzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Invalid extension number supplied
User not found
POST /api/user/greetings/{id}/enable HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Disable current user voicemail greeting by it's unique ID.
NzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Invalid extension number supplied
User not found
POST /api/user/greetings/{id}/disable HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Destroy a voicemail greeting from user.
NzAwNTUxOTA5NzczMTQ4MTYwNo Content
No content
Error
POST /api/user/greetings/{id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Retrieve a collection of IP Phones for current user.
OK
Error
GET /api/user/phones HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "xxxxxx",
"mac": "00:1A:2B:3C:4D:5E",
"filename": "example",
"vendor": "",
"model": "",
"fwver": "",
"password": "",
"language": "en-US",
"transfer": "BLIND",
"timezone": "",
"ringtone": "",
"queue_ringtone": "",
"external_ringtone": "",
"date_format": "",
"time_format": "",
"powerled": "",
"backlight": "",
"screensaver": "",
"rps": false,
"https": false,
"codecs": [
"PCMU",
"PCMA",
"G729",
"G722"
],
"enable_lldp": false,
"enable_vlan_wan_port": false,
"wan_port_id": 1000,
"wan_port_priority": 1,
"enable_vlan_pc_port": false,
"pc_port_id": 1000,
"pc_port_priority": 1,
"interface": "WEB_DOMAIN",
"preferred_transport": "UDP",
"serial_number": "",
"door_password1": "xxxxxx",
"door_password2": "xxxxxx",
"url": "https://example.com"
}
]
}Assign a phone to current user.
MAC address.
Template XML file name for phone provisioning.
The phone vendor of IP phone.
The name of IP phone model.
Password for accessing the Web interface of phone. The username remains default because most phone manufacturers do not allow modification of the user name. This is supported for some phone model, such as "Snom 300".
Language for strings displayed on Phone Display LCD.
The transfer method for auto provision.
Can be either:
BLIND: After the IP phone is configured with the BLF of a certain key, during a call on the IP phone, press the key, and the phone will directly initiate a Blind transfer to the configured number.ATTENDED: After the IP phone is configured with the BLF of a key, during a call on the IP phone, press the key, and the phone will directly initiate an Attended transfer to the configured number.NEW_CALL: After the IP phone is configured with the BLF of a certain key, during a call on the IP phone, press the key, and the phone will initiate a new call to the configured number.
BLINDPossible values: The timezone of phone.
The ringtone of phone.
The queue ringtone of phone for queue calls or ring group calls.
The ringtone of phone for external calls.
The date format of phone.
The time format of phone.
The power led of phone.
The backlight of phone.
The screensaver of phone.
Send to RPS or not.
Whether to use https
The list of currently enabled codec formats.
Enable or disable Link Layer Discovery Protocol.
falseEnable or disable VLAN for WAN Port.
falseVLAN ID for WAN PORT.
VLAN priority for WAN Port.
Enable or disable VLAN for PC Port.
falseVLAN ID for PC PORT.
VLAN priority for PC Port.
The interface type for QR code or auto provisioning.
Can be neither:
WEB_DOMAIN:PUBLIC_IPV4:PUBLIC_IPV6:PRIVATE_IPV4:PRIVATE_IPV6:SBC_DOMAIN:
The transport protocol:
Can be either:
UDP:TCP:TLS:
The serial number of phone.
The primary door password of phone. Only numeric sequences are allowed.
The secondary door password of phone. Only numeric sequences are allowed.
Success
NzAwNTUxOTA5NzczMTQ4MTYwError
POST /api/user/phones HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 629
{
"mac": "00:1A:2B:3C:4D:5E",
"filename": "example",
"vendor": "",
"model": "",
"password": "xxxxxx",
"language": "en-US",
"transfer": "BLIND",
"timezone": "",
"ringtone": "",
"queue_ringtone": "",
"external_ringtone": "",
"date_format": "",
"time_format": "",
"powerled": "",
"backlight": "",
"screensaver": "",
"rps": false,
"https": false,
"codecs": [
"PCMU",
"PCMA",
"G729",
"G722"
],
"enable_lldp": true,
"enable_vlan_wan_port": true,
"wan_port_id": 1000,
"wan_port_priority": 1,
"enable_vlan_pc_port": true,
"pc_port_id": 1000,
"pc_port_priority": 1,
"interface": "WEB_DOMAIN",
"preferred_transport": "UDP",
"serial_number": "000000",
"door_password1": "xxxxxx",
"door_password2": "xxxxxx"
}{
"id": "xxxxxxxx"
}Retrieve phone details of current user.
NzAwNTUxOTA5NzczMTQ4MTYwOK
NzAwNTUxOTA5NzczMTQ4MTYwMAC address.
Template XML file name for phone provisioning.
The phone vendor of IP phone.
The name of IP phone model.
Password for accessing the Web interface of phone. The username remains default because most phone manufacturers do not allow modification of the user name. This is supported for some phone model, such as "Snom 300".
Language for strings displayed on Phone Display LCD.
The transfer method for auto provision.
Can be either:
BLIND: After the IP phone is configured with the BLF of a certain key, during a call on the IP phone, press the key, and the phone will directly initiate a Blind transfer to the configured number.ATTENDED: After the IP phone is configured with the BLF of a key, during a call on the IP phone, press the key, and the phone will directly initiate an Attended transfer to the configured number.NEW_CALL: After the IP phone is configured with the BLF of a certain key, during a call on the IP phone, press the key, and the phone will initiate a new call to the configured number.
BLINDPossible values: The timezone of phone.
The ringtone of phone.
The queue ringtone of phone for queue calls or ring group calls.
The ringtone of phone for external calls.
The date format of phone.
The time format of phone.
The power led of phone.
The backlight of phone.
The screensaver of phone.
Send to RPS or not.
Whether to use https
The list of currently enabled codec formats.
Enable or disable Link Layer Discovery Protocol.
falseEnable or disable VLAN for WAN Port.
falseVLAN ID for WAN PORT.
VLAN priority for WAN Port.
Enable or disable VLAN for PC Port.
falseVLAN ID for PC PORT.
VLAN priority for PC Port.
The interface type for QR code or auto provisioning.
Can be neither:
WEB_DOMAIN:PUBLIC_IPV4:PUBLIC_IPV6:PRIVATE_IPV4:PRIVATE_IPV6:SBC_DOMAIN:
The transport protocol:
Can be either:
UDP:TCP:TLS:
The serial number of phone.
The primary door password of phone. Only numeric sequences are allowed.
The secondary door password of phone. Only numeric sequences are allowed.
Auto provision server URL.
Error
GET /api/user/phones/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "xxxxxx",
"mac": "00:1A:2B:3C:4D:5E",
"filename": "example",
"vendor": "",
"model": "",
"password": "xxxxxx",
"language": "en-US",
"transfer": "BLIND",
"timezone": "",
"ringtone": "",
"queue_ringtone": "",
"external_ringtone": "",
"date_format": "",
"time_format": "",
"powerled": "",
"backlight": "",
"screensaver": "",
"rps": false,
"https": false,
"codecs": [
"PCMU",
"PCMA",
"G729",
"G722"
],
"enable_lldp": true,
"enable_vlan_wan_port": true,
"wan_port_id": 1000,
"wan_port_priority": 1,
"enable_vlan_pc_port": true,
"pc_port_id": 1000,
"pc_port_priority": 1,
"interface": "WEB_DOMAIN",
"preferred_transport": "UDP",
"serial_number": "000000",
"door_password1": "xxxxxx",
"door_password2": "xxxxxx",
"url": "https://example.com"
}Update phone of current user by it's unique ID.
NzAwNTUxOTA5NzczMTQ4MTYwPassword for accessing the Web interface of phone. The username remains default because most phone manufacturers do not allow modification of the user name. This is supported for some phone model, such as "Snom 300".
Language for strings displayed on Phone Display LCD.
The transfer method for auto provision.
Can be either:
BLIND: After the IP phone is configured with the BLF of a certain key, during a call on the IP phone, press the key, and the phone will directly initiate a Blind transfer to the configured number.ATTENDED: After the IP phone is configured with the BLF of a key, during a call on the IP phone, press the key, and the phone will directly initiate an Attended transfer to the configured number.NEW_CALL: After the IP phone is configured with the BLF of a certain key, during a call on the IP phone, press the key, and the phone will initiate a new call to the configured number.
BLINDPossible values: The timezone of phone.
The ringtone of phone.
The queue ringtone of phone for queue calls or ring group calls.
The ringtone of phone for external calls.
The date format of phone.
The time format of phone.
The power led of phone.
The backlight of phone.
The screensaver of phone.
Send to RPS or not.
Whether to use https
The list of currently enabled codec formats.
Enable or disable Link Layer Discovery Protocol.
falseEnable or disable VLAN for WAN Port.
falseVLAN ID for WAN PORT.
VLAN priority for WAN Port.
Enable or disable VLAN for PC Port.
falseVLAN ID for PC PORT.
VLAN priority for PC Port.
The interface type for QR code or auto provisioning.
Can be neither:
WEB_DOMAIN:PUBLIC_IPV4:PUBLIC_IPV6:PRIVATE_IPV4:PRIVATE_IPV6:SBC_DOMAIN:
The transport protocol:
Can be either:
UDP:TCP:TLS:
The serial number of phone.
The primary door password of phone. Only numeric sequences are allowed.
The secondary door password of phone. Only numeric sequences are allowed.
OK
No content
Error
POST /api/user/phones/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 559
{
"password": "xxxxxx",
"language": "en-US",
"transfer": "BLIND",
"timezone": "",
"ringtone": "",
"queue_ringtone": "",
"external_ringtone": "",
"date_format": "",
"time_format": "",
"powerled": "",
"backlight": "",
"screensaver": "",
"rps": false,
"https": false,
"codecs": [
"PCMU",
"PCMA",
"G729",
"G722"
],
"enable_lldp": true,
"enable_vlan_wan_port": true,
"wan_port_id": 1000,
"wan_port_priority": 1,
"enable_vlan_pc_port": true,
"pc_port_id": 1000,
"pc_port_priority": 1,
"interface": "WEB_DOMAIN",
"preferred_transport": "UDP",
"serial_number": "000000",
"door_password1": "xxxxxx",
"door_password2": "xxxxxx"
}No content
Remove a phone profile from current user.
NzAwNTUxOTA5NzczMTQ4MTYwNo Content
No content
Error
POST /api/user/phones/{id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Retrieve a collection of user call detail records.
OK
Total number of resource.
100Error
GET /api/user/cdrs HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"count": 1,
"items": [
{
"id": "xxxxxx",
"caller": "101",
"caller_domain": "example.com",
"caller_display_name": "User 101",
"callee": "102",
"callee_domain": "example.com",
"callee_display_name": "User 102",
"started_at": "2020-01-01T00:00:00Z",
"rang_at": "2020-01-01T00:00:00Z",
"answered_at": "2020-01-01T00:00:00Z",
"ended_at": "2020-01-01T00:00:00Z",
"call_id": "",
"direction": "INBOUND_CALL",
"end_reason": "CALLER_DISCONNECTED",
"reroute_reason": "TRANSFER",
"status_code": 200,
"destination": "",
"outbound_caller_id": "123456",
"did_cid": "",
"trunk": "trunk",
"duration": 60,
"service_number": "",
"user_data": ""
}
]
}Retrieve user call detail record.
NzAwNTUxOTA5NzczMTQ4MTYwOK
Error
GET /api/user/cdrs/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"caller": "101",
"caller_domain": "example.com",
"caller_display_name": "User 101",
"callee": "102",
"callee_domain": "example.com",
"callee_display_name": "User 102",
"started_at": "2020-01-01T00:00:00Z",
"rang_at": "2020-01-01T00:00:00Z",
"answered_at": "2020-01-01T00:00:00Z",
"ended_at": "2020-01-01T00:00:00Z",
"call_id": "",
"direction": "INBOUND_CALL",
"end_reason": "CALLER_DISCONNECTED",
"reroute_reason": "TRANSFER",
"status_code": 200,
"destination": "",
"outbound_caller_id": "123456",
"did_cid": "",
"trunk": "trunk",
"cost": 1,
"billed_account": "",
"service_number": "",
"user_data": ""
}
]
}The start time sync token in RFC 3339 format, for example, 2017-07-21T17:32:28Z.
The RFC 3339 format is defined by RFC 3339, section 5.6
2017-07-21T17:32:28ZCreated
The sync token.
Clients should treat the sync token as an opaque string and should never try to assemble it.
This document imposes no constraints on the format and clients should never impose any.
RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.Error
POST /api/user/cdrs/sync_tokens HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"token": "xxxxxxxxxxxxx"
}List personal cdr changes.
The sync token.
Clients should treat the sync token as an opaque string and should never try to assemble it.
This document imposes no constraints on the format and clients should never impose any.
RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.OK
The sync token.
Clients should treat the sync token as an opaque string and should never try to assemble it.
This document imposes no constraints on the format and clients should never impose any.
RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.Error
POST /api/user/cdrs/sync_tokens/{token}/diff HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"token": "xxxxxxxxxxxxxxxx",
"items": [
{
"id": "xxxxxx",
"change_type": "UPDATED",
"items": [
{
"caller": "101",
"callee": "102",
"started_at": "2020-01-01T00:00:00Z",
"answered_at": "2020-01-01T00:00:00Z",
"ended_at": "2020-01-01T00:00:00Z",
"outbound_caller_id": "123456",
"did_cid": "",
"trunk": "trunk",
"status_code": 200
}
]
}
]
}Retrieve a collection of user external messages.
OK
Total number of resource.
100Error
GET /api/user/external_messages HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"count": 1,
"items": [
{
"id": "xxxxxx",
"config_id": "",
"sender": "",
"sender_name": "example",
"receiver": "",
"receiver_name": "example",
"channel_name": "example",
"channel_number": "",
"brand": "Generic",
"did": "",
"msg_type": "SMS",
"direction": "IN",
"content": "",
"reason": "",
"delivery": "SENT",
"provider_msg_id": "",
"created_at": "2020-01-01T00:00:00Z"
}
]
}Retrieve user external message.
NzAwNTUxOTA5NzczMTQ4MTYwOK
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwThe sender number of the message.
The sender name of the message.
The receiver number of the message.
The receiver name of the message.
The channel name of the message.
The channel number of the message.
The brand of the message.
The did of the message.
The type of message:
Can be either:
UNKNOWN:SMS:WHATSAPP:
The direction of message:
IN:OUT:
The content of the message.
The reason of the message.
The delivery status of message:
Can be either:
ERR:SENT:RECV:DELIVERED:
The provider message ID of the message.
The RFC 3339 format is defined by The date_time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z
2017-07-21T17:32:28ZError
GET /api/user/external_messages/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "xxxxxx",
"config_id": "",
"sender": "",
"sender_name": "example",
"receiver": "",
"receiver_name": "example",
"channel_name": "example",
"channel_number": "000000",
"brand": "Generic",
"did": "",
"msg_type": "SMS",
"direction": "IN",
"content": "",
"reason": "",
"delivery": "SENT",
"provider_msg_id": "",
"created_at": "2020-01-01T00:00:00Z"
}Retrieve a collection of user call recordings.
Use the filter query parameter to retrieve just a subset of a collection.
Use the search query parameter to restrict the results of a request to match a search criterion.
Use the orderby query parameter to specify the sort order of the items returned from server.
The default order is ascending order.
Use the skip query parameter to set the number of items to skip at the start of a collection.
0Use the top query parameter to specify the page size of the result set.
100OK
Total number of resource.
100Error
GET /api/user/recordings HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"count": 1,
"items": [
{
"id": "xxxxxx",
"caller": "101",
"callee": "102",
"started_at": "2020-01-01T00:00:00Z",
"ended_at": "2020-01-01T00:00:00Z"
}
]
}Get details of an user call recording.
NzAwNTUxOTA5NzczMTQ4MTYwOK
Error
GET /api/user/recordings/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "1017775853607587840",
"caller": "0001",
"callee": "777",
"started_at": "2025-09-09T12:37:56.263Z",
"ended_at": "2025-09-09T12:38:17.573Z",
"duration": 21,
"file_name": "1017756506826735616_1017775853607587840_0001_777_09092025_203756.wav",
"file_size": 341196,
"file_url": "/api/blobs/iMXGGAns8sMlxoPcLMtmxwAAQD3X3R8O",
"status": "TRANSCRIPTION_RUNNING",
"status_description": "good goodgood",
"sentiment": "SENTIMENT_NEUTRAL"
},
{
"id": "1017775853607587841",
"caller": "0001",
"callee": "777",
"started_at": "2025-09-08T12:37:56.263Z",
"ended_at": "2025-09-08T12:38:17.573Z",
"duration": 21,
"file_name": "1017756506826735616_1017775853607587840_0001_777_09092025_203756.wav",
"file_size": 3411886,
"file_url": "/api/blobs/iMXGGAns8sMlxoPcLMtmxwAAQD3X3R8O",
"status": "TRANSCRIPTION_RUNNING",
"status_description": "good good good",
"sentiment": "SENTIMENT_NEUTRAL"
}
]
}Delete an user call recording
NzAwNTUxOTA5NzczMTQ4MTYwNo Content
No content
Error
POST /api/user/recordings/{id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Creates an AI transcription record.
The source is identified by the res_id and item_type provided in the request body.
This endpoint can be called multiple times. If a previous transcription attempt has failed (status indicates failure),
calling this endpoint again will retry the transcription process.
The response may contain multiple IDs because a single call can include multiple recording files.
ID from a /voicemails or /recordings item used to create the transcription.
Type of the source item. Allowed values are CALL_RECORD_ITEM or VOICE_MAIL_ITEM.
Successfully created
List of created transcription IDs.
Invalid parameters
Internal server error
POST /api/user/transcription HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 63
{
"res_id": "1017757975109963776",
"item_type": "CALL_RECORD_ITEM"
}{
"ids": [
1017758181150949400
]
}Retrieve all AI transcription records associated with a specific resource ID (id).
The id comes from the id field of an item in either the /recordings or /voicemails list.
A single resource may have multiple transcription or analysis results, so the response is returned as an array of transcription detail objects.
Only records belonging to the current user are included in the response.
The resource ID from /recordings or /voicemails to retrieve transcription records for.
Transcription details retrieved successfully
The unique ID of the transcription record.
The item ID of the original recording.
NzAwNTUxOTA5NzczMTQ4MTYwThe file ID associated with the transcription.
The relative path to file url for file downloading.
/api/blobs/WexWdABcd5D4PDgzTKV3gAAAEu00WcKType of the source item. Allowed values are CALL_RECORD_ITEM or VOICE_MAIL_ITEM.
The caller number of the call.
The callee number of the call.
The unique ID of the transcription.
The unique ID of the analysis result.
AI transcription status.
- TranscriptionNotStarted
- TranscriptionQuotaLimited
- TranscriptionRunning
- TranscriptionFailed
- TranscriptionSucceeded
- AnalyzeRunning
- AnalyzeFailed
- AnalyzeSucceeded
- TranscriptionUploadFailed
- TranscriptionOtherFailed
AI transcription status description.
Display version of the AI transcription in JSON format.
AI-generated summary of the transcription.
AI transcription sentiment.
SENTIMENT_POSITIVE: positiveSENTIMENT_NEUTRAL: neutralSENTIMENT_NEGATIVE: negative
Time at which the transcription record was created.
Transcription not found
GET /api/user/transcription/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"id": "1015828562055266304",
"item_id": "1015826629533896704",
"file_id": "1015826629588418560",
"session_id": "1015826576371093504",
"type": "CALL_RECORD_ITEM",
"transcription_id": "c40f915e-1fd0-4488-9afa-ad82c456449e",
"analyze_id": "4968fe37-490f-4e03-b337-562ea5c02e5d",
"status": "ANALYZE_SUCCEEDED",
"status_description": "",
"transcription_display": "{\n \"transcript\": \"Welcome to the voicemail service. Please enter your password then press #.\",\n \"audio_segments\": [\n {\n \"transcript\": \"Welcome to the voicemail service.\",\n \"start_time\": 0.52,\n \"end_time\": 2.44,\n \"speaker\": \"spk_0\"\n },\n {\n \"transcript\": \"Please enter your password then press #.\",\n \"start_time\": 3.16,\n \"end_time\": 5.56,\n \"speaker\": \"spk_0\"\n }\n ]\n}\n",
"intelligent_summary": "{\n \"analyze\": [\n \"Welcome to the voicemail service.\",\n \"Please enter your password then press #.\"\n ]\n}\n",
"sentiment": "SENTIMENT_POSITIVE",
"created_at": "2020-01-01T00:00:00Z",
"caller": "0001",
"callee": "777",
"file_url": "/api/blobs/R1AW1C0XTpzJ5Bdh1jz4mQAAAALw8BgO"
}
]Update transcription information for a specific transcription record.
The id parameter refers to the primary key of the transcription.
The primary key ID of the transcription record to update.
Transcription display content (JSON string).
Intelligent summary content.
AI transcription sentiment.
SENTIMENT_POSITIVE: positiveSENTIMENT_NEUTRAL: neutralSENTIMENT_NEGATIVE: negative
Transcription updated successfully
No content
POST /api/user/transcription/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1096
{
"transcription_display": "{\n \"transcript\": \"Thanks for calling. If you know the extension of the person you would like to reach, you may dial it at anytime.\",\n \"audio_segments\": [\n {\n \"transcript\": \"Thanks for calling.\",\n \"start_time\": 0.04,\n \"end_time\": 1.04,\n \"speaker\": \"spk_0\"\n },\n {\n \"transcript\": \"If you know the extension of the person you would like to reach, you may dial it at anytime.\",\n \"start_time\": 1.24,\n \"end_time\": 5.48,\n \"speaker\": \"spk_0\"\n }\n ]\n}\n",
"intelligent_summary": "AnalyzeText Result : - {\"transcript\":\"Thanks for calling. - If you know the extension of the person you would like to reach, you may dial it at anytime.\", \"audio_segments\":[\n {\"transcript\":\"Thanks for calling.\",\"start_time\":0.04,\"end_time\":1.04,\"speaker\":\"spk_0\"},\n {\"transcript\":\"If you know the extension of the person you would like to reach, you may dial it at anytime.\",\"start_time\":1.24,\"end_time\":5.48,\"speaker\":\"spk_0\"}\n]}\n",
"sentiment": "SENTIMENT_POSITIVE"
}Transcription updated successfully
No content
List speed dial 8.
OK
Error
GET /api/user/speed_dial_8 HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "xxxxxx",
"code": "1",
"phone_number": "",
"description": ""
}
]
}Create new speed dial 8.
The speed dial 8 dialing code.
Available code range from 2 to 9.
The phone number that you want to call.
The description of speed dial.
Created
NzAwNTUxOTA5NzczMTQ4MTYwError
POST /api/user/speed_dial_8 HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 53
{
"code": "1",
"phone_number": "000000",
"description": ""
}{
"id": "xxxxxxxx"
}Retrieve details of speed dial 8 by it's ID.
NzAwNTUxOTA5NzczMTQ4MTYwOK
NzAwNTUxOTA5NzczMTQ4MTYwThe speed dial 8 dialing code.
Available code range from 2 to 9.
The phone number that you want to call.
The description of speed dial.
Error
GET /api/user/speed_dial_8/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "xxxxxx",
"code": "1",
"phone_number": "000000",
"description": ""
}Update speed dial 8.
NzAwNTUxOTA5NzczMTQ4MTYwThe speed dial 8 dialing code.
Available code range from 2 to 9.
The phone number that you want to call.
The description of speed dial.
OK
No content
Error
POST /api/user/speed_dial_8/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 53
{
"code": "1",
"phone_number": "000000",
"description": ""
}No content
Remove speed dial 8 by ID.
NzAwNTUxOTA5NzczMTQ4MTYwNo Content
No content
Error
POST /api/user/speed_dial_8/{id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
List speed dial 100.
OK
Error
GET /api/user/speed_dial_100 HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "xxxxxx",
"code": "01",
"phone_number": "",
"description": ""
}
]
}Create new speed dial 100.
The speed dial 100 dialing code.
Available code range from 00 to 99.
The phone number that you want to call.
The description of speed dial.
Created
NzAwNTUxOTA5NzczMTQ4MTYwError
POST /api/user/speed_dial_100 HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 54
{
"code": "01",
"phone_number": "000000",
"description": ""
}{
"id": "xxxxxxxx"
}Retrieve details of speed dial 100 by it's ID.
NzAwNTUxOTA5NzczMTQ4MTYwOK
NzAwNTUxOTA5NzczMTQ4MTYwThe speed dial 100 dialing code.
Available code range from 00 to 99.
The phone number that you want to call.
The description of speed dial.
Error
GET /api/user/speed_dial_100/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "xxxxxx",
"code": "01",
"phone_number": "000000",
"description": ""
}Update speed dial 100.
NzAwNTUxOTA5NzczMTQ4MTYwThe speed dial 100 dialing code.
Available code range from 00 to 99.
The phone number that you want to call.
The description of speed dial.
OK
No content
Error
POST /api/user/speed_dial_100/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 54
{
"code": "01",
"phone_number": "000000",
"description": ""
}No content
Remove speed dial 100 by ID.
NzAwNTUxOTA5NzczMTQ4MTYwNo Content
No content
Error
POST /api/user/speed_dial_100/{id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Retrieve a collection of meetings.
Use the filter query parameter to retrieve just a subset of a collection.
Use the search query parameter to restrict the results of a request to match a search criterion.
Use the orderby query parameter to specify the sort order of the items returned from server.
The default order is ascending order.
Use the skip query parameter to set the number of items to skip at the start of a collection.
0Use the top query parameter to specify the page size of the result set.
100OK
Total number of resource.
100Error
GET /api/user/meetings HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"count": 1,
"items": [
{
"id": "xxxxxx",
"extension_number": "101",
"mode": "AUDIO",
"control": "FREE",
"height": 720,
"width": 1280,
"bitrate": 1024,
"framerate": 15,
"layout": "LAYOUT0",
"subject": "example",
"language": "en-US",
"capacity": 9,
"admin_pin": "13579",
"room_pin": "13579",
"enable_recording": false,
"enable_prompt": false,
"timezone": "",
"created_at": "2020-01-01T00:00:00Z",
"scheduled_start_at": "",
"scheduled_end_at": "",
"internal_invitees": [
"101",
"102"
],
"external_invitees": "",
"close_on_nobody": false,
"outbound_caller_ids": [
{
"provider_id": "xxxxxx",
"caller_id": "1000",
"description": "example",
"display_name": "1000"
}
],
"ownership": false,
"custom_options": ""
}
]
}Create a meeting.
The conference room mode.
Can be either:
AUDIO: audio conference room.VIDEO: video conference room.
The conference control type.
Can be either:
FREE: the free mode.MASTER: the master mode.
FREEPossible values: The height for video conference room.
Only valid in VIDEO mode.
720The width for video conference room.
Only valid in VIDEO mode.
1280The transmission rate for video conference room.
Only valid in VIDEO mode.
1024The framerate for video conference room.
Only valid in VIDEO mode.
15The number of grids allowed for video conference room.
Only valid in VIDEO mode.
Can be either:
- LAYOUT0:
- LAYOUT1:
- LAYOUT2:
- LAYOUT3:
- LAYOUT4:
- LAYOUT6:
- LAYOUT9:
LAYOUT0Possible values: The subject of conference room.
BCP 47 Language Tags (The Internet Best Current Practices (BCP) for language tags). A language tag is composed of a sequence of one or more subtags such as language, region, variant and script subtags. When a language tag is comprised of more than one subtag, the subtag values are separated by the "-" character. You will most commonly find language tags written with 2 subtags - language and region. For example: en-US.
en-USThe PIN for admin of the conference room. Only numeric sequences are allowed.
The PIN for the conference room. Only numeric sequences are allowed.
Whether to enable recording when created.
falseWhether to enable voice menu.
trueThe IANA Time Zone names, such as "Asia/Shanghai".
The RFC 3339 format is defined by The date_time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z
2017-07-21T17:32:28ZThe RFC 3339 format is defined by The date_time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z
2017-07-21T17:32:28ZThe unique ID of user.
NzAwNTUxOTA5NzczMTQ4MTYwThe invitees to send invitation emails to.
Whether to close the meeting if the nobody in.
falseSome custom configuration options serialized as json string
Created
NzAwNTUxOTA5NzczMTQ4MTYwThe extension number.
[0-9]{3,64}Error
POST /api/user/meetings HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 506
{
"mode": "AUDIO",
"control": "FREE",
"height": 720,
"width": 1280,
"bitrate": 1024,
"framerate": 15,
"layout": "LAYOUT0",
"subject": "example",
"language": "en-US",
"admin_pin": "13579",
"room_pin": "13579",
"enable_recording": true,
"enable_prompt": true,
"timezone": "",
"scheduled_start_at": "",
"scheduled_end_at": "",
"internal_invitees": [
"101",
"102"
],
"external_invitees": "",
"close_on_nobody": false,
"outbound_caller_ids": [
{
"provider_id": "xxxxxx",
"caller_id": "1000",
"description": "example",
"display_name": "1000"
}
],
"custom_options": ""
}{
"id": "xxxxxx",
"extension_number": "101"
}Retrieve a meeting.
NzAwNTUxOTA5NzczMTQ4MTYwOK
NzAwNTUxOTA5NzczMTQ4MTYwThe extension number.
[0-9]{3,64}The conference room mode.
Can be either:
AUDIO: audio conference room.VIDEO: video conference room.
The conference control type.
Can be either:
FREE: the free mode.MASTER: the master mode.
FREEPossible values: The height for video conference room.
Only valid in VIDEO mode.
720The width for video conference room.
Only valid in VIDEO mode.
1280The transmission rate for video conference room.
Only valid in VIDEO mode.
1024The framerate for video conference room.
Only valid in VIDEO mode.
15The number of grids allowed for video conference room.
Only valid in VIDEO mode.
Can be either:
- LAYOUT0:
- LAYOUT1:
- LAYOUT2:
- LAYOUT3:
- LAYOUT4:
- LAYOUT6:
- LAYOUT9:
LAYOUT0Possible values: The subject of conference room.
BCP 47 Language Tags (The Internet Best Current Practices (BCP) for language tags). A language tag is composed of a sequence of one or more subtags such as language, region, variant and script subtags. When a language tag is comprised of more than one subtag, the subtag values are separated by the "-" character. You will most commonly find language tags written with 2 subtags - language and region. For example: en-US.
en-USThe maximum number of participants allowed in the room.
9The PIN for admin of the conference room. Only numeric sequences are allowed.
The PIN for the conference room. Only numeric sequences are allowed.
Whether to enable recording when created.
falseWhether to enable voice menu.
trueThe IANA Time Zone names, such as "Asia/Shanghai".
The RFC 3339 format is defined by The date_time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z
2017-07-21T17:32:28ZThe RFC 3339 format is defined by The date_time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z
2017-07-21T17:32:28ZThe RFC 3339 format is defined by The date_time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z
2017-07-21T17:32:28ZThe unique ID of user.
NzAwNTUxOTA5NzczMTQ4MTYwThe invitees to send invitation emails to.
Whether to close the meeting if the nobody in.
falseThe SIP domain of tenant.
It is usually a fully qualified domain name (FQDN).
If there is no FQDN, you can also use the IP address of the PBX server as the SIP domain.
The SIP domain name is only used for SIP message authentication and does not require analysis.
The SBC domain.
A port number is a 16-bit unsigned integer, thus ranging from 0 to 65535. For TCP, port number 0 is reserved and cannot be used, while for UDP, the source port is optional and a value of zero means no port
80Access token to be passed as a header
4DFCF1D4C30B4D798ECE3AE43769F008.Whether the user has ownership of the meeting.
Some custom configuration options serialized as json string
Error
GET /api/user/meetings/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "xxxxxx",
"extension_number": "101",
"mode": "AUDIO",
"control": "FREE",
"height": 720,
"width": 1280,
"bitrate": 1024,
"framerate": 15,
"layout": "LAYOUT0",
"subject": "example",
"language": "en-US",
"capacity": 9,
"admin_pin": "13579",
"room_pin": "13579",
"enable_recording": true,
"enable_prompt": true,
"timezone": "",
"created_at": "2020-01-01T00:00:00Z",
"scheduled_start_at": "",
"scheduled_end_at": "",
"internal_invitees": [
"101",
"102"
],
"external_invitees": "",
"close_on_nobody": false,
"domain": "example.com",
"sbc_host": "",
"sbc_port": 443,
"token": "",
"outbound_caller_ids": [
{
"provider_id": "xxxxxx",
"caller_id": "1000",
"description": "example",
"display_name": "1000"
}
],
"ownership": false,
"custom_options": ""
}Update a meeting
NzAwNTUxOTA5NzczMTQ4MTYwThe conference control type.
Can be either:
FREE: the free mode.MASTER: the master mode.
FREEPossible values: The height for video conference room.
Only valid in VIDEO mode.
720The width for video conference room.
Only valid in VIDEO mode.
1280The transmission rate for video conference room.
Only valid in VIDEO mode.
1024The framerate for video conference room.
Only valid in VIDEO mode.
15The number of grids allowed for video conference room.
Only valid in VIDEO mode.
Can be either:
- LAYOUT0:
- LAYOUT1:
- LAYOUT2:
- LAYOUT3:
- LAYOUT4:
- LAYOUT6:
- LAYOUT9:
LAYOUT0Possible values: The subject of conference room.
BCP 47 Language Tags (The Internet Best Current Practices (BCP) for language tags). A language tag is composed of a sequence of one or more subtags such as language, region, variant and script subtags. When a language tag is comprised of more than one subtag, the subtag values are separated by the "-" character. You will most commonly find language tags written with 2 subtags - language and region. For example: en-US.
en-USThe maximum number of participants allowed in the room.
9The PIN for admin of the conference room. Only numeric sequences are allowed.
The PIN for the conference room. Only numeric sequences are allowed.
Whether to enable recording when created.
falseWhether to enable voice menu.
trueThe IANA Time Zone names, such as "Asia/Shanghai".
The RFC 3339 format is defined by The date_time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z
2017-07-21T17:32:28ZThe RFC 3339 format is defined by The date_time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z
2017-07-21T17:32:28ZThe unique ID of user.
NzAwNTUxOTA5NzczMTQ4MTYwThe invitees to send invitation emails to.
Whether to close the meeting if the nobody in.
falseSome custom configuration options serialized as json string
OK
No content
Error
POST /api/user/meetings/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 504
{
"control": "FREE",
"height": 720,
"width": 1280,
"bitrate": 1024,
"framerate": 15,
"layout": "LAYOUT0",
"subject": "example",
"language": "en-US",
"capacity": 9,
"admin_pin": "13579",
"room_pin": "13579",
"enable_recording": true,
"enable_prompt": true,
"timezone": "",
"scheduled_start_at": "",
"scheduled_end_at": "",
"internal_invitees": [
"101",
"102"
],
"external_invitees": "",
"close_on_nobody": false,
"outbound_caller_ids": [
{
"provider_id": "xxxxxx",
"caller_id": "1000",
"description": "example",
"display_name": "1000"
}
],
"custom_options": ""
}No content
Destroy a conference room
NzAwNTUxOTA5NzczMTQ4MTYwNo Content
No content
Invalid username supplied
Not found
POST /api/user/meetings/{id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Retrieve meeting status.
NzAwNTUxOTA5NzczMTQ4MTYwOK
The conference room status. Can be either:
ONLINE:OFFLINE:ON_CALL:
Whether the conference room was locked.
Whether the conference room was muted.
Whether the conference room is recording.
Error
GET /api/user/meetings/{id}/status HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"status": "ONLINE",
"locked": false,
"muted": false,
"recording": false
}Mute meeting.
NzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
POST /api/user/meetings/{id}/mute HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Unmute meeting by it's unique ID.
NzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
POST /api/user/meetings/{id}/unmute HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Lock meeting by it's unique ID.
NzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
POST /api/user/meetings/{id}/lock HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Unlock meeting by it's unique ID.
NzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
POST /api/user/meetings/{id}/unlock HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Start meeting by it's unique ID.
NzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
POST /api/user/meetings/{id}/start HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Stop meeting by it's unique ID.
NzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
POST /api/user/meetings/{id}/stop HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Start recording in meeting.
NzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
POST /api/user/meetings/{id}/start_recording HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Stop recording in meeting.
NzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
POST /api/user/meetings/{id}/stop_recording HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Retrieve a collection of meeting participants.
NzAwNTUxOTA5NzczMTQ4MTYwOK
Error
GET /api/user/meetings/{id}/participants HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "xxxxxx",
"display_name": "example",
"muted": false,
"chairman": false,
"position": 1
}
]
}Modify participants layout based on meeting layout.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
POST /api/user/meetings/{id}/participants/layout HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 23
{
"items": [
"xxx",
"yyy"
]
}No content
Get meeting participant details.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwOK
NzAwNTUxOTA5NzczMTQ4MTYwThe display name of conference room participant.
"example"<sip:100@example.com>Whether the participant is muted.
Indicates whether the user is chairman of the conference room.
The position of room member.
The member will not be displayed when -1 is specified.
Error
GET /api/user/meetings/{id}/participants/{participant_id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "xxxxxx",
"display_name": "example",
"muted": false,
"chairman": false,
"position": 1
}Invite an user as meeting participant.
NzAwNTUxOTA5NzczMTQ4MTYwThe number of invited participant.
OK
No content
Error
POST /api/user/meetings/{id}/participants/invite HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 26
{
"number": "111-222-33333"
}No content
Mute meeting participant.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
POST /api/user/meetings/{id}/participants/{participant_id}/mute HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Unmute meeting participant.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
POST /api/user/meetings/{id}/participants/{participant_id}/unmute HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Transfer meeting ownership to another participant.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
POST /api/user/meetings/{id}/participants/{participant_id}/chairman HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Set meeting participant position.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwThe position of room member.
The member will not be displayed when -1 is specified.
OK
No content
Error
POST /api/user/meetings/{id}/participants/{participant_id}/position HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 14
{
"position": 1
}No content
Kick out meeting participant.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwNo Content
No content
Error
POST /api/user/meetings/{id}/participants/{participant_id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Retrieve a collection of current user's holidays.
OK
Total number of resource.
100Error
GET /api/user/holidays HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"count": 1,
"items": [
{
"id": "xxxxxx",
"name": "example",
"region": "",
"consecutive": false,
"every_year": true,
"year_start": 0,
"year_end": 0,
"month_start": 6,
"month_end": 6,
"day_start": 1,
"day_end": 1,
"hour_start": 0,
"hour_end": 23,
"minute_start": 0,
"minute_end": 59
}
]
}Create a new holiday for current user.
NzAwNTUxOTA5NzczMTQ4MTYwThe name of the holiday.
A valid country code based on iso3166-1 alpha-3 standard. see: https://www.iso.org/iso-3166-country-codes.html
Does the holiday take effect every year.
Whether the holiday consists of consecutive days.
The start year of holiday.
The end year of holiday.
The start month of holiday.
The end month of holiday.
The start day of holiday.
The end day of holiday.
The start hour of holiday.
The end hour of holiday.
The start minute of holiday.
The end minute of holiday.
Created
NzAwNTUxOTA5NzczMTQ4MTYwError
POST /api/user/holidays HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 214
{
"name": "example",
"region": "",
"consecutive": false,
"every_year": true,
"year_start": 0,
"year_end": 0,
"month_start": 6,
"month_end": 6,
"day_start": 1,
"day_end": 1,
"hour_start": 0,
"hour_end": 23,
"minute_start": 0,
"minute_end": 59
}{
"id": "xxxxxxxx"
}The unique ID of the holiday.
NzAwNTUxOTA5NzczMTQ4MTYwOK
NzAwNTUxOTA5NzczMTQ4MTYwThe name of the holiday.
A valid country code based on iso3166-1 alpha-3 standard. see: https://www.iso.org/iso-3166-country-codes.html
Does the holiday take effect every year.
Whether the holiday consists of consecutive days.
The start year of holiday.
The end year of holiday.
The start month of holiday.
The end month of holiday.
The start day of holiday.
The end day of holiday.
The start hour of holiday.
The end hour of holiday.
The start minute of holiday.
The end minute of holiday.
Error
GET /api/user/holidays/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "xxxxxx",
"name": "example",
"region": "",
"consecutive": false,
"every_year": true,
"year_start": 0,
"year_end": 0,
"month_start": 6,
"month_end": 6,
"day_start": 1,
"day_end": 1,
"hour_start": 0,
"hour_end": 23,
"minute_start": 0,
"minute_end": 59
}Update a holiday of current user.
The unique ID of holiday.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwThe name of the holiday.
A valid country code based on iso3166-1 alpha-3 standard. see: https://www.iso.org/iso-3166-country-codes.html
Does the holiday take effect every year.
Whether the holiday consists of consecutive days.
The start year of holiday.
The end year of holiday.
The start month of holiday.
The end month of holiday.
The start day of holiday.
The end day of holiday.
The start hour of holiday.
The end hour of holiday.
The start minute of holiday.
The end minute of holiday.
OK
No content
Error
POST /api/user/holidays/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 214
{
"name": "example",
"region": "",
"consecutive": false,
"every_year": true,
"year_start": 0,
"year_end": 0,
"month_start": 6,
"month_end": 6,
"day_start": 1,
"day_end": 1,
"hour_start": 0,
"hour_end": 23,
"minute_start": 0,
"minute_end": 59
}No content
Destroy a holiday of current user.
The unique ID of the holiday.
NzAwNTUxOTA5NzczMTQ4MTYwNo Content
No content
Invalid ID supplied.
POST /api/user/holidays/{id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Retrieve a collection of current user's global holidays.
OK
Error
GET /api/user/global_holidays HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "xxxxxx",
"name": "example",
"region": "",
"consecutive": false,
"every_year": true,
"year_start": 0,
"year_end": 0,
"month_start": 6,
"month_end": 6,
"day_start": 1,
"day_end": 1,
"hour_start": 0,
"hour_end": 23,
"minute_start": 0,
"minute_end": 59
}
]
}Update current user's global holidays from tenant holidays.
A collection of ID of tenant's holiday.
NzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
POST /api/user/global_holidays HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 35
{
"items": [
"xxxxxxxxx",
"yyyyyyyyy"
]
}No content
Retrieve a collection of personal contacts.
Use the skip query parameter to set the number of items to skip at the start of a collection.
0Use the top query parameter to specify the page size of the result set.
100OK
Total number of resource.
100Error
GET /api/user/contacts HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"count": 1,
"items": [
{
"id": "xxxxxx",
"name": "example",
"email": "",
"company": "",
"title": "",
"business": "",
"business2": "",
"mobile_phone": "",
"mobile_phone2": "",
"home_phone": "",
"home_phone2": "",
"other": "",
"business_fax": "",
"home_fax": "",
"address": "",
"notes": "",
"sync_type": "",
"favorite": false
}
]
}The name of contact.
The email of contact.
The company name of contact.
The title of contact.
The business phone number of contact.
The secondary business phone number of contact.
The mobile phone number of contact.
The secondary mobile phone number of contact.
The home phone number of contact.
The secondary home phone number of contact.
The other phone number of contact.
The business fax of contact.
The home fax of contact.
The address.
The notes of contact.
Created contact
NzAwNTUxOTA5NzczMTQ4MTYwError
POST /api/user/contacts HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 238
{
"name": "example",
"email": "example@example.com",
"company": "",
"title": "",
"business": "",
"business2": "",
"mobile_phone": "",
"mobile_phone2": "",
"home_phone": "",
"home_phone2": "",
"other": "",
"business_fax": "",
"home_fax": "",
"address": "",
"notes": ""
}{
"id": "xxxxxxxx"
}Retrieves details of a personal contact.
NzAwNTUxOTA5NzczMTQ4MTYwOK
NzAwNTUxOTA5NzczMTQ4MTYwThe name of contact.
The email of contact.
The company name of contact.
The title of contact.
The business phone number of contact.
The secondary business phone number of contact.
The mobile phone number of contact.
The secondary mobile phone number of contact.
The home phone number of contact.
The secondary home phone number of contact.
The other phone number of contact.
The business fax of contact.
The home fax of contact.
The address.
The notes of contact.
The synchronization method.
Mark if a contact has been added to the favorites list.
trueError
GET /api/user/contacts/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "xxxxxx",
"name": "example",
"email": "example@example.com",
"company": "",
"title": "",
"business": "",
"business2": "",
"mobile_phone": "",
"mobile_phone2": "",
"home_phone": "",
"home_phone2": "",
"other": "",
"business_fax": "",
"home_fax": "",
"address": "",
"notes": "",
"sync_type": "",
"favorite": false
}Update a personal contact.
NzAwNTUxOTA5NzczMTQ4MTYwThe name of contact.
The email of contact.
The company name of contact.
The title of contact.
The business phone number of contact.
The secondary business phone number of contact.
The mobile phone number of contact.
The secondary mobile phone number of contact.
The home phone number of contact.
The secondary home phone number of contact.
The other phone number of contact.
The business fax of contact.
The home fax of contact.
The address.
The notes of contact.
OK
No content
Error
POST /api/user/contacts/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 238
{
"name": "example",
"email": "example@example.com",
"company": "",
"title": "",
"business": "",
"business2": "",
"mobile_phone": "",
"mobile_phone2": "",
"home_phone": "",
"home_phone2": "",
"other": "",
"business_fax": "",
"home_fax": "",
"address": "",
"notes": ""
}No content
Favorite a personal contact.
NzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
POST /api/user/contacts/{id}/favorite HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Favorite a personal contact.
NzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
POST /api/user/contacts/{id}/unfavorite HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Delete a personal contact by it's unique id.
NzAwNTUxOTA5NzczMTQ4MTYwNo Content
No content
Error
POST /api/user/contacts/{id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Created
The sync token.
Clients should treat the sync token as an opaque string and should never try to assemble it.
This document imposes no constraints on the format and clients should never impose any.
RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.Error
POST /api/user/contacts/sync_tokens HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"token": "xxxxxxxxxxxxxxxx"
}List personal contact changes.
The sync token.
Clients should treat the sync token as an opaque string and should never try to assemble it.
This document imposes no constraints on the format and clients should never impose any.
RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.OK
The sync token.
Clients should treat the sync token as an opaque string and should never try to assemble it.
This document imposes no constraints on the format and clients should never impose any.
RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.Error
POST /api/user/contacts/sync_tokens/{token}/diff HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"token": "xxxxxxxxxxxxxxx",
"items": [
{
"id": "xxxxxx",
"name": "example",
"email": "",
"company": "",
"title": "",
"business": "",
"business2": "",
"mobile_phone": "",
"mobile_phone2": "",
"home_phone": "",
"home_phone2": "",
"other": "",
"business_fax": "",
"home_fax": "",
"address": "",
"notes": "",
"favorite": false,
"change_type": "UPDATED"
}
]
}Favorite a business contact.
NzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
POST /api/user/business_contacts/{id}/favorite HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Favorite a business contact.
NzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
POST /api/user/business_contacts/{id}/unfavorite HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Created
The sync token.
Clients should treat the sync token as an opaque string and should never try to assemble it.
This document imposes no constraints on the format and clients should never impose any.
RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.Error
POST /api/user/business_contacts/sync_tokens HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"token": "xxxxxxxxxxxxxxxxx"
}List business contact changes.
The sync token.
Clients should treat the sync token as an opaque string and should never try to assemble it.
This document imposes no constraints on the format and clients should never impose any.
RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.OK
The sync token.
Clients should treat the sync token as an opaque string and should never try to assemble it.
This document imposes no constraints on the format and clients should never impose any.
RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.Error
POST /api/user/business_contacts/sync_tokens/{token}/diff HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"token": "xxxxxxxxxxxxxxxxxx",
"items": [
{
"id": "xxxxxx",
"name": "example",
"email": "",
"company": "",
"title": "",
"business": "",
"business2": "",
"mobile_phone": "",
"mobile_phone2": "",
"home_phone": "",
"home_phone2": "",
"other": "",
"business_fax": "",
"home_fax": "",
"address": "",
"notes": "",
"favorite": false,
"change_type": "UPDATED"
}
]
}Favorite an extension contact.
NzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
POST /api/user/extension_contacts/{id}/favorite HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Favorite an extension contact.
NzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
POST /api/user/extension_contacts/{id}/unfavorite HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Created
The sync token.
Clients should treat the sync token as an opaque string and should never try to assemble it.
This document imposes no constraints on the format and clients should never impose any.
RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.Error
POST /api/user/extension_contacts/sync_tokens HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"token": "xxxxxxxxxxxxxxx"
}List extension contact changes.
The sync token.
Clients should treat the sync token as an opaque string and should never try to assemble it.
This document imposes no constraints on the format and clients should never impose any.
RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.OK
The sync token.
Clients should treat the sync token as an opaque string and should never try to assemble it.
This document imposes no constraints on the format and clients should never impose any.
RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.Error
POST /api/user/extension_contacts/sync_tokens/{token}/diff HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"token": "xxxxxxxxxxxxxxxx",
"items": [
{
"id": "xxxxxx",
"display_name": "example",
"email": "",
"mobile_phone": "",
"work_phone": "",
"home_phone": "",
"address": "",
"department": "",
"avatar_file_url": "",
"extension_number": "101",
"favorite": false,
"change_type": "UPDATED"
}
]
}Favorite a CRM contact.
NzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
POST /api/user/crm_contacts/{id}/favorite HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Favorite a CRM contact.
NzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
POST /api/user/crm_contacts/{id}/unfavorite HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Created
The sync token.
Clients should treat the sync token as an opaque string and should never try to assemble it.
This document imposes no constraints on the format and clients should never impose any.
RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.Error
POST /api/user/crm_contacts/sync_tokens HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"token": "xxxxxxxxxxxxxxxxx"
}List CRM contact changes.
The sync token.
Clients should treat the sync token as an opaque string and should never try to assemble it.
This document imposes no constraints on the format and clients should never impose any.
RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.OK
The sync token.
Clients should treat the sync token as an opaque string and should never try to assemble it.
This document imposes no constraints on the format and clients should never impose any.
RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.Error
POST /api/user/crm_contacts/sync_tokens/{token}/diff HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"token": "xxxxxxxxxxxxxxxxxx",
"items": [
{
"id": "xxxxxx",
"first_name": "example",
"last_name": "example",
"email": "",
"company": "",
"title": "",
"business": "",
"business2": "",
"mobile_phone": "",
"mobile_phone2": "",
"home_phone": "",
"home_phone2": "",
"other": "",
"business_fax": "",
"home_fax": "",
"address": "",
"notes": "",
"did_number": "1000",
"favorite": false,
"type": "Contact",
"url": "https://example.com",
"change_type": "UPDATED"
}
]
}Retrieve the call queues which current user belongs.
OK
Error
GET /api/user/call_queues HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "xxxxxx",
"name": "example",
"extension_number": "101"
}
]
}Retrieve information of call queue agent.
NzAwNTUxOTA5NzczMTQ4MTYwOK
The extension number.
[0-9]{3,64}The display name of user.
The skill level of agent in queue.
Only valid when polling_strategy is skill based.
1Current status of agent:
READY:NOT_READY:QUEUE_CALL:OTHER_CALL:WRAP_UP:BREAK:LUNCH:TRANSFER:CONSULT_TRANSFER:ON_HOLD:LOGGED_OUT:OFFLINE:
The reason for changing a call queue agent's status.
Standard presets include:
NOT_RAEDYLUNCHBUSINESS_TRIPDO_NOT_DISTURBAWAY
You can also provide a custom string for a custom reason.
Note: This field is only effective when settingstatustoNOT_READY.
For other statuses, this field will be ignored.
The reason field is optional and can be left empty.
NOT_RAEDYError
GET /api/user/call_queues/{id}/agent HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"extension_number": "101",
"display_name": "example",
"skill_level": 1,
"status": "READY"
}Set call queue agent status.
NzAwNTUxOTA5NzczMTQ4MTYwChange call queue agent status to one of the following:
READY:NOT_READY:WRAP_UP:LOGGED_IN:LOGGED_OUT:
READYPossible values: The reason for changing a call queue agent's status.
Standard presets include:
NOT_RAEDYLUNCHBUSINESS_TRIPDO_NOT_DISTURBAWAY
You can also provide a custom string for a custom reason.
Note: This field is only effective when settingstatustoNOT_READY.
For other statuses, this field will be ignored.
The reason field is optional and can be left empty.
NOT_RAEDYOK
No content
Error
POST /api/user/call_queues/{id}/agent HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 42
{
"status": "NOT_READY",
"reason": "At lunch"
}No content
Retrieve a collection of outbound caller ids.
OK
Error
GET /api/user/outbound_caller_ids HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"provider_id": "xxxxxx",
"caller_id": "1000",
"description": ""
}
]
}Retrieve the ring groups which current user belongs.
OK
Error
GET /api/user/ring_groups HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "xxxxxx",
"name": "example",
"extension_number": "101"
}
]
}Retrieve a collection current user call sessions.
OK
Total number of resource.
100Error
GET /api/user/sessions HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"count": 1,
"items": [
{
"id": "xxxxxx",
"calls": [
{
"caller": "101",
"caller_display_name": "User 101",
"callee": "102",
"trunk": "trunk",
"started_at": "2020-01-01T00:00:00Z",
"talking_time": 100
}
]
}
]
}List a collection of users.
Use the filter query parameter to retrieve just a subset of a collection.
Use the search query parameter to restrict the results of a request to match a search criterion.
Use the orderby query parameter to specify the sort order of the items returned from server.
The default order is ascending order.
Use the skip query parameter to set the number of items to skip at the start of a collection.
0Use the top query parameter to specify the page size of the result set.
100OK
Total number of resource.
100Error
GET /api/users HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"count": 1,
"items": [
{
"id": "xxxxxx",
"name": "example",
"enabled": true,
"email": "",
"display_name": "example",
"role_id": "xxxxxx",
"role_name": "example",
"mobile_phone": "",
"work_phone": "",
"home_phone": "",
"address": "",
"department": "",
"extension_number": "101",
"created_at": "2020-01-01T00:00:00Z",
"avatar_file_name": "example",
"avatar_file_size": 100,
"avatar_file_url": "",
"provider": "",
"provider_id": "xxxxxx",
"sync_type": "",
"timezone": "Asia/Shanghai"
}
]
}Create a new user.
The user's account name.
Only letters, numbers, and the following special characters can be added: underscore, dash, single quote, and period (_, -, ', and .).
Username cannot start or end with period (.).
admin, system, administrator, and root are reserved names for system admin only with case ignored.
The password of user.
The email address.
example@example.comThe display name of user.
Allows temporarily disabling the extension.
trueRoles include built-in roles and custom roles.
Built-in roles roles cannot be modified.
Also, the names of built-in roles are reserved words,
custom roles are not allowed to use these names to avoid unnecessary confusion.
Built-in roles include:
SystemAdmin: the system administrator has almost all permissions.OperationsAdmin: the operations administrator.SiteAdmin: the site administrator.Dealer: the sales manager has all sold tenant resource permissions.Admin: the admin has all tenant-wide resource permissions.StandardUser: the user all user-wide resource permissions.StandardInternationalUser: the user all user-wide resource permissions with international call permissions.QueueManager: The call queue manager.
UserThe mobile phone number of user.
The office phone number of user.
The home phone number of user.
The address.
The department of user.
The extension number.
[0-9]{3,64}The extension password.
Records all calls and saves audio recordings on server.
falseRecords all calls and saves video recordings on server.
falseEnable Do Not Disturb or not.
Enable Automatic Callback or not.
Enable hot desking feature or not.
falseAlways make outbound anonymous calls or not.
falseThe preferred configuration for SMS/MMS.
Note: Only users with UserManagement::Users privilege can change this property.
DISABLE: Disable user SMS/MMS feature.ALLOW: Enable user SMS/MMS feature but with outbound caller ID.ALLOW_WITH_SENDER_ID: Enable user SMS/MMS but with trunk sender ID.
DISABLEPossible values: Always delivery outbound caller ID or not.
trueSome custom configuration options serialized as json string
BCP 47 Language Tags (The Internet Best Current Practices (BCP) for language tags). A language tag is composed of a sequence of one or more subtags such as language, region, variant and script subtags. When a language tag is comprised of more than one subtag, the subtag values are separated by the "-" character. You will most commonly find language tags written with 2 subtags - language and region. For example: en-US.
en-USWhether the PIN is required to access voice mail of extension.
trueThe PIN number for accessing.
Enable voicemail to email notify.
falseAnnounces Date and Time of Message.
DISABLE: Do not read;12_HOUR_CLOCK: Read in 12-hour clock;24_HOUR_CLOCK: Read in 24-hour clock.
The interface type for QR code or auto provisioning.
Can be neither:
WEB_DOMAIN:PUBLIC_IPV4:PUBLIC_IPV6:PRIVATE_IPV4:PRIVATE_IPV6:SBC_DOMAIN:
The transport protocol:
Can be either:
UDP:TCP:TLS:
Enable ai transcript or not.
Enable user-agent of app or not.
Enable enable teams phone app or not.
The template file name used to generate the user configuration file for the soft phone.
app.xmlThe IANA Time Zone names, such as "Asia/Shanghai".
Enable selective call acceptations or not.
falseEnable selective call rejections or not.
falseCreated
NzAwNTUxOTA5NzczMTQ4MTYwError
POST /api/users HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 4144
{
"name": "example",
"password": "xxxxxx",
"email": "example@example.com",
"display_name": "example",
"enabled": true,
"role": "StandardUser",
"mobile_phone": "",
"work_phone": "",
"home_phone": "",
"address": "",
"department": "",
"extension_number": "101",
"extension_password": "xxxxxx",
"enable_audio_recording": true,
"enable_video_recording": true,
"enable_dnd": true,
"enable_acb": true,
"enable_hot_desking": true,
"anonymous_outbound_calls": false,
"sms": "DISABLE",
"delivery_outbound_cid": false,
"outbound_caller_ids": [
{
"provider_id": "xxxxxx",
"caller_id": "1000",
"description": "example",
"display_name": "1000"
}
],
"custom_options": "",
"office_hours": {
"monday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"tuesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"wednesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"thursday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"friday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"saturday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"sunday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
}
},
"available_office_hours_forward_rule": {
"action": "HANGUP"
},
"available_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"available_no_answer_forward_rule": {
"action": "HANGUP"
},
"busy_office_hours_forward_rule": {
"action": "HANGUP"
},
"busy_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"busy_no_answer_forward_rule": {
"action": "HANGUP"
},
"dnd_office_hours_forward_rule": {
"action": "HANGUP"
},
"dnd_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"away_office_hours_forward_rule": {
"action": "HANGUP"
},
"away_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"lunch_office_hours_forward_rule": {
"action": "HANGUP"
},
"lunch_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"trip_office_hours_forward_rule": {
"action": "HANGUP"
},
"trip_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"offline_office_hours_forward_rule": {
"action": "HANGUP"
},
"offline_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"custom_forward_rules": [],
"selective_call_acceptations": [
{
"name": "example",
"caller": "100",
"condition": "ALL_HOURS",
"office_hours": {
"monday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"tuesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"wednesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"thursday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"friday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"saturday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"sunday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
}
},
"holidays": []
}
],
"selective_call_rejections": [
{
"name": "example",
"caller": "100",
"condition": "ALL_HOURS",
"office_hours": {
"monday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"tuesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"wednesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"thursday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"friday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"saturday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"sunday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
}
},
"holidays": []
}
],
"voicemail_prompt": "",
"enable_voicemail_pin": true,
"voicemail_pin": "",
"enable_voicemail_notify": true,
"voicemail_play_datetime": "DISABLE",
"interface": "WEB_DOMAIN",
"preferred_transport": "UDP",
"timezone": "Asia/Shanghai",
"blfs": [],
"enable_selective_call_acceptation": false,
"enable_selective_call_rejection": false,
"phones": [
{
"mac": "00:1A:2B:3C:4D:5E",
"filename": "example",
"vendor": "",
"model": "",
"password": "",
"language": "en-US",
"transfer": "BLIND",
"timezone": "",
"ringtone": "",
"queue_ringtone": "",
"external_ringtone": "",
"date_format": "",
"time_format": "",
"powerled": "",
"backlight": "",
"screensaver": "",
"rps": false,
"https": false,
"codecs": [
"PCMU",
"PCMA",
"G729",
"G722"
],
"enable_lldp": false,
"enable_vlan_wan_port": false,
"wan_port_id": 1000,
"wan_port_priority": 1,
"enable_vlan_pc_port": false,
"pc_port_id": 1000,
"pc_port_priority": 1,
"interface": "WEB_DOMAIN",
"preferred_transport": "UDP",
"serial_number": "",
"door_password1": "xxxxxx",
"door_password2": "xxxxxx"
}
]
}{
"id": "xxxxxxxx"
}Bulk create users.
Created
Error
POST /api/users/create_many HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 4125
{
"items": [
{
"name": "example",
"password": "",
"email": "",
"display_name": "example",
"enabled": true,
"role": "StandardUser",
"mobile_phone": "",
"work_phone": "",
"home_phone": "",
"address": "",
"department": "",
"extension_number": "101",
"extension_password": "",
"enable_audio_recording": true,
"enable_video_recording": true,
"enable_dnd": true,
"enable_acb": true,
"enable_hot_desking": true,
"anonymous_outbound_calls": false,
"sms": "DISABLE",
"delivery_outbound_cid": false,
"outbound_caller_ids": [
{
"provider_id": "xxxxxx",
"caller_id": "1000",
"description": "example",
"display_name": "1000"
}
],
"custom_options": "",
"office_hours": {
"monday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"tuesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"wednesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"thursday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"friday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"saturday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"sunday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
}
},
"available_office_hours_forward_rule": {
"action": "HANGUP"
},
"available_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"available_no_answer_forward_rule": {
"action": "HANGUP"
},
"busy_office_hours_forward_rule": {
"action": "HANGUP"
},
"busy_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"busy_no_answer_forward_rule": {
"action": "HANGUP"
},
"dnd_office_hours_forward_rule": {
"action": "HANGUP"
},
"dnd_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"away_office_hours_forward_rule": {
"action": "HANGUP"
},
"away_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"lunch_office_hours_forward_rule": {
"action": "HANGUP"
},
"lunch_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"trip_office_hours_forward_rule": {
"action": "HANGUP"
},
"trip_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"offline_office_hours_forward_rule": {
"action": "HANGUP"
},
"offline_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"custom_forward_rules": [],
"selective_call_acceptations": [
{
"name": "example",
"caller": "100",
"condition": "ALL_HOURS",
"office_hours": {
"monday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"tuesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"wednesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"thursday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"friday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"saturday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"sunday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
}
},
"holidays": []
}
],
"selective_call_rejections": [
{
"name": "example",
"caller": "100",
"condition": "ALL_HOURS",
"office_hours": {
"monday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"tuesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"wednesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"thursday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"friday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"saturday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"sunday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
}
},
"holidays": []
}
],
"voicemail_prompt": "",
"enable_voicemail_pin": true,
"voicemail_pin": "",
"enable_voicemail_notify": true,
"voicemail_play_datetime": "DISABLE",
"interface": "WEB_DOMAIN",
"preferred_transport": "UDP",
"blfs": [],
"timezone": "Asia/Shanghai",
"enable_selective_call_acceptation": false,
"enable_selective_call_rejection": false,
"phones": [
{
"mac": "00:1A:2B:3C:4D:5E",
"filename": "example",
"vendor": "",
"model": "",
"password": "",
"language": "en-US",
"transfer": "BLIND",
"timezone": "",
"ringtone": "",
"queue_ringtone": "",
"external_ringtone": "",
"date_format": "",
"time_format": "",
"powerled": "",
"backlight": "",
"screensaver": "",
"rps": false,
"https": false,
"codecs": [
"PCMU",
"PCMA",
"G729",
"G722"
],
"enable_lldp": false,
"enable_vlan_wan_port": false,
"wan_port_id": 1000,
"wan_port_priority": 1,
"enable_vlan_pc_port": false,
"pc_port_id": 1000,
"pc_port_priority": 1,
"interface": "WEB_DOMAIN",
"preferred_transport": "UDP",
"serial_number": "",
"door_password1": "xxxxxx",
"door_password2": "xxxxxx"
}
]
}
]
}{
"items": [
{
"id": "xxxxxx"
},
{
"id": "yyyyyy"
}
]
}Get multiple users by their IDs in a single request.
NzAwNTUxOTA5NzczMTQ4MTYwOK
Error
POST /api/users/get_many HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 45
{
"ids": [
"user_id_1",
"user_id_2",
"user_id_3"
]
}{
"items": [
{
"id": "user_id_1",
"name": "user_1",
"display_name": "User One",
"email": "user1@example.com",
"extension_number": "1001"
},
{
"id": "user_id_2",
"name": "user_2",
"display_name": "User Two",
"email": "user2@example.com",
"extension_number": "1002"
},
{
"id": "user_id_3",
"name": "user_3",
"display_name": "User Three",
"email": "user3@example.com",
"extension_number": "1003"
}
]
}Reset the active user profile with the specified ID, or reset all active user profiles when id is not specified.
NzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
POST /api/users/profile HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Bulk retrieve users status.
NzAwNTUxOTA5NzczMTQ4MTYwOK
Error
POST /api/users/status/get_many HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 23
{
"items": [
"xxx",
"yyy"
]
}{
"items": [
{
"status": "ONLINE",
"presence": "ONLINE",
"presence_note": "",
"registration": [],
"enable_dnd": false,
"enable_acb": false
}
]
}Retrieves the settings of a user.
NzAwNTUxOTA5NzczMTQ4MTYwOK
NzAwNTUxOTA5NzczMTQ4MTYwThe user's account name.
Only letters, numbers, and the following special characters can be added: underscore, dash, single quote, and period (_, -, ', and .).
Username cannot start or end with period (.).
admin, system, administrator, and root are reserved names for system admin only with case ignored.
The email address.
example@example.comThe display name of user.
Roles include built-in roles and custom roles.
Built-in roles roles cannot be modified.
Also, the names of built-in roles are reserved words,
custom roles are not allowed to use these names to avoid unnecessary confusion.
Built-in roles include:
SystemAdmin: the system administrator has almost all permissions.OperationsAdmin: the operations administrator.SiteAdmin: the site administrator.Dealer: the sales manager has all sold tenant resource permissions.Admin: the admin has all tenant-wide resource permissions.StandardUser: the user all user-wide resource permissions.StandardInternationalUser: the user all user-wide resource permissions with international call permissions.QueueManager: The call queue manager.
UserNzAwNTUxOTA5NzczMTQ4MTYwRoles include built-in roles and custom roles.
Built-in roles roles cannot be modified.
Also, the names of built-in roles are reserved words,
custom roles are not allowed to use these names to avoid unnecessary confusion.
Built-in roles include:
SystemAdmin: the system administrator has almost all permissions.OperationsAdmin: the operations administrator.SiteAdmin: the site administrator.Dealer: the sales manager has all sold tenant resource permissions.Admin: the admin has all tenant-wide resource permissions.StandardUser: the user all user-wide resource permissions.StandardInternationalUser: the user all user-wide resource permissions with international call permissions.QueueManager: The call queue manager.
UserAllows temporarily disabling the extension.
trueThe mobile phone number of user.
The office phone number of user.
The home phone number of user.
The address.
The department of user.
The extension number.
[0-9]{3,64}Records all calls and saves audio recordings on server.
falseRecords all calls and saves video recordings on server.
falseEnable Do Not Disturb or not.
Enable Automatic Callback or not.
Enable hot desking feature or not.
falseAlways make outbound anonymous calls or not.
falseAlways delivery outbound caller ID or not.
trueThe preferred configuration for SMS/MMS.
Note: Only users with UserManagement::Users privilege can change this property.
DISABLE: Disable user SMS/MMS feature.ALLOW: Enable user SMS/MMS feature but with outbound caller ID.ALLOW_WITH_SENDER_ID: Enable user SMS/MMS but with trunk sender ID.
DISABLEPossible values: Some custom configuration options serialized as json string
BCP 47 Language Tags (The Internet Best Current Practices (BCP) for language tags). A language tag is composed of a sequence of one or more subtags such as language, region, variant and script subtags. When a language tag is comprised of more than one subtag, the subtag values are separated by the "-" character. You will most commonly find language tags written with 2 subtags - language and region. For example: en-US.
en-USWhether the PIN is required to access voice mail of extension.
trueThe PIN number for accessing.
Enable voicemail to email notify.
falseAnnounces Date and Time of Message.
DISABLE: Do not read;12_HOUR_CLOCK: Read in 12-hour clock;24_HOUR_CLOCK: Read in 24-hour clock.
The interface type for QR code or auto provisioning.
Can be neither:
WEB_DOMAIN:PUBLIC_IPV4:PUBLIC_IPV6:PRIVATE_IPV4:PRIVATE_IPV6:SBC_DOMAIN:
The transport protocol:
Can be either:
UDP:TCP:TLS:
NzAwNTUxOTA5NzczMTQ4MTYwThe RFC 3339 format is defined by The date_time notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z
2017-07-21T17:32:28ZThe name of the file.
The file size in bytes.
0The relative path to file url for file downloading.
/api/blobs/WexWdABcd5D4PDgzTKV3gAAAEu00WcKThe account provider.
The account provider ID.
The synchronization method.
Enable ai transcript or not.
Enable user-agent of app or not.
The password of user.
The extension_password of user.
Is it allowed to log in to the teams phone app.
The template file name used to generate the user configuration file for the soft phone.
app.xmlThe IANA Time Zone names, such as "Asia/Shanghai".
Enable selective call acceptations or not.
falseEnable selective call rejections or not.
falseError
GET /api/users/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "xxxxxx",
"name": "example",
"email": "example@example.com",
"display_name": "example",
"role": "StandardUser",
"enabled": true,
"mobile_phone": "",
"work_phone": "",
"home_phone": "",
"address": "",
"department": "",
"extension_number": "101",
"enable_audio_recording": true,
"enable_video_recording": true,
"enable_dnd": true,
"enable_acb": true,
"enable_hot_desking": true,
"anonymous_outbound_calls": false,
"delivery_outbound_cid": false,
"sms": "DISABLE",
"outbound_caller_ids": [
{
"provider_id": "xxxxxx",
"caller_id": "1000",
"description": "example",
"display_name": "1000"
}
],
"custom_options": "",
"office_hours": {
"monday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"tuesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"wednesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"thursday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"friday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"saturday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"sunday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
}
},
"available_office_hours_forward_rule": {
"action": "HANGUP"
},
"available_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"available_no_answer_forward_rule": {
"action": "HANGUP"
},
"busy_office_hours_forward_rule": {
"action": "HANGUP"
},
"busy_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"busy_no_answer_forward_rule": {
"action": "HANGUP"
},
"dnd_office_hours_forward_rule": {
"action": "HANGUP"
},
"dnd_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"away_office_hours_forward_rule": {
"action": "HANGUP"
},
"away_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"lunch_office_hours_forward_rule": {
"action": "HANGUP"
},
"lunch_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"trip_office_hours_forward_rule": {
"action": "HANGUP"
},
"trip_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"offline_office_hours_forward_rule": {
"action": "HANGUP"
},
"offline_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"custom_forward_rules": [],
"selective_call_acceptations": [
{
"name": "example",
"caller": "100",
"condition": "ALL_HOURS",
"office_hours": {
"monday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"tuesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"wednesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"thursday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"friday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"saturday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"sunday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
}
},
"holidays": [
{
"name": "example",
"region": "",
"consecutive": false,
"every_year": true,
"year_start": 0,
"year_end": 0,
"month_start": 6,
"month_end": 6,
"day_start": 1,
"day_end": 1,
"hour_start": 0,
"hour_end": 23,
"minute_start": 0,
"minute_end": 59
}
]
}
],
"selective_call_rejections": [
{
"name": "example",
"caller": "100",
"condition": "ALL_HOURS",
"office_hours": {
"monday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"tuesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"wednesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"thursday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"friday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"saturday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"sunday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
}
},
"holidays": [
{
"name": "example",
"region": "",
"consecutive": false,
"every_year": true,
"year_start": 0,
"year_end": 0,
"month_start": 6,
"month_end": 6,
"day_start": 1,
"day_end": 1,
"hour_start": 0,
"hour_end": 23,
"minute_start": 0,
"minute_end": 59
}
]
}
],
"voicemail_prompt": "",
"enable_voicemail_pin": true,
"voicemail_pin": "",
"enable_voicemail_notify": true,
"voicemail_play_datetime": "DISABLE",
"interface": "WEB_DOMAIN",
"preferred_transport": "UDP",
"blfs": [],
"profile": "",
"created_at": "2020-01-01T00:00:00Z",
"avatar_file_name": "example",
"avatar_file_size": 100,
"avatar_file_url": "",
"provider": "",
"provider_id": "xxxxxx",
"sync_type": "",
"timezone": "Asia/Shanghai",
"enable_selective_call_acceptation": false,
"enable_selective_call_rejection": false
}Modify the settings of a user.
NzAwNTUxOTA5NzczMTQ4MTYwThe email address.
example@example.comThe display name of user.
Allows temporarily disabling the extension.
trueThe mobile phone number of user.
The office phone number of user.
The home phone number of user.
The address.
The department of user.
Records all calls and saves audio recordings on server.
falseRecords all calls and saves video recordings on server.
falseEnable Do Not Disturb or not.
Enable Automatic Callback or not.
Enable hot desking feature or not.
falseAlways make outbound anonymous calls or not.
falseAlways delivery outbound caller ID or not.
trueThe preferred configuration for SMS/MMS.
Note: Only users with UserManagement::Users privilege can change this property.
DISABLE: Disable user SMS/MMS feature.ALLOW: Enable user SMS/MMS feature but with outbound caller ID.ALLOW_WITH_SENDER_ID: Enable user SMS/MMS but with trunk sender ID.
DISABLEPossible values: Some custom configuration options serialized as json string
BCP 47 Language Tags (The Internet Best Current Practices (BCP) for language tags). A language tag is composed of a sequence of one or more subtags such as language, region, variant and script subtags. When a language tag is comprised of more than one subtag, the subtag values are separated by the "-" character. You will most commonly find language tags written with 2 subtags - language and region. For example: en-US.
en-USWhether the PIN is required to access voice mail of extension.
trueThe PIN number for accessing.
Enable voicemail to email notify.
falseAnnounces Date and Time of Message.
DISABLE: Do not read;12_HOUR_CLOCK: Read in 12-hour clock;24_HOUR_CLOCK: Read in 24-hour clock.
The interface type for QR code or auto provisioning.
Can be neither:
WEB_DOMAIN:PUBLIC_IPV4:PUBLIC_IPV6:PRIVATE_IPV4:PRIVATE_IPV6:SBC_DOMAIN:
The transport protocol:
Can be either:
UDP:TCP:TLS:
Enable ai transcript or not.
Enable user-agent of app or not.
Enable enable teams phone app or not.
The template file name used to generate the user configuration file for the soft phone.
app.xmlThe IANA Time Zone names, such as "Asia/Shanghai".
Enable selective call acceptations or not.
falseEnable selective call rejections or not.
falseOK
No content
Error
POST /api/users/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 3398
{
"email": "example@example.com",
"display_name": "example",
"enabled": true,
"mobile_phone": "",
"work_phone": "",
"home_phone": "",
"address": "",
"department": "",
"enable_audio_recording": true,
"enable_video_recording": true,
"enable_dnd": true,
"enable_acb": true,
"enable_hot_desking": true,
"anonymous_outbound_calls": false,
"delivery_outbound_cid": false,
"sms": "DISABLE",
"outbound_caller_ids": [
{
"provider_id": "xxxxxx",
"caller_id": "1000",
"description": "example",
"display_name": "1000"
}
],
"custom_options": "",
"office_hours": {
"monday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"tuesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"wednesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"thursday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"friday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"saturday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"sunday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
}
},
"available_office_hours_forward_rule": {
"action": "HANGUP"
},
"available_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"available_no_answer_forward_rule": {
"action": "HANGUP"
},
"busy_office_hours_forward_rule": {
"action": "HANGUP"
},
"busy_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"busy_no_answer_forward_rule": {
"action": "HANGUP"
},
"dnd_office_hours_forward_rule": {
"action": "HANGUP"
},
"dnd_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"away_office_hours_forward_rule": {
"action": "HANGUP"
},
"away_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"lunch_office_hours_forward_rule": {
"action": "HANGUP"
},
"lunch_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"trip_office_hours_forward_rule": {
"action": "HANGUP"
},
"trip_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"offline_office_hours_forward_rule": {
"action": "HANGUP"
},
"offline_non_office_hours_forward_rule": {
"action": "HANGUP"
},
"custom_forward_rules": [],
"selective_call_acceptations": [
{
"name": "example",
"caller": "100",
"condition": "ALL_HOURS",
"office_hours": {
"monday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"tuesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"wednesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"thursday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"friday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"saturday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"sunday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
}
},
"holidays": []
}
],
"selective_call_rejections": [
{
"name": "example",
"caller": "100",
"condition": "ALL_HOURS",
"office_hours": {
"monday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"tuesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"wednesday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"thursday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"friday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"saturday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
},
"sunday": {
"enabled": true,
"ranges": [
{
"from": "09:00",
"to": "17:00"
}
]
}
},
"holidays": []
}
],
"voicemail_prompt": "",
"enable_voicemail_pin": true,
"voicemail_pin": "",
"enable_voicemail_notify": true,
"voicemail_play_datetime": "DISABLE",
"interface": "WEB_DOMAIN",
"preferred_transport": "UDP",
"blfs": [],
"timezone": "Asia/Shanghai",
"enable_selective_call_acceptation": false,
"enable_selective_call_rejection": false
}No content
Reset user password.
NzAwNTUxOTA5NzczMTQ4MTYwThe password of user.
OK
No content
Error
POST /api/users/{id}/password HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 21
{
"password": "xxxxxx"
}No content
Reset user extension password.
NzAwNTUxOTA5NzczMTQ4MTYwThe extension password.
OK
No content
Error
POST /api/users/{id}/extension_password HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 21
{
"password": "xxxxxx"
}No content
Change user role.
NzAwNTUxOTA5NzczMTQ4MTYwRoles include built-in roles and custom roles.
Built-in roles roles cannot be modified.
Also, the names of built-in roles are reserved words,
custom roles are not allowed to use these names to avoid unnecessary confusion.
Built-in roles include:
SystemAdmin: the system administrator has almost all permissions.OperationsAdmin: the operations administrator.SiteAdmin: the site administrator.Dealer: the sales manager has all sold tenant resource permissions.Admin: the admin has all tenant-wide resource permissions.StandardUser: the user all user-wide resource permissions.StandardInternationalUser: the user all user-wide resource permissions with international call permissions.QueueManager: The call queue manager.
UserOK
No content
Error
POST /api/users/{id}/role HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 23
{
"role": "StandardUser"
}No content
Reset user profile.
NzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
POST /api/users/{id}/profile HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Bind user to ms365 account.
NzAwNTUxOTA5NzczMTQ4MTYwThe OID or Principal Name of Microsoft 365 user.
OK
No content
Error
POST /api/users/{id}/ms365_binding HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 45
{
"id": "2f3863dc-021b-41e6-ad55-2a36044336b0"
}No content
Unbind user from ms365 account.
NzAwNTUxOTA5NzczMTQ4MTYwNo Content
No content
Error
POST /api/users/{id}/ms365_binding/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Bind user to Google account.
NzAwNTUxOTA5NzczMTQ4MTYwThe user ID of Google account.
No Content
No content
Error
POST /api/users/{id}/google_binding HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 16
{
"id": "abcdefg"
}No content
Unbind user from Google account.
NzAwNTUxOTA5NzczMTQ4MTYwNo Content
No content
Error
POST /api/users/{id}/google_binding/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Delete a certain user.
NzAwNTUxOTA5NzczMTQ4MTYwNo Content
No content
Error
POST /api/users/{id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Retrieves current status of given user.
NzAwNTUxOTA5NzczMTQ4MTYwOK
Status of extension:
ONLINEOFFLINEONCALL
The current presence of extension:
DO_NOT_DISTURB:AWAY:BUSINESS_TRIP:LUNCH:OFFLINEONLINE
The presence note.
Do Not Disturb enabled or not.
Automatic Callback enabled or not.
Error
GET /api/users/{id}/status HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"status": "ONLINE",
"presence": "ONLINE",
"presence_note": "",
"registration": [],
"enable_dnd": true,
"enable_acb": true
}Delete user registration.
NzAwNTUxOTA5NzczMTQ4MTYwThe instance ID of registration.
No Content
No content
Error
POST /api/users/{id}/status/{instance_id}/destroy_status HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Retrieve extension's balance by it's unique ID.
The unique ID of the extension.
NzAwNTUxOTA5NzczMTQ4MTYwOK
User balance. Precision is five digits.
Error
GET /api/users/{id}/balance HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"balance": 100
}Update extension's balance
The unique ID of the extension.
NzAwNTUxOTA5NzczMTQ4MTYwUser balance. Precision is five digits.
OK
No content
Error
POST /api/users/{id}/balance HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 15
{
"balance": 100
}No content
Retrieves a collection of greetings available to certain user.
The unique ID of the user.
NzAwNTUxOTA5NzczMTQ4MTYwOK
Error
GET /api/users/{id}/greetings HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "xxxxxx",
"enabled": true,
"file_name": "example",
"file_size": 100,
"file_url": ""
}
]
}Create a voicemail greeting for user.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwOK
NzAwNTUxOTA5NzczMTQ4MTYwError
POST /api/users/{id}/greetings HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 26
{
"file_id": "xxxxxxxxxxxx"
}{
"id": "xxxxxxxx"
}Set a voicemail greeting activated.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Invalid extension number supplied
User not found
POST /api/users/{id}/greetings/{greeting_id}/enable HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Disable user voicemail greeting.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Invalid extension number supplied
User not found
POST /api/users/{id}/greetings/{greeting_id}/disable HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Destroy a voicemail greeting from user.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwNo Content
No content
Error
POST /api/users/{id}/greetings/{greeting_id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Retrieve a collection of IP Phones.
NzAwNTUxOTA5NzczMTQ4MTYwOK
Error
GET /api/users/{id}/phones HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "xxxxxx",
"mac": "00:1A:2B:3C:4D:5E",
"filename": "example",
"vendor": "",
"model": "",
"password": "",
"language": "en-US",
"transfer": "BLIND",
"timezone": "",
"ringtone": "",
"queue_ringtone": "",
"external_ringtone": "",
"date_format": "",
"time_format": "",
"powerled": "",
"backlight": "",
"screensaver": "",
"rps": false,
"https": false,
"codecs": [
"PCMU",
"PCMA",
"G729",
"G722"
],
"enable_lldp": false,
"enable_vlan_wan_port": false,
"wan_port_id": 1000,
"wan_port_priority": 1,
"enable_vlan_pc_port": false,
"pc_port_id": 1000,
"pc_port_priority": 1,
"interface": "WEB_DOMAIN",
"preferred_transport": "UDP",
"serial_number": "",
"door_password1": "xxxxxx",
"door_password2": "xxxxxx",
"url": "https://example.com"
}
]
}Assign a phone to user.
NzAwNTUxOTA5NzczMTQ4MTYwMAC address.
Template XML file name for phone provisioning.
The phone vendor of IP phone.
The name of IP phone model.
Password for accessing the Web interface of phone. The username remains default because most phone manufacturers do not allow modification of the user name. This is supported for some phone model, such as "Snom 300".
Language for strings displayed on Phone Display LCD.
The transfer method for auto provision.
Can be either:
BLIND: After the IP phone is configured with the BLF of a certain key, during a call on the IP phone, press the key, and the phone will directly initiate a Blind transfer to the configured number.ATTENDED: After the IP phone is configured with the BLF of a key, during a call on the IP phone, press the key, and the phone will directly initiate an Attended transfer to the configured number.NEW_CALL: After the IP phone is configured with the BLF of a certain key, during a call on the IP phone, press the key, and the phone will initiate a new call to the configured number.
BLINDPossible values: The timezone of phone.
The ringtone of phone.
The queue ringtone of phone for queue calls or ring group calls.
The ringtone of phone for external calls.
The date format of phone.
The time format of phone.
The power led of phone.
The backlight of phone.
The screensaver of phone.
Send to RPS or not.
Whether to use https
The list of currently enabled codec formats.
The list of all supported codec formats.
Enable or disable Link Layer Discovery Protocol.
falseEnable or disable VLAN for WAN Port.
falseVLAN ID for WAN PORT.
VLAN priority for WAN Port.
Enable or disable VLAN for PC Port.
falseVLAN ID for PC PORT.
VLAN priority for PC Port.
The interface type for QR code or auto provisioning.
Can be neither:
WEB_DOMAIN:PUBLIC_IPV4:PUBLIC_IPV6:PRIVATE_IPV4:PRIVATE_IPV6:SBC_DOMAIN:
The transport protocol:
Can be either:
UDP:TCP:TLS:
The serial number of phone.
The primary door password of phone. Only numeric sequences are allowed.
The secondary door password of phone. Only numeric sequences are allowed.
Success
NzAwNTUxOTA5NzczMTQ4MTYwError
POST /api/users/{id}/phones HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 674
{
"mac": "00:1A:2B:3C:4D:5E",
"filename": "example",
"vendor": "",
"model": "",
"password": "xxxxxx",
"language": "English",
"transfer": "BLIND",
"timezone": "",
"ringtone": "",
"queue_ringtone": "",
"external_ringtone": "",
"date_format": "",
"time_format": "",
"powerled": "",
"backlight": "",
"screensaver": "",
"rps": false,
"https": false,
"codecs": [
"PCMU",
"PCMA",
"G729",
"G722"
],
"all_codecs": [
"PCMU",
"PCMA",
"G729",
"G722"
],
"enable_lldp": true,
"enable_vlan_wan_port": true,
"wan_port_id": 1000,
"wan_port_priority": 1,
"enable_vlan_pc_port": true,
"pc_port_id": 1000,
"pc_port_priority": 1,
"interface": "WEB_DOMAIN",
"preferred_transport": "UDP",
"serial_number": "000000",
"door_password1": "xxxxxx",
"door_password2": "xxxxxx"
}{
"id": "xxxxxxxx"
}Retrieve phone details of user.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwOK
NzAwNTUxOTA5NzczMTQ4MTYwMAC address.
Template XML file name for phone provisioning.
The phone vendor of IP phone.
The name of IP phone model.
Password for accessing the Web interface of phone. The username remains default because most phone manufacturers do not allow modification of the user name. This is supported for some phone model, such as "Snom 300".
Language for strings displayed on Phone Display LCD.
The transfer method for auto provision.
Can be either:
BLIND: After the IP phone is configured with the BLF of a certain key, during a call on the IP phone, press the key, and the phone will directly initiate a Blind transfer to the configured number.ATTENDED: After the IP phone is configured with the BLF of a key, during a call on the IP phone, press the key, and the phone will directly initiate an Attended transfer to the configured number.NEW_CALL: After the IP phone is configured with the BLF of a certain key, during a call on the IP phone, press the key, and the phone will initiate a new call to the configured number.
BLINDPossible values: The timezone of phone.
The ringtone of phone.
The queue ringtone of phone for queue calls or ring group calls.
The ringtone of phone for external calls.
The date format of phone.
The time format of phone.
The power led of phone.
The backlight of phone.
The screensaver of phone.
Send to RPS or not.
Whether to use https
The list of currently enabled codec formats.
The list of all supported codec formats.
Enable or disable Link Layer Discovery Protocol.
falseEnable or disable VLAN for WAN Port.
falseVLAN ID for WAN PORT.
VLAN priority for WAN Port.
Enable or disable VLAN for PC Port.
falseVLAN ID for PC PORT.
VLAN priority for PC Port.
The interface type for QR code or auto provisioning.
Can be neither:
WEB_DOMAIN:PUBLIC_IPV4:PUBLIC_IPV6:PRIVATE_IPV4:PRIVATE_IPV6:SBC_DOMAIN:
The transport protocol:
Can be either:
UDP:TCP:TLS:
The serial number of phone.
The primary door password of phone. Only numeric sequences are allowed.
The secondary door password of phone. Only numeric sequences are allowed.
Auto provision server URL.
Error
GET /api/users/{id}/phones/{phone_id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "xxxxxx",
"mac": "00:1A:2B:3C:4D:5E",
"filename": "example",
"vendor": "",
"model": "",
"password": "xxxxxx",
"language": "en-US",
"transfer": "BLIND",
"timezone": "",
"ringtone": "",
"queue_ringtone": "",
"external_ringtone": "",
"date_format": "",
"time_format": "",
"powerled": "",
"backlight": "",
"screensaver": "",
"rps": false,
"https": false,
"codecs": [
"PCMU",
"PCMA",
"G729",
"G722"
],
"enable_lldp": true,
"enable_vlan_wan_port": true,
"wan_port_id": 1000,
"wan_port_priority": 1,
"enable_vlan_pc_port": true,
"pc_port_id": 1000,
"pc_port_priority": 1,
"interface": "WEB_DOMAIN",
"preferred_transport": "UDP",
"serial_number": "000000",
"door_password1": "xxxxxx",
"door_password2": "xxxxxx",
"url": "https://example.com"
}Update phone of user by it's unique ID.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwPassword for accessing the Web interface of phone. The username remains default because most phone manufacturers do not allow modification of the user name. This is supported for some phone model, such as "Snom 300".
Language for strings displayed on Phone Display LCD.
The transfer method for auto provision.
Can be either:
BLIND: After the IP phone is configured with the BLF of a certain key, during a call on the IP phone, press the key, and the phone will directly initiate a Blind transfer to the configured number.ATTENDED: After the IP phone is configured with the BLF of a key, during a call on the IP phone, press the key, and the phone will directly initiate an Attended transfer to the configured number.NEW_CALL: After the IP phone is configured with the BLF of a certain key, during a call on the IP phone, press the key, and the phone will initiate a new call to the configured number.
BLINDPossible values: The timezone of phone.
The ringtone of phone.
The queue ringtone of phone for queue calls or ring group calls.
The ringtone of phone for external calls.
The date format of phone.
The time format of phone.
The power led of phone.
The backlight of phone.
The screensaver of phone.
Send to RPS or not.
Whether to use https
The list of currently enabled codec formats.
Enable or disable Link Layer Discovery Protocol.
falseEnable or disable VLAN for WAN Port.
falseVLAN ID for WAN PORT.
VLAN priority for WAN Port.
Enable or disable VLAN for PC Port.
falseVLAN ID for PC PORT.
VLAN priority for PC Port.
The interface type for QR code or auto provisioning.
Can be neither:
WEB_DOMAIN:PUBLIC_IPV4:PUBLIC_IPV6:PRIVATE_IPV4:PRIVATE_IPV6:SBC_DOMAIN:
The transport protocol:
Can be either:
UDP:TCP:TLS:
The serial number of phone.
The primary door password of phone. Only numeric sequences are allowed.
The secondary door password of phone. Only numeric sequences are allowed.
OK
No content
Error
POST /api/users/{id}/phones/{phone_id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 561
{
"password": "xxxxxx",
"language": "English",
"transfer": "BLIND",
"timezone": "",
"ringtone": "",
"queue_ringtone": "",
"external_ringtone": "",
"date_format": "",
"time_format": "",
"powerled": "",
"backlight": "",
"screensaver": "",
"rps": false,
"https": false,
"codecs": [
"PCMU",
"PCMA",
"G729",
"G722"
],
"enable_lldp": true,
"enable_vlan_wan_port": true,
"wan_port_id": 1000,
"wan_port_priority": 1,
"enable_vlan_pc_port": true,
"pc_port_id": 1000,
"pc_port_priority": 1,
"interface": "WEB_DOMAIN",
"preferred_transport": "UDP",
"serial_number": "000000",
"door_password1": "xxxxxx",
"door_password2": "xxxxxx"
}No content
Unassign a phone from extension.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwNo Content
No content
Error
POST /api/users/{id}/phones/{phone_id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Retrieve a collection of user's holidays.
NzAwNTUxOTA5NzczMTQ4MTYwOK
Total number of resource.
100Error
GET /api/users/{id}/holidays HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"count": 1,
"items": [
{
"id": "xxxxxx",
"name": "example",
"region": "",
"consecutive": false,
"every_year": true,
"year_start": 0,
"year_end": 0,
"month_start": 6,
"month_end": 6,
"day_start": 1,
"day_end": 1,
"hour_start": 0,
"hour_end": 23,
"minute_start": 0,
"minute_end": 59
}
]
}Create a new holiday for a user.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwThe name of the holiday.
A valid country code based on iso3166-1 alpha-3 standard. see: https://www.iso.org/iso-3166-country-codes.html
Does the holiday take effect every year.
Whether the holiday consists of consecutive days.
The start year of holiday.
The end year of holiday.
The start month of holiday.
The end month of holiday.
The start day of holiday.
The end day of holiday.
The start hour of holiday.
The end hour of holiday.
The start minute of holiday.
The end minute of holiday.
Created
NzAwNTUxOTA5NzczMTQ4MTYwError
POST /api/users/{id}/holidays HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 214
{
"name": "example",
"region": "",
"consecutive": false,
"every_year": true,
"year_start": 0,
"year_end": 0,
"month_start": 6,
"month_end": 6,
"day_start": 1,
"day_end": 1,
"hour_start": 0,
"hour_end": 23,
"minute_start": 0,
"minute_end": 59
}{
"id": "xxxxxxxx"
}NzAwNTUxOTA5NzczMTQ4MTYwThe unique ID of the holiday.
NzAwNTUxOTA5NzczMTQ4MTYwOK
NzAwNTUxOTA5NzczMTQ4MTYwThe name of the holiday.
A valid country code based on iso3166-1 alpha-3 standard. see: https://www.iso.org/iso-3166-country-codes.html
Does the holiday take effect every year.
Whether the holiday consists of consecutive days.
The start year of holiday.
The end year of holiday.
The start month of holiday.
The end month of holiday.
The start day of holiday.
The end day of holiday.
The start hour of holiday.
The end hour of holiday.
The start minute of holiday.
The end minute of holiday.
Error
GET /api/users/{id}/holidays/{holiday_id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "xxxxxx",
"name": "example",
"region": "",
"consecutive": false,
"every_year": true,
"year_start": 0,
"year_end": 0,
"month_start": 6,
"month_end": 6,
"day_start": 1,
"day_end": 1,
"hour_start": 0,
"hour_end": 23,
"minute_start": 0,
"minute_end": 59
}Update a holiday that already exists.
NzAwNTUxOTA5NzczMTQ4MTYwThe unique ID of the holiday.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwThe name of the holiday.
A valid country code based on iso3166-1 alpha-3 standard. see: https://www.iso.org/iso-3166-country-codes.html
Does the holiday take effect every year.
Whether the holiday consists of consecutive days.
The start year of holiday.
The end year of holiday.
The start month of holiday.
The end month of holiday.
The start day of holiday.
The end day of holiday.
The start hour of holiday.
The end hour of holiday.
The start minute of holiday.
The end minute of holiday.
OK
No content
Error
POST /api/users/{id}/holidays/{holiday_id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 214
{
"name": "example",
"region": "",
"consecutive": false,
"every_year": true,
"year_start": 0,
"year_end": 0,
"month_start": 6,
"month_end": 6,
"day_start": 1,
"day_end": 1,
"hour_start": 0,
"hour_end": 23,
"minute_start": 0,
"minute_end": 59
}No content
Destroy a holiday of user.
NzAwNTUxOTA5NzczMTQ4MTYwThe unique ID of the holiday.
NzAwNTUxOTA5NzczMTQ4MTYwNo Content
No content
Invalid ID supplied.
POST /api/users/{id}/holidays/{holiday_id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Retrieve a collection of global holidays.
NzAwNTUxOTA5NzczMTQ4MTYwOK
Error
GET /api/users/{id}/global_holidays HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "xxxxxx",
"name": "example",
"region": "",
"consecutive": false,
"every_year": true,
"year_start": 0,
"year_end": 0,
"month_start": 6,
"month_end": 6,
"day_start": 1,
"day_end": 1,
"hour_start": 0,
"hour_end": 23,
"minute_start": 0,
"minute_end": 59
}
]
}Update global holidays from tenant holidays.
NzAwNTUxOTA5NzczMTQ4MTYwA collection of ID of tenant's holiday.
NzAwNTUxOTA5NzczMTQ4MTYwOK
No content
Error
POST /api/users/{id}/global_holidays HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 23
{
"items": [
"xxx",
"yyy"
]
}No content
Retrieve the call queues which the user belongs.
NzAwNTUxOTA5NzczMTQ4MTYwOK
Error
GET /api/users/{id}/call_queues HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "xxxxxx",
"name": "example",
"extension_number": "101"
}
]
}Retrieve information of call queue agent.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwOK
The extension number.
[0-9]{3,64}The display name of user.
The skill level of agent in queue.
Only valid when polling_strategy is skill based.
1Current status of agent:
READY:NOT_READY:QUEUE_CALL:OTHER_CALL:WRAP_UP:BREAK:LUNCH:TRANSFER:CONSULT_TRANSFER:ON_HOLD:LOGGED_OUT:OFFLINE:
The reason for changing a call queue agent's status.
Standard presets include:
NOT_RAEDYLUNCHBUSINESS_TRIPDO_NOT_DISTURBAWAY
You can also provide a custom string for a custom reason.
Note: This field is only effective when settingstatustoNOT_READY.
For other statuses, this field will be ignored.
The reason field is optional and can be left empty.
NOT_RAEDYError
GET /api/users/{id}/call_queues/{queue_id}/agent HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"extension_number": "101",
"display_name": "example",
"skill_level": 1,
"status": "READY"
}Set call queue agent status.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwChange call queue agent status to one of the following:
READY:NOT_READY:WRAP_UP:LOGGED_IN:LOGGED_OUT:
READYPossible values: OK
No content
Error
POST /api/users/{id}/call_queues/{queue_id}/agent HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 18
{
"status": "READY"
}No content
List speed dial 8.
NzAwNTUxOTA5NzczMTQ4MTYwOK
Error
GET /api/users/{id}/speed_dial_8 HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "xxxxxx",
"code": "1",
"phone_number": "",
"description": ""
}
]
}Create new speed dial 8.
NzAwNTUxOTA5NzczMTQ4MTYwThe speed dial 8 dialing code.
Available code range from 2 to 9.
The phone number that you want to call.
The description of speed dial.
Created
NzAwNTUxOTA5NzczMTQ4MTYwError
POST /api/users/{id}/speed_dial_8 HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 53
{
"code": "1",
"phone_number": "000000",
"description": ""
}{
"id": "xxxxxxxx"
}Retrieve details of speed dial 8 by it's ID.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwOK
NzAwNTUxOTA5NzczMTQ4MTYwThe speed dial 8 dialing code.
Available code range from 2 to 9.
The phone number that you want to call.
The description of speed dial.
Error
GET /api/users/{id}/speed_dial_8/{dial_id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "xxxxxx",
"code": "1",
"phone_number": "000000",
"description": ""
}Update speed dial 8.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwThe speed dial 8 dialing code.
Available code range from 2 to 9.
The phone number that you want to call.
The description of speed dial.
OK
No content
Error
POST /api/users/{id}/speed_dial_8/{dial_id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 53
{
"code": "1",
"phone_number": "000000",
"description": ""
}No content
Remove speed dial 8 by ID.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwNo Content
No content
Error
POST /api/users/{id}/speed_dial_8/{dial_id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
List speed dial 100.
NzAwNTUxOTA5NzczMTQ4MTYwOK
Error
GET /api/users/{id}/speed_dial_100 HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "xxxxxx",
"code": "01",
"phone_number": "",
"description": ""
}
]
}Create new speed dial 100.
NzAwNTUxOTA5NzczMTQ4MTYwThe speed dial 100 dialing code.
Available code range from 00 to 99.
The phone number that you want to call.
The description of speed dial.
Created
NzAwNTUxOTA5NzczMTQ4MTYwError
POST /api/users/{id}/speed_dial_100 HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 54
{
"code": "01",
"phone_number": "000000",
"description": ""
}{
"id": "xxxxxxxx"
}Retrieve details of speed dial 100 by it's ID.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwOK
NzAwNTUxOTA5NzczMTQ4MTYwThe speed dial 100 dialing code.
Available code range from 00 to 99.
The phone number that you want to call.
The description of speed dial.
Error
GET /api/users/{id}/speed_dial_100/{dial_id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "xxxxxx",
"code": "01",
"phone_number": "000000",
"description": ""
}Update speed dial 100.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwThe speed dial 100 dialing code.
Available code range from 00 to 99.
The phone number that you want to call.
The description of speed dial.
OK
No content
Error
POST /api/users/{id}/speed_dial_100/{dial_id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 54
{
"code": "01",
"phone_number": "000000",
"description": ""
}No content
Remove speed dial 100 by ID.
NzAwNTUxOTA5NzczMTQ4MTYwNzAwNTUxOTA5NzczMTQ4MTYwNo Content
No content
Error
POST /api/users/{id}/speed_dial_100/{dial_id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Get a collection of user groups.
Use the filter query parameter to retrieve just a subset of a collection.
Use the search query parameter to restrict the results of a request to match a search criterion.
Use the orderby query parameter to specify the sort order of the items returned from server.
The default order is ascending order.
Use the skip query parameter to set the number of items to skip at the start of a collection.
0Use the top query parameter to specify the page size of the result set.
100OK
Total number of resource.
100Error
GET /api/groups HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"count": 1,
"items": [
{
"id": "xxxxxx",
"name": "example",
"description": ""
}
]
}Create a new user group.
The name of user group.
The description of user group.
Created user group
NzAwNTUxOTA5NzczMTQ4MTYwError
POST /api/groups HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 149
{
"name": "example",
"outbound_caller_ids": [
{
"provider_id": "xxxxxx",
"caller_id": "1000",
"description": "example",
"display_name": "1000"
}
],
"description": ""
}{
"id": "xxxxxxxx"
}Retrieves the properties of an user group.
NzAwNTUxOTA5NzczMTQ4MTYwOK
NzAwNTUxOTA5NzczMTQ4MTYwThe name of user group.
The description of user group.
Error
GET /api/groups/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "xxxxxx",
"name": "example",
"outbound_caller_ids": [
{
"provider_id": "xxxxxx",
"caller_id": "1000",
"description": "example",
"display_name": "1000"
}
],
"description": ""
}Update an user group
NzAwNTUxOTA5NzczMTQ4MTYwThe name of user group.
The description of user group.
OK
No content
Error
POST /api/groups/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 149
{
"name": "example",
"outbound_caller_ids": [
{
"provider_id": "xxxxxx",
"caller_id": "1000",
"description": "example",
"display_name": "1000"
}
],
"description": ""
}No content
Delete a certain user group.
NzAwNTUxOTA5NzczMTQ4MTYwNo Content
No content
Invalid user number supplied
User not found
POST /api/groups/{id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Retrieve a collection of user group members.
NzAwNTUxOTA5NzczMTQ4MTYwOK
Error
GET /api/groups/{id}/members HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "xxxxxx",
"name": "example",
"display_name": "example",
"extension_number": "101"
}
]
}Check if extension is in user group.
NzAwNTUxOTA5NzczMTQ4MTYwThe extension number.
[0-9]{3,64}OK
NzAwNTUxOTA5NzczMTQ4MTYwThe user's account name.
Only letters, numbers, and the following special characters can be added: underscore, dash, single quote, and period (_, -, ', and .).
Username cannot start or end with period (.).
admin, system, administrator, and root are reserved names for system admin only with case ignored.
The display name of user.
The extension number.
[0-9]{3,64}Not Found
GET /api/groups/{id}/members/{extension_number} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "xxxxxx",
"name": "example",
"display_name": "example",
"extension_number": "101"
}Add user member into group.
NzAwNTUxOTA5NzczMTQ4MTYwThe extension number.
[0-9]{3,64}OK
No content
Error
POST /api/groups/{id}/members/{extension_number} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Delete an user group member.
NzAwNTUxOTA5NzczMTQ4MTYwThe extension number.
[0-9]{3,64}No Content
No content
Error
POST /api/groups/{id}/members/{extension_number}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Last updated
Was this helpful?