Tenants
Manage your tenants. Admin user has access to details for his account and other tenant users, whilst tenant user has access to his account info only.
Get detailed properties for current tenant.
GET /api/tenant HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "NzAwNTUxOTA5NzczMTQ4MTYw",
"name": "text",
"domain": "text",
"website": "text",
"timezone": "text",
"currency": "USD",
"region": "text",
"enable_video_recording": false,
"enable_audio_recording": false,
"enable_dual_track_recording": false,
"enable_billing": false,
"enable_feature_billing": false,
"enable_feature_call_statistics": true,
"enable_feature_contact_center": true,
"enable_feature_message_channels": true,
"enable_feature_microsoft_teams": true,
"enable_feature_trunks": true,
"enable_feature_whats_app": true,
"enable_night_mode": false,
"enable_two_factor_authentication": false,
"custom_options": "text",
"max_extensions": 1000,
"max_concurrent_calls": 20,
"max_ring_groups": 20,
"max_virtual_receptionists": 20,
"max_call_queues": 20,
"max_conference_rooms": 20,
"disk_quota": "",
"used_disk_quota": "text",
"im_disk_quota": "",
"extension_im_disk_quota": "1GB",
"recording_retention": 180,
"call_report_retention": 30,
"log_retention": 180,
"temp_file_retention": 30,
"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"
}
]
}
},
"outbound_caller_ids": [
{
"provider_id": "NzAwNTUxOTA5NzczMTQ4MTYw",
"caller_id": "text",
"description": "text"
}
],
"e164": {
"enabled": false,
"international_code": "text",
"country": "Angola(244)",
"area_code": "text",
"national_code": "text",
"prefix": "text",
"remove_special_chars": false,
"remove_duplicate_countries": true,
"remove_duplicate_area_codes": true
},
"cdr_event": {
"enabled": false,
"auth": "DISABLE",
"username": "text",
"password": "text",
"token": "text",
"url": "text"
},
"extension_event": {
"enabled": false,
"auth": "DISABLE",
"username": "text",
"password": "text",
"token": "text",
"url": "text"
},
"contact_match_type": "MATCH_EXACTLY",
"contact_match_length": 1,
"contact_append_type": "APPEND",
"contact_update_interval": 720,
"password_force_reset": false,
"avatar_file_name": "text",
"avatar_file_size": 0,
"avatar_file_url": "/api/blobs/WexWdABcd5D4PDgzTKV3gAAAEu00WcK",
"stir_shaken_cert": "text",
"stir_shaken_key": "text"
}
Set tenant object that already exists.
The name of the tenant.
The 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 official website of tenant.
Timezone for tenant.
The IANA Time Zone names, such as "Asia/Shanghai".
The Currency code (ISO 4217).
USD
A valid country code based on iso3166-1 alpha-3 standard. see: https://www.iso.org/iso-3166-country-codes.html
Allow extension video recording.
false
Allow extension audio recording.
false
Allow dual track recording for calls.
false
Whether to enable night mode.
false
Whether to enable two-factor authentication.
false
Some custom configuration options serialized as json string
The retention period in days of recordings.
180
The retention period in days of call report files.
30
The retention period in days of audit logs and event logs.
180
The retention period in days of temporary files.
30
The maximum size of disk space that the extension user is allowed to have for IM service.
Specify a positive number and specify the unit at the same time, KB, MB, GB, PB are all allowed.
For example: 100MB, 1000GB. Leave it empty, means unlimited.
1GB
The match method of contact:
Can be either:
DISABLE
: Disable match.MATCH_EXACTLY
: Match exactly.MATCH_LENGTH
: Match at least specified number of characters.
MATCH_EXACTLY
Possible values: The matched length of characters when contact_match_type is MATCH_LENGTH
.
Method for adding Group, Queue or DID/DDI Names to Caller ID:
Can be either:
DISABLE
: Do not add.APPEND
: Append names.PREPEND
: Prepend names.
APPEND
Possible values: The interval for synchronizing contacts from the server, in minutes.
720
Whether to force reset the initial password.
false
The unique ID of the file.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
Content of this certificate file for STIR/SHAKEN support.
Content of this private certificate file for STIR/SHAKEN support.
POST /api/tenant HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1727
{
"name": "text",
"domain": "text",
"website": "text",
"timezone": "text",
"currency": "USD",
"region": "text",
"enable_video_recording": false,
"enable_audio_recording": false,
"enable_dual_track_recording": false,
"enable_night_mode": false,
"enable_two_factor_authentication": false,
"custom_options": "text",
"recording_retention": 180,
"call_report_retention": 30,
"log_retention": 180,
"temp_file_retention": 30,
"extension_im_disk_quota": "1GB",
"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"
}
]
}
},
"outbound_caller_ids": [
{
"provider_id": "NzAwNTUxOTA5NzczMTQ4MTYw",
"caller_id": "text",
"description": "text"
}
],
"e164": {
"enabled": false,
"international_code": "text",
"country": "Angola(244)",
"area_code": "text",
"national_code": "text",
"prefix": "text",
"remove_special_chars": false,
"remove_duplicate_countries": true,
"remove_duplicate_area_codes": true
},
"cdr_event": {
"enabled": false,
"auth": "DISABLE",
"username": "text",
"password": "text",
"token": "text",
"url": "text"
},
"extension_event": {
"enabled": false,
"auth": "DISABLE",
"username": "text",
"password": "text",
"token": "text",
"url": "text"
},
"contact_match_type": "MATCH_EXACTLY",
"contact_match_length": 1,
"contact_append_type": "APPEND",
"contact_update_interval": 720,
"password_force_reset": false,
"avatar_file_id": "NzAwNTUxOTA5NzczMTQ4MTYw",
"stir_shaken_cert": "text",
"stir_shaken_key": "text"
}
No content
Get status of current tenant.
GET /api/tenant/status HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"version": "text",
"licensed_users": 1,
"current_users": 1,
"online_users": 1,
"current_calls": 1,
"current_queues": 1,
"current_conference_rooms": 1,
"current_ring_groups": 1,
"current_ivrs": 1,
"current_trunks": 1,
"calls_in_24_hours": [
{
"time": "2017-07-21T17:32:28Z",
"count": 1
}
]
}
Retrieve details of tenant password policy.
GET /api/tenant/password_policy HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"min_length": 6,
"max_length": 32,
"contains_letters": true,
"contains_numbers": true,
"contains_special_letters": true,
"disable_sequential_characters": true,
"disable_repeating_characters": true,
"disable_account_information": true
}
Update tenant password policy.
The password must contains at least min_length
characters.
Must be less than or equal the value of max_length
.
6
The password must contains at most max_length
characters.
Must be greater than or equal the value of min_length
.
32
The password must contains at least one letter (latin characters).
true
The password must contains at least one number (0-9).
true
The password must contains at least one upper case letter or special character (e.g. ~,!,@,#,$,%,^,&,*,(,),_,+,=).
true
The password must not contains sequential_characters.
true
The password must not contains repeating_characters.
true
The password must not similar to the account information.
true
POST /api/tenant/password_policy HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 220
{
"min_length": 6,
"max_length": 32,
"contains_letters": true,
"contains_numbers": true,
"contains_special_letters": true,
"disable_sequential_characters": true,
"disable_repeating_characters": true,
"disable_account_information": true
}
No content
Recharge into the tenant's account.
User balance. Precision is five digits.
POST /api/tenant/balance HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 13
{
"balance": 1
}
No content
Retrieve details of tenant custom headers.
GET /api/tenant/custom_headers HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"add": [
{
"name": "text",
"value": "text",
"scope": "TRUNK"
}
],
"relay": [
{
"name": "text",
"scope": "TRUNK"
}
]
}
Update tenant custom headers.
The added custom SIP headers and forwarded SIP headers in tenant scope.
POST /api/tenant/custom_headers HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 98
{
"add": [
{
"name": "text",
"value": "text",
"scope": "TRUNK"
}
],
"relay": [
{
"name": "text",
"scope": "TRUNK"
}
]
}
No content
Update voicemail server
The extension number of voicemail server.
The extension number.
[0-9]{3,64}
Duration the voicemail will be kept before auto deleted, in days.
30
The minimum length of a voicemail, in seconds. Any callings shorter than this value will not be saved as voicemail.
1
POST /api/voicemail HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 60
{
"extension_number": "text",
"retain_days": 30,
"min_seconds": 1
}
No content
Retrieve a collection of holiday entries.
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.
0
Use the top
query parameter to specify the page size of the result set.
100
GET /api/holidays HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"count": 100,
"items": [
{
"id": "NzAwNTUxOTA5NzczMTQ4MTYw",
"name": "text",
"region": "text",
"consecutive": true,
"every_year": true,
"year_start": 1,
"year_end": 1,
"month_start": 1,
"month_end": 1,
"day_start": 1,
"day_end": 1,
"hour_start": 1,
"hour_end": 1,
"minute_start": 1,
"minute_end": 1
}
]
}
Create a new holiday
The 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
Whether the holiday consists of consecutive days.
Does the holiday take effect every year.
The start year of holiday.
The start 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.
POST /api/holidays HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 212
{
"name": "text",
"region": "text",
"consecutive": true,
"every_year": true,
"year_start": 1,
"year_end": 1,
"month_start": 1,
"month_end": 1,
"day_start": 1,
"day_end": 1,
"hour_start": 1,
"hour_end": 1,
"minute_start": 1,
"minute_end": 1
}
{
"id": "NzAwNTUxOTA5NzczMTQ4MTYw"
}
The unique ID of holiday.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
GET /api/holidays/{id} HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "NzAwNTUxOTA5NzczMTQ4MTYw",
"name": "text",
"region": "text",
"consecutive": true,
"every_year": true,
"year_start": 1,
"year_end": 1,
"month_start": 1,
"month_end": 1,
"day_start": 1,
"day_end": 1,
"hour_start": 1,
"hour_end": 1,
"minute_start": 1,
"minute_end": 1
}
Update a holiday that already exists.
The unique ID of holiday.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
The 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
Whether the holiday consists of consecutive days.
Does the holiday take effect every year.
The start year of holiday.
The start 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.
POST /api/holidays/{id} HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 212
{
"name": "text",
"region": "text",
"consecutive": true,
"every_year": true,
"year_start": 1,
"year_end": 1,
"month_start": 1,
"month_end": 1,
"day_start": 1,
"day_end": 1,
"hour_start": 1,
"hour_end": 1,
"minute_start": 1,
"minute_end": 1
}
No content
Destroy a certain holiday entry.
The unique ID of holiday.
The unique ID of the resource.
NzAwNTUxOTA5NzczMTQ4MTYw
POST /api/holidays/{id}/destroy HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content