Tenants

List tenants

get

Returns a list of tenant summary information. Note that it uses a different, smaller representation of a tenant than retrieving a single tenant.

Authorizations
Query parameters
filterstringOptional

Use the filter query parameter to retrieve just a subset of a collection.

searchstringOptional

Use the search query parameter to restrict the results of a request to match a search criterion.

orderbystringOptional

Use the orderby query parameter to specify the sort order of the items returned from server.
The default order is ascending order.

skipinteger · int32Optional

Use the skip query parameter to set the number of items to skip at the start of a collection.

Default: 0
topinteger · int32 · min: 1 · max: 100Optional

Use the top query parameter to specify the page size of the result set.

Default: 100
Responses
200
OK
application/json
get
GET /api/tenants HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "count": 100,
  "items": [
    {
      "id": "NzAwNTUxOTA5NzczMTQ4MTYw",
      "name": "text",
      "domain": "text",
      "max_extensions": 1000,
      "max_concurrent_calls": 20,
      "enabled": true,
      "website": "text",
      "timezone": "text",
      "currency": "USD",
      "region": "text",
      "avatar_file_name": "text",
      "avatar_file_size": 0,
      "avatar_file_url": "/api/blobs/WexWdABcd5D4PDgzTKV3gAAAEu00WcK",
      "created_at": "2017-07-21T17:32:28Z"
    }
  ]
}

Create a tenant

post

Create an new tenant.

Authorizations
Body
namestring · min: 1 · max: 1024Required

The name of the tenant.

domainstring · min: 1 · max: 280Required

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.

websitestring · max: 255Optional

The official website of tenant.

timezoneall ofRequired

Timezone for tenant.

stringOptional

The IANA Time Zone names, such as "Asia/Shanghai".

currencystringRequired

The Currency code (ISO 4217).

Example: USD
regionstringRequired

A valid country code based on iso3166-1 alpha-3 standard. see: https://www.iso.org/iso-3166-country-codes.html

enabledbooleanOptional

Enable this tenant or not.

Default: true
enable_video_recordingbooleanOptional

Allow extension video recording.

Default: false
enable_audio_recordingbooleanOptional

Allow extension audio recording.

Default: false
enable_dual_track_recordingbooleanOptional

Allow dual track recording for calls.

Default: false
enable_billingbooleanOptional

Enable call billing or not.

Default: false
enable_feature_billingbooleanOptional

Enable call billing feature or not.

Default: false
enable_feature_call_statisticsbooleanOptional

Enable call statistics feature or not.

Default: true
enable_feature_contact_centerbooleanOptional

Enable contact center feature or not.

Default: true
enable_feature_message_channelsbooleanOptional

Enable message channels feature or not.

Default: true
enable_feature_microsoft_teamsbooleanOptional

Enable Microsoft Teams feature or not.

Default: true
enable_feature_trunksbooleanOptional

Enable trunks feature or not.

Default: true
enable_feature_whats_appbooleanOptional

Enable WhatsApp feature or not.

Default: true
custom_optionsstringOptional

Some custom configuration options serialized as json string

max_extensionsinteger · int32Optional

The maximum number of users that the tenant is allowed to create.

Default: 1000
max_concurrent_callsinteger · int32Optional

The maximum number of concurrent calls that the tenant is allowed to have.

Default: 20
max_ring_groupsinteger · int32Optional

The maximum number of ring groups that the tenant is allowed to create.

Default: 20
max_virtual_receptionistsinteger · int32Optional

The maximum number of virtual receptionists that the tenant is allowed to create.

Default: 20
max_call_queuesinteger · int32Optional

The maximum number of call queues that the tenant is allowed to create.

Default: 20
max_conference_roomsinteger · int32Optional

The maximum number of conference rooms that the tenant is allowed to be online at the same time.

Default: 20
disk_quotastringOptional

The maximum size of disk space that the tenant is allowed to have.
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.

Default: ""
im_disk_quotastringOptional

The maximum size of disk space that the tenant 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.

Default: ""
extension_im_disk_quotastringOptional

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.

Default: 1GB
recording_retentioninteger · int32 · min: 1Optional

The retention period in days of recordings.

Default: 180
call_report_retentioninteger · min: 1Optional

The retention period in days of call report files.

Default: 30
log_retentioninteger · min: 1Optional

The retention period in days of audit logs and event logs.

Default: 180
temp_file_retentioninteger · min: 1Optional

The retention period in days of temporary files.

Default: 30
contact_match_typestring · enumOptional

The match method of contact:
Can be either:

  • DISABLE: Disable match.
  • MATCH_EXACTLY: Match exactly.
  • MATCH_LENGTH: Match at least specified number of characters.
Default: MATCH_EXACTLYPossible values:
contact_match_lengthinteger · int32Optional

The matched length of characters when contact_match_type is MATCH_LENGTH.

contact_append_typestring · enumOptional

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.
Default: DISABLEPossible values:
contact_update_intervalinteger · uint32 · min: 1 · max: 43200Optional

The interval for synchronizing contacts from the server, in minutes.

Default: 720
Responses
201
Created
application/json
post
POST /api/tenants HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1894

{
  "name": "text",
  "domain": "text",
  "website": "text",
  "timezone": "text",
  "currency": "USD",
  "region": "text",
  "enabled": true,
  "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,
  "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": "",
  "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"
        }
      ]
    }
  },
  "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": "DISABLE",
  "contact_update_interval": 720
}
{
  "id": "NzAwNTUxOTA5NzczMTQ4MTYw"
}

Retrieve a tenant

get

Get detailed properties for a tenant.

Authorizations
Path parameters
idall ofRequired

The unique ID of tenant.

stringOptional

The unique ID of the resource.

Example: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200
OK
application/json
get
GET /api/tenants/{id} 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",
  "enabled": true,
  "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,
  "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": "DISABLE",
  "contact_update_interval": 720,
  "created_at": "2017-07-21T17:32:28Z",
  "avatar_file_name": "text",
  "avatar_file_size": 0,
  "avatar_file_url": "/api/blobs/WexWdABcd5D4PDgzTKV3gAAAEu00WcK"
}

Update a tenant

post

Update tenant properties by it's unique ID.

Authorizations
Path parameters
idall ofRequired

The unique ID of tenant.

stringOptional

The unique ID of the resource.

Example: NzAwNTUxOTA5NzczMTQ4MTYw
Body
domainstring · min: 1 · max: 280Optional

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.

websitestring · max: 255Optional

The official website of tenant.

timezoneall ofOptional

Timezone for tenant.

stringOptional

The IANA Time Zone names, such as "Asia/Shanghai".

currencystringOptional

The Currency code (ISO 4217).

Example: USD
regionstringOptional

A valid country code based on iso3166-1 alpha-3 standard. see: https://www.iso.org/iso-3166-country-codes.html

enabledbooleanOptional

Enable this tenant or not.

Default: true
enable_video_recordingbooleanOptional

Allow extension video recording.

Default: false
enable_audio_recordingbooleanOptional

Allow extension audio recording.

Default: false
enable_dual_track_recordingbooleanOptional

Allow dual track recording for calls.

Default: false
enable_billingbooleanOptional

Enable call billing or not.

Default: false
enable_feature_billingbooleanOptional

Enable call billing feature or not.

Default: false
enable_feature_call_statisticsbooleanOptional

Enable call statistics feature or not.

Default: true
enable_feature_contact_centerbooleanOptional

Enable contact center feature or not.

Default: true
enable_feature_message_channelsbooleanOptional

Enable message channels feature or not.

Default: true
enable_feature_microsoft_teamsbooleanOptional

Enable Microsoft Teams feature or not.

Default: true
enable_feature_trunksbooleanOptional

Enable trunks feature or not.

Default: true
enable_feature_whats_appbooleanOptional

Enable WhatsApp feature or not.

Default: true
custom_optionsstringOptional

Some custom configuration options serialized as json string

max_extensionsinteger · int32Optional

The maximum number of users that the tenant is allowed to create.

Default: 1000
max_concurrent_callsinteger · int32Optional

The maximum number of concurrent calls that the tenant is allowed to have.

Default: 20
max_ring_groupsinteger · int32Optional

The maximum number of ring groups that the tenant is allowed to create.

Default: 20
max_virtual_receptionistsinteger · int32Optional

The maximum number of virtual receptionists that the tenant is allowed to create.

Default: 20
max_call_queuesinteger · int32Optional

The maximum number of call queues that the tenant is allowed to create.

Default: 20
max_conference_roomsinteger · int32Optional

The maximum number of conference rooms that the tenant is allowed to be online at the same time.

Default: 20
disk_quotastringOptional

The maximum size of disk space that the tenant is allowed to have.
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.

Default: ""
im_disk_quotastringOptional

The maximum size of disk space that the tenant 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.

Default: ""
extension_im_disk_quotastringOptional

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.

Default: 1GB
recording_retentioninteger · int32 · min: 1Optional

The retention period in days of recordings.

Default: 180
call_report_retentioninteger · min: 1Optional

The retention period in days of call report files.

Default: 30
log_retentioninteger · min: 1Optional

The retention period in days of audit logs and event logs.

Default: 180
temp_file_retentioninteger · min: 1Optional

The retention period in days of temporary files.

Default: 30
contact_match_typestring · enumOptional

The match method of contact:
Can be either:

  • DISABLE: Disable match.
  • MATCH_EXACTLY: Match exactly.
  • MATCH_LENGTH: Match at least specified number of characters.
Default: MATCH_EXACTLYPossible values:
contact_match_lengthinteger · int32Optional

The matched length of characters when contact_match_type is MATCH_LENGTH.

contact_append_typestring · enumOptional

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.
Default: DISABLEPossible values:
contact_update_intervalinteger · uint32 · min: 1 · max: 43200Optional

The interval for synchronizing contacts from the server, in minutes.

Default: 720
Responses
200
OK
post
POST /api/tenants/{id} HTTP/1.1
Host: hostname:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1880

{
  "domain": "text",
  "website": "text",
  "timezone": "text",
  "currency": "USD",
  "region": "text",
  "enabled": true,
  "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,
  "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": "",
  "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"
        }
      ]
    }
  },
  "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": "DISABLE",
  "contact_update_interval": 720
}

No content