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
  • 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

  • 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/credentials/verify \
                        -H "Content-Type: application/json" \
                        -H "access_token: 4DFCF1D4C30B4D798ECE3AE43769F008" \
                          -d '{
    "name": "tenant",
    "password": "ABCabc123"
}'
                      
                    

Responses

200
Successful operation
application/json
  • api_version

    string

    API version number.

    minLength: 32

    maxLength: 32

  • 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

  • role

    string

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

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

  • id

    string

    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.

    format : in64

  • access_token

    string

    token to be passed as a header

    minLength: 32

    maxLength: 32

Sample Response

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

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
  • pagesize

    integer

  • sort_by

    string

  • pagination

    integer

  • tenants

    array

    Show child attributes
  • count

    integer

Sample Response

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

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

                      
                      
                    

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
  • cdr

    object

    required

    Show child attributes
  • capability

    object

    required

    Show child attributes
  • extension_event

    object

    required

    Show child attributes
  • smtp

    object

    required

    Show child attributes
  • office_hours

    object

    required

    Show child attributes
  • domain

    string

    required

    Tenant's domain.

    minLength: 32

    maxLength: 32

  • enabled

    boolean

    required

    Indicates if it has been enabled for the new user.
  • sms

    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

  • 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

  • profile

    object

    required

    Show child attributes
  • quota

    object

    required

    Show child attributes

Sample Request

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

Responses

200
Created tenant object
application/json
  • id

    string

    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.

    format : in64

Sample Response

                      
{
    "id": 1231334
}
                      
                    

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
  • cdr

    object

    required

    Show child attributes
  • capability

    object

    required

    Show child attributes
  • domain

    string

    required

    Tenant's domain.

    minLength: 32

    maxLength: 32

  • smtp

    object

    required

    Show child attributes
  • id

    string

    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.

    format : in64

  • extension_event

    object

    required

    Show child attributes
  • enabled

    boolean

    required

    Indicates if it has been enabled for the new user.
  • sms

    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

  • 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

  • profile

    object

    required

    Show child attributes
  • office_hours

    object

    required

    Show child attributes
  • quota

    object

    required

    Show child attributes

Sample Request

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

Responses

200
Successful operation

Sample Response

                      
                      
                    

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

  • 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

  • language

    string

    required

  • domain

    string

    required

    Tenant's domain.

    minLength: 32

    maxLength: 32

Sample Request

                      curl -v -X POST http://localhoost:8888/api/account/extension/sip/verify \
                        -H "Content-Type: application/json" \
                        -H "access_token: 4DFCF1D4C30B4D798ECE3AE43769F008" \
                          -d '{
    "sip_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

  • api_version

    string

    API version number.

    minLength: 32

    maxLength: 32

  • 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

  • transports

    array

    Show child attributes
  • domain

    string

    Tenant's domain.

    minLength: 32

    maxLength: 32

  • 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']

  • id

    string

    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.

    format : in64

  • 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

Sample Response

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

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
}
                      
                    

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

                      
                      
                    

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"
}
                      
                    

Show tenant

GET /account/show
Path parameters
  • access_token

    string

    required

    token to be passed as a header

    minLength: 64

    maxLength: 64

  • id

    string

    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
  • cdr

    object

    Show child attributes
  • capability

    object

    Show child attributes
  • domain

    string

    Tenant's domain.

    minLength: 32

    maxLength: 32

  • smtp

    object

    Show child attributes
  • id

    string

    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.

    format : in64

  • extension_event

    object

    Show child attributes
  • enabled

    boolean

    Indicates if it has been enabled for the new user.
  • sms

    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

  • 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

  • profile

    object

    Show child attributes
  • office_hours

    object

    Show child attributes
  • quota

    object

    Show child attributes

Sample Response

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

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

    string

    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.

    format : in64

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

                      
                      
                    

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
  • domain

    string

    required

    Tenant's domain.

    minLength: 32

    maxLength: 32

  • language

    string

    required

  • 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

  • email

    string

    required

    The email address of tenant or admin user.

    minLength: 6

    maxLength: 64

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

  • api_version

    string

    API version number.

    minLength: 32

    maxLength: 32

  • 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

  • transports

    array

    Show child attributes
  • domain

    string

    Tenant's domain.

    minLength: 32

    maxLength: 32

  • role

    string

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

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

  • id

    string

    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.

    format : in64

  • 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

Sample Response

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

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

  • language

    string

    required

  • 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

Sample Request

                      curl -v -X POST http://localhoost:8888/api/account/extension/web/verify \
                        -H "Content-Type: application/json" \
                        -H "access_token: 4DFCF1D4C30B4D798ECE3AE43769F008" \
                          -d '{
    "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

  • api_version

    string

    API version number.

    minLength: 32

    maxLength: 32

  • 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

  • transports

    array

    Show child attributes
  • domain

    string

    Tenant's domain.

    minLength: 32

    maxLength: 32

  • 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']

  • id

    string

    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.

    format : in64

  • 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

Sample Response

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