Delete tenant

POST /account/destroy
Path parameters
  • access_token

    string

    required

    token to be passed as a header

    minLength: 64

    maxLength: 64

Request body
application/json
  • id

    integer

    required

    The userid of the tenant or admin user. Admin user has access to details for his account and other tenantusers, whilst tenant user has access to his account info only.

Sample Request

                      curl -v -X POST http://localhoost:8888/api/account/destroy \
                        -H "Content-Type: application/json" \
                        -H "access_token: 4DFCF1D4C30B4D798ECE3AE43769F008" \
                          -d '{
    "id": 1231334
}'
                      
                    

Responses

200
Successful operation
404
User not found
400
Invalid name supplied

Sample Response

                      
                      
                    

List tenants

GET /account/list
Only available to admin user.
Path parameters
  • access_token

    string

    required

    token to be passed as a header

    minLength: 64

    maxLength: 64

  • pagination

    integer

    required

    The pagination of paging.

    minimum: 1

    maximum: 100000

  • pagesize

    integer

    required

    The size of paging.

    minimum: 1

    maximum: 100

  • sort_by

    string

    required

    Values include "DEFAULT" and "Optional". Default value will be used when user does not specify value for this field.

    enum : ['DEFAULT', 'OPTIONAL']

Sample Request

                      curl -v -X GET http://localhoost:8888/api/account/list \
                        -H "Content-Type: application/json" \
                        -H "access_token: 4DFCF1D4C30B4D798ECE3AE43769F008" \
                      
                    

Responses

200
Successful operation
application/json
  • sort_by

    string

  • pagesize

    integer

  • pagination

    integer

  • tenants

    array

    Show child attributes
  • count

    integer

Sample Response

                      
{
    "sort_by": "DEFAULT",
    "pagesize": 10,
    "pagination": 8,
    "tenants": {
        "max_concurrent_calls": 10,
        "id": 1231334,
        "first_name": "Jack",
        "name": "tenant",
        "company_name": "example Inc.",
        "max_extensions": 1000,
        "domain": "tenant.com",
        "last_name": "Sparrow",
        "enabled": true
    },
    "count": 100
}
                      
                    

Show tenant

GET /account/show
Path parameters
  • access_token

    string

    required

    token to be passed as a header

    minLength: 64

    maxLength: 64

  • id

    integer

    required

    The tenant id of the tenant or admin user. Admin user has access to details for his account and other tenantusers, whilst tenant user has access to his account info only.

    format : int64

Sample Request

                      curl -v -X GET http://localhoost:8888/api/account/show \
                        -H "Content-Type: application/json" \
                        -H "access_token: 4DFCF1D4C30B4D798ECE3AE43769F008" \
                      
                    

Responses

200
Successful operation
application/json
  • sms

    object

    Show child attributes
  • id

    integer

    The userid of the tenant or admin user. Admin user has access to details for his account and other tenantusers, whilst tenant user has access to his account info only.
  • capability

    object

    Show child attributes
  • domain

    string

    Tenant's domain.

    minLength: 32

    maxLength: 32

  • password

    string

    By default, password for admin user is admin. For extension, the password should be the "Web Access Password" of extensioninstead of extension's SIP password.

    minLength: 64

    maxLength: 64

  • smtp

    object

    Show child attributes
  • office_hours

    object

    Show child attributes
  • quota

    object

    Show child attributes
  • cdr

    object

    Show child attributes
  • name

    string

    The name of the tenant or admin user. Admin user has access to details for his account and other tenantusers, whilst tenant user has access to his account info only.

    minLength: 64

    maxLength: 64

  • profile

    object

    Show child attributes
  • extension_event

    object

    Show child attributes
  • enabled

    boolean

    Indicates if it has been enabled for the new user.

Sample Response

                      
{
    "sms": {
        "provider": "Twilio",
        "password": "",
        "token": "",
        "username": "",
        "enabled": false
    },
    "id": 1231334,
    "capability": {
        "max_conference_rooms": 1000,
        "max_concurrent_calls": 10,
        "max_extensions": 1000,
        "max_virtual_receptionists": 1000,
        "max_ring_groups": 1000,
        "max_call_queues": 1000
    },
    "name": "tenant",
    "enabled": true,
    "domain": "tenant.com",
    "password": "ABCabc123",
    "extension_event": {
        "username": "BASIC",
        "authentication_method": "BASIC",
        "password": "BASIC",
        "event_url": "",
        "enabled": false
    },
    "cdr": {
        "cdr_url": "",
        "authentication_method": "",
        "password": "",
        "username": "",
        "enabled": false
    },
    "smtp": {
        "smtp_passwd": "ABCabc123",
        "smtp_server_port": 5000,
        "smtp_username": "example",
        "smtp_security_type": "NO_SECURITY",
        "smtp_server": "example.com",
        "smtp_reply_addr": "example.com"
    }
}
                      
                    

Logs out current logged in user session

POST /account/sign_out
Path parameters
  • access_token

    string

    required

    token to be passed as a header

    minLength: 64

    maxLength: 64

Sample Request

                      curl -v -X POST http://localhoost:8888/api/account/sign_out \
                        -H "Content-Type: application/json" \
                        -H "access_token: 4DFCF1D4C30B4D798ECE3AE43769F008" \
                      
                    

Responses

200
Successful operation

Sample Response

                      
                      
                    

Update tenant

POST /account/update
Set tenant object that already exists.
Path parameters
  • access_token

    string

    required

    token to be passed as a header

    minLength: 64

    maxLength: 64

Request body
application/json
  • sms

    object

    required

    Show child attributes
  • id

    integer

    required

    The userid of the tenant or admin user. Admin user has access to details for his account and other tenantusers, whilst tenant user has access to his account info only.
  • capability

    object

    required

    Show child attributes
  • domain

    string

    required

    Tenant's domain.

    minLength: 32

    maxLength: 32

  • password

    string

    required

    By default, password for admin user is admin. For extension, the password should be the "Web Access Password" of extensioninstead of extension's SIP password.

    minLength: 64

    maxLength: 64

  • smtp

    object

    required

    Show child attributes
  • office_hours

    object

    required

    Show child attributes
  • quota

    object

    required

    Show child attributes
  • cdr

    object

    required

    Show child attributes
  • name

    string

    required

    The name of the tenant or admin user. Admin user has access to details for his account and other tenantusers, whilst tenant user has access to his account info only.

    minLength: 64

    maxLength: 64

  • profile

    object

    required

    Show child attributes
  • extension_event

    object

    required

    Show child attributes
  • enabled

    boolean

    required

    Indicates if it has been enabled for the new user.

Sample Request

                      curl -v -X POST http://localhoost:8888/api/account/update \
                        -H "Content-Type: application/json" \
                        -H "access_token: 4DFCF1D4C30B4D798ECE3AE43769F008" \
                          -d '{
    "sms": {
        "provider": "Twilio",
        "password": "",
        "token": "",
        "username": "",
        "enabled": false
    },
    "quota": {
        "auto_clean_recordings_days": 100,
        "auto_clean_call_reports_days": 100,
        "auto_clean_voicemail_days": 100,
        "disk_quota": 100
    },
    "id": 1231334,
    "capability": {
        "max_conference_rooms": 1000,
        "max_concurrent_calls": 10,
        "max_extensions": 1000,
        "max_virtual_receptionists": 1000,
        "max_ring_groups": 1000,
        "max_call_queues": 1000
    },
    "name": "tenant",
    "enabled": true,
    "domain": "tenant.com",
    "password": "ABCabc123",
    "extension_event": {
        "username": "BASIC",
        "authentication_method": "BASIC",
        "password": "BASIC",
        "event_url": "",
        "enabled": false
    },
    "cdr": {
        "cdr_url": "",
        "authentication_method": "",
        "password": "",
        "username": "",
        "enabled": false
    },
    "smtp": {
        "smtp_passwd": "ABCabc123",
        "smtp_server_port": 5000,
        "smtp_username": "example",
        "smtp_security_type": "NO_SECURITY",
        "smtp_server": "example.com",
        "smtp_reply_addr": "example.com"
    }
}'
                      
                    

Responses

200
Successful operation

Sample Response

                      
                      
                    

Retrive domain settings

GET /domain/show
Retrive domain settings
Path parameters
  • access_token

    string

    required

    token to be passed as a header

    minLength: 64

    maxLength: 64

Sample Request

                      curl -v -X GET http://localhoost:8888/api/domain/show \
                        -H "Content-Type: application/json" \
                        -H "access_token: 4DFCF1D4C30B4D798ECE3AE43769F008" \
                      
                    

Responses

200
Successful operation
application/json
  • domain

    string

    Tenant's domain.

    minLength: 32

    maxLength: 32

Sample Response

                      
{
    "domain": "tenant.com"
}
                      
                    

Update domain

POST /domain/update
Setup SIP domain
Path parameters
  • access_token

    string

    required

    token to be passed as a header

    minLength: 64

    maxLength: 64

Request body
application/json
  • domain

    string

    required

    Tenant's domain.

    minLength: 32

    maxLength: 32

Sample Request

                      curl -v -X POST http://localhoost:8888/api/domain/update \
                        -H "Content-Type: application/json" \
                        -H "access_token: 4DFCF1D4C30B4D798ECE3AE43769F008" \
                          -d '{
    "domain": "tenant.com"
}'
                      
                    

Responses

200
Successful operation

Sample Response

                      
                      
                    

Periodic refreshment of access token

POST /account/token/refresh
Path parameters
  • access_token

    string

    required

    token to be passed as a header

    minLength: 64

    maxLength: 64

Sample Request

                      curl -v -X POST http://localhoost:8888/api/account/token/refresh \
                        -H "Content-Type: application/json" \
                        -H "access_token: 4DFCF1D4C30B4D798ECE3AE43769F008" \
                      
                    

Responses

200
Successful operation
application/json
  • expires

    integer

    Time interval for access token expiration, in seconds. If the access token is not refreshed before the expiry, the token will become invalid.

    minimum: 3600

    maximum: 3600

Sample Response

                      
{
    "expires": 3600
}
                      
                    

Logs user into the system by email

POST /account/email/verify
This API is used to verify the validity of user's credential. It returns HTTP 200 message code and access_token for the successful authentication of a certain PBX account; and a 400 error code and an error message if failed.
Path parameters
  • x-forwarded-for

    string

    optional

    host of request client.
Request body
application/json
  • email

    string

    required

    The email address of tenant or admin user.

    minLength: 6

    maxLength: 64

  • web_password

    string

    required

    By default, password for admin user is admin. For extension, the password should be the "Web Access Password" of extensioninstead of extension's SIP password.

    minLength: 64

    maxLength: 64

  • domain

    string

    required

    Tenant's domain.

    minLength: 32

    maxLength: 32

  • language

    string

    required

Sample Request

                      curl -v -X POST http://localhoost:8888/api/account/email/verify \
                        -H "Content-Type: application/json" \
                        -H "access_token: 4DFCF1D4C30B4D798ECE3AE43769F008" \
                          -d '{
    "email": "example@example.com",
    "web_password": "ABCabc123",
    "domain": "tenant.com"
}'
                      
                    

Responses

200
Successful operation
application/json
  • extension_password

    string

    By default, password for admin user is admin. For extension, the password should be the "Web Access Password" of extensioninstead of extension's SIP password.

    minLength: 64

    maxLength: 64

  • expires

    integer

    Time interval for access token expiration, in seconds. If the access token is not refreshed before the expiry, the token will become invalid.

    minimum: 3600

    maximum: 3600

  • name

    string

    The name of the tenant or admin user. Admin user has access to details for his account and other tenantusers, whilst tenant user has access to his account info only.

    minLength: 64

    maxLength: 64

  • extension_number

    string

  • access_token

    string

    token to be passed as a header

    minLength: 32

    maxLength: 32

  • role

    string

    User type. It could be "administrator", "tenant" or "extension".

    enum : ['administrator', 'tenant', 'extension']

  • domain

    string

    Tenant's domain.

    minLength: 32

    maxLength: 32

  • id

    integer

    The userid of the tenant or admin user. Admin user has access to details for his account and other tenantusers, whilst tenant user has access to his account info only.
  • transports

    array

    Show child attributes
  • api_version

    string

    API version number.

    minLength: 32

    maxLength: 32

Sample Response

                      
{
    "extension_password": "ABCabc123",
    "expires": 3600,
    "name": "tenant",
    "access_token": "4DFCF1D4C30B4D798ECE3AE43769F008",
    "role": "tenant",
    "domain": "tenant.com",
    "id": 1231334,
    "api_version": "12.0"
}
                      
                    

Logs user into the system by name and password

POST /account/credentials/verify
This API is used to verify the validity of user's credential. It returns HTTP 200 message code and access_token for the successful authentication of a certain PBX account; and a 400 error code and an error message if failed.
Path parameters
  • x-forwarded-for

    string

    optional

    host of request client.
Request body
application/json
  • password

    string

    required

    By default, password for admin user is admin. For extension, the password should be the "Web Access Password" of extensioninstead of extension's SIP password.

    minLength: 64

    maxLength: 64

  • name

    string

    required

    The name of the tenant or admin user. Admin user has access to details for his account and other tenantusers, whilst tenant user has access to his account info only.

    minLength: 64

    maxLength: 64

  • language

    string

    required

Sample Request

                      curl -v -X POST http://localhoost:8888/api/account/credentials/verify \
                        -H "Content-Type: application/json" \
                        -H "access_token: 4DFCF1D4C30B4D798ECE3AE43769F008" \
                          -d '{
    "password": "ABCabc123",
    "name": "tenant"
}'
                      
                    

Responses

200
Successful operation
application/json
  • expires

    integer

    Time interval for access token expiration, in seconds. If the access token is not refreshed before the expiry, the token will become invalid.

    minimum: 3600

    maximum: 3600

  • name

    string

    The name of the tenant or admin user. Admin user has access to details for his account and other tenantusers, whilst tenant user has access to his account info only.

    minLength: 64

    maxLength: 64

  • access_token

    string

    token to be passed as a header

    minLength: 32

    maxLength: 32

  • role

    string

    User type. It could be "administrator", "tenant" or "extension".

    enum : ['administrator', 'tenant', 'extension']

  • id

    integer

    The userid of the tenant or admin user. Admin user has access to details for his account and other tenantusers, whilst tenant user has access to his account info only.
  • api_version

    string

    API version number.

    minLength: 32

    maxLength: 32

Sample Response

                      
{
    "expires": 3600,
    "name": "tenant",
    "access_token": "4DFCF1D4C30B4D798ECE3AE43769F008",
    "role": "tenant",
    "id": 1231334,
    "api_version": "12.0"
}
                      
                    

Add a new tenant to the system.

POST /account/create
A maximum of five tenant users could be created. This feature is available to admin user only.
Path parameters
  • access_token

    string

    required

    token to be passed as a header

    minLength: 64

    maxLength: 64

Request body
application/json
  • sms

    object

    required

    Show child attributes
  • password

    string

    required

    By default, password for admin user is admin. For extension, the password should be the "Web Access Password" of extensioninstead of extension's SIP password.

    minLength: 64

    maxLength: 64

  • capability

    object

    required

    Show child attributes
  • domain

    string

    required

    Tenant's domain.

    minLength: 32

    maxLength: 32

  • cdr

    object

    required

    Show child attributes
  • smtp

    object

    required

    Show child attributes
  • office_hours

    object

    required

    Show child attributes
  • quota

    object

    required

    Show child attributes
  • name

    string

    required

    The name of the tenant or admin user. Admin user has access to details for his account and other tenantusers, whilst tenant user has access to his account info only.

    minLength: 64

    maxLength: 64

  • profile

    object

    required

    Show child attributes
  • extension_event

    object

    required

    Show child attributes
  • enabled

    boolean

    required

    Indicates if it has been enabled for the new user.

Sample Request

                      curl -v -X POST http://localhoost:8888/api/account/create \
                        -H "Content-Type: application/json" \
                        -H "access_token: 4DFCF1D4C30B4D798ECE3AE43769F008" \
                          -d '{
    "sms": {
        "provider": "Twilio",
        "password": "",
        "token": "",
        "username": "",
        "enabled": false
    },
    "quota": {
        "auto_clean_recordings_days": 100,
        "auto_clean_call_reports_days": 100,
        "auto_clean_voicemail_days": 100,
        "disk_quota": 100
    },
    "cdr": {
        "cdr_url": "",
        "authentication_method": "",
        "password": "",
        "username": "",
        "enabled": false
    },
    "capability": {
        "max_conference_rooms": 1000,
        "max_concurrent_calls": 10,
        "max_extensions": 1000,
        "max_virtual_receptionists": 1000,
        "max_ring_groups": 1000,
        "max_call_queues": 1000
    },
    "name": "tenant",
    "enabled": true,
    "domain": "tenant.com",
    "password": "ABCabc123",
    "extension_event": {
        "username": "BASIC",
        "authentication_method": "BASIC",
        "password": "BASIC",
        "event_url": "",
        "enabled": false
    },
    "smtp": {
        "smtp_passwd": "ABCabc123",
        "smtp_server_port": 5000,
        "smtp_username": "example",
        "smtp_security_type": "NO_SECURITY",
        "smtp_server": "example.com",
        "smtp_reply_addr": "example.com"
    }
}'
                      
                    

Responses

200
Created tenant object
application/json
  • id

    integer

    The userid of the tenant or admin user. Admin user has access to details for his account and other tenantusers, whilst tenant user has access to his account info only.

Sample Response

                      
{
    "id": 1231334
}
                      
                    

Logs user into the system by extension web password

POST /account/extension/web/verify
This API is used to verify the validity of user's credential. It returns HTTP 200 message code and access_token for the successful authentication of a certain PBX account; and a 400 error code and an error message if failed.
Path parameters
  • x-forwarded-for

    string

    optional

    host of request client.
Request body
application/json
  • extension_number

    string

    required

  • domain

    string

    required

    Tenant's domain.

    minLength: 32

    maxLength: 32

  • web_password

    string

    required

    By default, password for admin user is admin. For extension, the password should be the "Web Access Password" of extensioninstead of extension's SIP password.

    minLength: 64

    maxLength: 64

  • language

    string

    required

Sample Request

                      curl -v -X POST http://localhoost:8888/api/account/extension/web/verify \
                        -H "Content-Type: application/json" \
                        -H "access_token: 4DFCF1D4C30B4D798ECE3AE43769F008" \
                          -d '{
    "domain": "tenant.com",
    "web_password": "ABCabc123"
}'
                      
                    

Responses

200
Successful operation
application/json
  • extension_password

    string

    By default, password for admin user is admin. For extension, the password should be the "Web Access Password" of extensioninstead of extension's SIP password.

    minLength: 64

    maxLength: 64

  • expires

    integer

    Time interval for access token expiration, in seconds. If the access token is not refreshed before the expiry, the token will become invalid.

    minimum: 3600

    maximum: 3600

  • name

    string

    The name of the tenant or admin user. Admin user has access to details for his account and other tenantusers, whilst tenant user has access to his account info only.

    minLength: 64

    maxLength: 64

  • extension_number

    string

  • indept_password

    string

    By default, password for admin user is admin. For extension, the password should be the "Web Access Password" of extensioninstead of extension's SIP password.

    minLength: 64

    maxLength: 64

  • role

    string

    User type. It could be "administrator", "tenant" or "extension".

    enum : ['administrator', 'tenant', 'extension']

  • domain

    string

    Tenant's domain.

    minLength: 32

    maxLength: 32

  • access_token

    string

    token to be passed as a header

    minLength: 32

    maxLength: 32

  • id

    integer

    The userid of the tenant or admin user. Admin user has access to details for his account and other tenantusers, whilst tenant user has access to his account info only.
  • transports

    array

    Show child attributes
  • api_version

    string

    API version number.

    minLength: 32

    maxLength: 32

Sample Response

                      
{
    "extension_password": "ABCabc123",
    "expires": 3600,
    "name": "tenant",
    "indept_password": "ABCabc123",
    "role": "tenant",
    "domain": "tenant.com",
    "access_token": "4DFCF1D4C30B4D798ECE3AE43769F008",
    "id": 1231334,
    "api_version": "12.0"
}
                      
                    

Logs user into the system by extension sip password

POST /account/extension/sip/verify
This API is used to verify the validity of user's credential. It returns HTTP 200 message code and access_token for the successful authentication of a certain PBX account; and a 400 error code and an error message if failed.
Path parameters
  • x-forwarded-for

    string

    optional

    host of request client.
Request body
application/json
  • extension_number

    string

    required

  • domain

    string

    required

    Tenant's domain.

    minLength: 32

    maxLength: 32

  • language

    string

    required

  • sip_password

    string

    required

    By default, password for admin user is admin. For extension, the password should be the "Web Access Password" of extensioninstead of extension's SIP password.

    minLength: 64

    maxLength: 64

Sample Request

                      curl -v -X POST http://localhoost:8888/api/account/extension/sip/verify \
                        -H "Content-Type: application/json" \
                        -H "access_token: 4DFCF1D4C30B4D798ECE3AE43769F008" \
                          -d '{
    "domain": "tenant.com",
    "sip_password": "ABCabc123"
}'
                      
                    

Responses

200
Successful operation
application/json
  • extension_password

    string

    By default, password for admin user is admin. For extension, the password should be the "Web Access Password" of extensioninstead of extension's SIP password.

    minLength: 64

    maxLength: 64

  • expires

    integer

    Time interval for access token expiration, in seconds. If the access token is not refreshed before the expiry, the token will become invalid.

    minimum: 3600

    maximum: 3600

  • name

    string

    The name of the tenant or admin user. Admin user has access to details for his account and other tenantusers, whilst tenant user has access to his account info only.

    minLength: 64

    maxLength: 64

  • extension_number

    string

  • indept_password

    string

    By default, password for admin user is admin. For extension, the password should be the "Web Access Password" of extensioninstead of extension's SIP password.

    minLength: 64

    maxLength: 64

  • role

    string

    User type. It could be "administrator", "tenant" or "extension".

    enum : ['administrator', 'tenant', 'extension']

  • domain

    string

    Tenant's domain.

    minLength: 32

    maxLength: 32

  • access_token

    string

    token to be passed as a header

    minLength: 32

    maxLength: 32

  • id

    integer

    The userid of the tenant or admin user. Admin user has access to details for his account and other tenantusers, whilst tenant user has access to his account info only.
  • transports

    array

    Show child attributes
  • api_version

    string

    API version number.

    minLength: 32

    maxLength: 32

Sample Response

                      
{
    "extension_password": "ABCabc123",
    "expires": 3600,
    "name": "tenant",
    "indept_password": "ABCabc123",
    "role": "tenant",
    "domain": "tenant.com",
    "access_token": "4DFCF1D4C30B4D798ECE3AE43769F008",
    "id": 1231334,
    "api_version": "12.0"
}