For the complete documentation index, see llms.txt. This page is also available as Markdown.

Users

Manage extension users.

List roles

get

List a collection of roles.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
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
countinteger · int64Optional

Total number of resource.

Example: 100
get/roles
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 role

post

Create a new role.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
namestring · min: 1 · max: 64Required

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.
Example: User
capabilitiesstring[]Required

The permission string.

descriptionstring · max: 1024Optional

Role's description.

Responses
201

OK

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
post/roles
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"
}

Get a role

get

Retrieves the settings of a role.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
namestring · min: 1 · max: 64Optional

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.
Example: User
protectedbooleanRead-onlyOptional

Whether role is protected.

Default: false
capabilitiesstring[]Optional

The permission string.

descriptionstring · max: 1024Optional

Role's description.

get/roles/{id}
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": ""
}

Update a role

post

Modify the settings of a role.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
namestring · min: 1 · max: 64Optional

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.
Example: User
capabilitiesstring[]Optional

The permission string.

descriptionstring · max: 1024Optional

Role's description.

Responses
200

OK

No content

post/roles/{id}
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 role

post

Delete a certain role.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
204

No Content

No content

post/roles/{id}/destroy
POST /api/roles/{id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Retrieve current user

get

Retrieve details of current user.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

OK

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
namestring · min: 1 · max: 64Optional

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.

emailstring · max: 128Optional

The email address.

Example: example@example.com
display_namestring · min: 1 · max: 128Optional

The display name of user.

rolestring · min: 1 · max: 64Optional

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.
Example: User
role_idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
role_namestring · min: 1 · max: 64Optional

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.
Example: User
enabledbooleanOptional

Allows temporarily disabling the extension.

Default: true
mobile_phonestring · max: 32Optional

The mobile phone number of user.

work_phonestring · max: 32Optional

The office phone number of user.

home_phonestring · max: 32Optional

The home phone number of user.

addressstring · max: 128Optional

The address.

departmentstring · max: 128Optional

The department of user.

extension_numberstring · min: 3 · max: 64Optional

The extension number.

Pattern: [0-9]{3,64}
enable_audio_recordingbooleanOptional

Records all calls and saves audio recordings on server.

Default: false
enable_video_recordingbooleanOptional

Records all calls and saves video recordings on server.

Default: false
enable_dndbooleanOptional

Enable Do Not Disturb or not.

enable_acbbooleanOptional

Enable Automatic Callback or not.

enable_hot_deskingbooleanOptional

Enable hot desking feature or not.

Default: false
anonymous_outbound_callsbooleanOptional

Always make outbound anonymous calls or not.

Default: false
delivery_outbound_cidbooleanOptional

Always delivery outbound caller ID or not.

Default: true
smsstring · enumOptional

The 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.
Default: DISABLEPossible values:
custom_optionsstringOptional

Some custom configuration options serialized as json string

voicemail_promptstringOptional

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.

Example: en-US
enable_voicemail_pinbooleanOptional

Whether the PIN is required to access voice mail of extension.

Default: true
voicemail_pinstringOptional

The PIN number for accessing.

enable_voicemail_notifybooleanOptional

Enable voicemail to email notify.

Default: false
voicemail_play_datetimestring · enumOptional

Announces 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.
Possible values:
interfacestring · enumOptional

The interface type for QR code or auto provisioning.
Can be neither:

  • WEB_DOMAIN:
  • PUBLIC_IPV4:
  • PUBLIC_IPV6:
  • PRIVATE_IPV4:
  • PRIVATE_IPV6:
  • SBC_DOMAIN:
Possible values:
enable_ai_transcriptbooleanOptional

Enable ai transcript or not.

preferred_transportstring · enumOptional

The transport protocol:
Can be either:

  • UDP:
  • TCP:
  • TLS:
Possible values:
created_atstring · date_timeOptional

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

Example: 2017-07-21T17:32:28Z
avatar_file_namestringOptional

The name of the file.

avatar_file_sizeinteger · int64Optional

The file size in bytes.

Example: 0
avatar_file_urlstringRead-onlyOptional

The relative path to file url for file downloading.

Example: /api/blobs/WexWdABcd5D4PDgzTKV3gAAAEu00WcK
profilestringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
providerstringOptional

The account provider.

provider_idstringOptional

The account provider ID.

sync_typestringOptional

The synchronization method.

enable_uc_appbooleanOptional

Is login to the app allowed.

enable_teams_phone_appbooleanOptional

Is it allowed to log in to the teams phone app.

timezonestringOptional

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

enable_selective_call_acceptationbooleanOptional

Enable selective call acceptations or not.

Default: false
enable_selective_call_rejectionbooleanOptional

Enable selective call rejections or not.

Default: false
get/user
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.

post

Update current user properties.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
emailstring · max: 128Optional

The email address.

Example: example@example.com
display_namestring · min: 1 · max: 128Optional

The display name of user.

mobile_phonestring · max: 32Optional

The mobile phone number of user.

work_phonestring · max: 32Optional

The office phone number of user.

home_phonestring · max: 32Optional

The home phone number of user.

addressstring · max: 128Optional

The address.

departmentstring · max: 128Optional

The department of user.

enable_audio_recordingbooleanOptional

Records all calls and saves audio recordings on server.

Default: false
enable_video_recordingbooleanOptional

Records all calls and saves video recordings on server.

Default: false
enable_dndbooleanOptional

Enable Do Not Disturb or not.

enable_acbbooleanOptional

Enable Automatic Callback or not.

enable_hot_deskingbooleanOptional

Enable hot desking feature or not.

Default: false
anonymous_outbound_callsbooleanOptional

Always make outbound anonymous calls or not.

Default: false
delivery_outbound_cidbooleanOptional

Always delivery outbound caller ID or not.

Default: true
smsstring · enumOptional

The 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.
Default: DISABLEPossible values:
custom_optionsstringOptional

Some custom configuration options serialized as json string

voicemail_promptstringOptional

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.

Example: en-US
enable_voicemail_pinbooleanOptional

Whether the PIN is required to access voice mail of extension.

Default: true
voicemail_pinstringOptional

The PIN number for accessing.

enable_voicemail_notifybooleanOptional

Enable voicemail to email notify.

Default: false
voicemail_play_datetimestring · enumOptional

Announces 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.
Possible values:
interfacestring · enumOptional

The interface type for QR code or auto provisioning.
Can be neither:

  • WEB_DOMAIN:
  • PUBLIC_IPV4:
  • PUBLIC_IPV6:
  • PRIVATE_IPV4:
  • PRIVATE_IPV6:
  • SBC_DOMAIN:
Possible values:
preferred_transportstring · enumOptional

The transport protocol:
Can be either:

  • UDP:
  • TCP:
  • TLS:
Possible values:
enable_ai_transcriptbooleanOptional

Enable ai transcript or not.

enable_uc_appbooleanOptional

Enable user-agent of app or not.

enable_teams_phone_appbooleanOptional

Enable enable teams phone app or not.

avatar_file_idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
timezonestringOptional

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

enable_selective_call_acceptationbooleanOptional

Enable selective call acceptations or not.

Default: false
enable_selective_call_rejectionbooleanOptional

Enable selective call rejections or not.

Default: false
Responses
200

OK

No content

post/user
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

post

Reset current user password.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
old_passwordstringOptional

The password of user.

new_passwordstringOptional

The password of user.

Responses
200

OK

No content

post/user/password
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

post

Reset current user extension password.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
old_passwordstringOptional

The extension password.

new_passwordstringOptional

The extension password.

Responses
200

OK

No content

post/user/extension_password
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

post

Reset current user profile.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

OK

No content

post/user/profile
POST /api/user/profile HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Retrieves current user status

get

Get status of current user.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

OK

application/json
statusstring · enumOptional

Status of extension:

  • ONLINE
  • OFFLINE
  • ONCALL
Possible values:
presencestring · enumOptional

The current presence of extension:

  • DO_NOT_DISTURB:
  • AWAY:
  • BUSINESS_TRIP:
  • LUNCH:
  • OFFLINE
  • ONLINE
Possible values:
presence_notestring · max: 128Optional

The presence note.

enable_dndbooleanOptional

Do Not Disturb enabled or not.

enable_acbbooleanOptional

Automatic Callback enabled or not.

get/user/status
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

post

Set current extension user presence.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
presencestring · enumOptional

The specified presence of the extension.

  • ONLINE
  • LUNCH
  • BUSINESS_TRIP
  • DO_NOT_DISTURB
  • AWAY
Possible values:
presence_notestring · max: 128Optional

The presence note.

Responses
200

OK

No content

post/user/presence
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 balance.

get

Retrieve current user's balance.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

OK

application/json
balancenumber · doubleOptional

User balance. Precision is five digits.

get/user/balance
GET /api/user/balance HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "balance": 100
}

List current user voicemail greetings

get

Retrieves a collection of greetings for current user.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

OK

application/json
get/user/greetings
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

post

Create voicemail greeting for current user.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
file_idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
201

OK

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
post/user/greetings
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"
}

Enable one of current user's greetings.

post

Set one of current user's greetings to activated state.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/user/greetings/{id}/enable
POST /api/user/greetings/{id}/enable HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Disable current user greeting

post

Disable current user voicemail greeting by it's unique ID.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/user/greetings/{id}/disable
POST /api/user/greetings/{id}/disable HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Delete voicemail greeting

post

Destroy a voicemail greeting from user.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
204

No Content

No content

post/user/greetings/{id}/destroy
POST /api/user/greetings/{id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

List current user's IP phones

get

Retrieve a collection of IP Phones for current user.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

OK

application/json
get/user/phones
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 phone to current user

post

Assign a phone to current user.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
macstringRequired

MAC address.

filenamestringRequired

Template XML file name for phone provisioning.

vendorstringRequired

The phone vendor of IP phone.

modelstringRequired

The name of IP phone model.

passwordstringRequired

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

languagestringRequired

Language for strings displayed on Phone Display LCD.

transferstring · enumRequired

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.
Default: BLINDPossible values:
timezonestringRequired

The timezone of phone.

ringtonestringOptional

The ringtone of phone.

queue_ringtonestringOptional

The queue ringtone of phone for queue calls or ring group calls.

external_ringtonestringOptional

The ringtone of phone for external calls.

date_formatstringOptional

The date format of phone.

time_formatstringOptional

The time format of phone.

powerledstringOptional

The power led of phone.

backlightstringOptional

The backlight of phone.

screensaverstringOptional

The screensaver of phone.

rpsbooleanOptional

Send to RPS or not.

httpsbooleanOptional

Whether to use https

codecsstring[]Required

The list of currently enabled codec formats.

enable_lldpbooleanOptional

Enable or disable Link Layer Discovery Protocol.

Default: false
enable_vlan_wan_portbooleanOptional

Enable or disable VLAN for WAN Port.

Default: false
wan_port_idinteger · min: 1 · max: 4094Optional

VLAN ID for WAN PORT.

wan_port_priorityinteger · max: 7Optional

VLAN priority for WAN Port.

enable_vlan_pc_portbooleanOptional

Enable or disable VLAN for PC Port.

Default: false
pc_port_idinteger · min: 1 · max: 4094Optional

VLAN ID for PC PORT.

pc_port_priorityinteger · max: 7Optional

VLAN priority for PC Port.

interfacestring · enumRequired

The interface type for QR code or auto provisioning.
Can be neither:

  • WEB_DOMAIN:
  • PUBLIC_IPV4:
  • PUBLIC_IPV6:
  • PRIVATE_IPV4:
  • PRIVATE_IPV6:
  • SBC_DOMAIN:
Possible values:
preferred_transportstring · enumRequired

The transport protocol:
Can be either:

  • UDP:
  • TCP:
  • TLS:
Possible values:
serial_numberstringOptional

The serial number of phone.

door_password1string · min: 1 · max: 8Optional

The primary door password of phone. Only numeric sequences are allowed.

door_password2string · min: 1 · max: 8Optional

The secondary door password of phone. Only numeric sequences are allowed.

Responses
201

Success

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
post/user/phones
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 current user phone details

get

Retrieve phone details of current user.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
macstringOptional

MAC address.

filenamestringOptional

Template XML file name for phone provisioning.

vendorstringOptional

The phone vendor of IP phone.

modelstringOptional

The name of IP phone model.

passwordstringOptional

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

languagestringOptional

Language for strings displayed on Phone Display LCD.

transferstring · enumOptional

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.
Default: BLINDPossible values:
timezonestringOptional

The timezone of phone.

ringtonestringOptional

The ringtone of phone.

queue_ringtonestringOptional

The queue ringtone of phone for queue calls or ring group calls.

external_ringtonestringOptional

The ringtone of phone for external calls.

date_formatstringOptional

The date format of phone.

time_formatstringOptional

The time format of phone.

powerledstringOptional

The power led of phone.

backlightstringOptional

The backlight of phone.

screensaverstringOptional

The screensaver of phone.

rpsbooleanOptional

Send to RPS or not.

httpsbooleanOptional

Whether to use https

codecsstring[]Optional

The list of currently enabled codec formats.

enable_lldpbooleanOptional

Enable or disable Link Layer Discovery Protocol.

Default: false
enable_vlan_wan_portbooleanOptional

Enable or disable VLAN for WAN Port.

Default: false
wan_port_idinteger · min: 1 · max: 4094Optional

VLAN ID for WAN PORT.

wan_port_priorityinteger · max: 7Optional

VLAN priority for WAN Port.

enable_vlan_pc_portbooleanOptional

Enable or disable VLAN for PC Port.

Default: false
pc_port_idinteger · min: 1 · max: 4094Optional

VLAN ID for PC PORT.

pc_port_priorityinteger · max: 7Optional

VLAN priority for PC Port.

interfacestring · enumOptional

The interface type for QR code or auto provisioning.
Can be neither:

  • WEB_DOMAIN:
  • PUBLIC_IPV4:
  • PUBLIC_IPV6:
  • PRIVATE_IPV4:
  • PRIVATE_IPV6:
  • SBC_DOMAIN:
Possible values:
preferred_transportstring · enumOptional

The transport protocol:
Can be either:

  • UDP:
  • TCP:
  • TLS:
Possible values:
serial_numberstringOptional

The serial number of phone.

door_password1string · min: 1 · max: 8Optional

The primary door password of phone. Only numeric sequences are allowed.

door_password2string · min: 1 · max: 8Optional

The secondary door password of phone. Only numeric sequences are allowed.

urlstringOptional

Auto provision server URL.

get/user/phones/{id}
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 a phone of current user

post

Update phone of current user by it's unique ID.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
passwordstringOptional

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

languagestringOptional

Language for strings displayed on Phone Display LCD.

transferstring · enumOptional

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.
Default: BLINDPossible values:
timezonestringOptional

The timezone of phone.

ringtonestringOptional

The ringtone of phone.

queue_ringtonestringOptional

The queue ringtone of phone for queue calls or ring group calls.

external_ringtonestringOptional

The ringtone of phone for external calls.

date_formatstringOptional

The date format of phone.

time_formatstringOptional

The time format of phone.

powerledstringOptional

The power led of phone.

backlightstringOptional

The backlight of phone.

screensaverstringOptional

The screensaver of phone.

rpsbooleanOptional

Send to RPS or not.

httpsbooleanOptional

Whether to use https

codecsstring[]Optional

The list of currently enabled codec formats.

enable_lldpbooleanOptional

Enable or disable Link Layer Discovery Protocol.

Default: false
enable_vlan_wan_portbooleanOptional

Enable or disable VLAN for WAN Port.

Default: false
wan_port_idinteger · min: 1 · max: 4094Optional

VLAN ID for WAN PORT.

wan_port_priorityinteger · max: 7Optional

VLAN priority for WAN Port.

enable_vlan_pc_portbooleanOptional

Enable or disable VLAN for PC Port.

Default: false
pc_port_idinteger · min: 1 · max: 4094Optional

VLAN ID for PC PORT.

pc_port_priorityinteger · max: 7Optional

VLAN priority for PC Port.

interfacestring · enumOptional

The interface type for QR code or auto provisioning.
Can be neither:

  • WEB_DOMAIN:
  • PUBLIC_IPV4:
  • PUBLIC_IPV6:
  • PRIVATE_IPV4:
  • PRIVATE_IPV6:
  • SBC_DOMAIN:
Possible values:
preferred_transportstring · enumOptional

The transport protocol:
Can be either:

  • UDP:
  • TCP:
  • TLS:
Possible values:
serial_numberstringOptional

The serial number of phone.

door_password1string · min: 1 · max: 8Optional

The primary door password of phone. Only numeric sequences are allowed.

door_password2string · min: 1 · max: 8Optional

The secondary door password of phone. Only numeric sequences are allowed.

Responses
200

OK

No content

post/user/phones/{id}
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 of current user

post

Remove a phone profile from current user.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
204

No Content

No content

post/user/phones/{id}/destroy
POST /api/user/phones/{id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

List user call detail records

get

Retrieve a collection of user call detail records.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

OK

application/json
countinteger · int64Optional

Total number of resource.

Example: 100
get/user/cdrs
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

get

Retrieve user call detail record.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
get/user/cdrs/{id}
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": ""
    }
  ]
}

Create new personal cdr sync token

post
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
date_fromstring · date_timeOptional

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

Example: 2017-07-21T17:32:28Z
Responses
201

Created

application/json
tokenstringOptional

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.

Example: RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.
post/user/cdrs/sync_tokens
POST /api/user/cdrs/sync_tokens HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "token": "xxxxxxxxxxxxx"
}

List personal cdr changes

post

List personal cdr changes.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
tokenstringRequired

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.

Example: RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.
Responses
200

OK

application/json
tokenstringOptional

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.

Example: RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.
post/user/cdrs/sync_tokens/{token}/diff
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
        }
      ]
    }
  ]
}

List user external messages

get

Retrieve a collection of user external messages.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

OK

application/json
countinteger · int64Optional

Total number of resource.

Example: 100
get/user/external_messages
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

get

Retrieve user external message.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
config_idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
senderstringOptional

The sender number of the message.

sender_namestringOptional

The sender name of the message.

receiverstringOptional

The receiver number of the message.

receiver_namestringOptional

The receiver name of the message.

channel_namestringOptional

The channel name of the message.

channel_numberstringOptional

The channel number of the message.

brandstringOptional

The brand of the message.

didstringOptional

The did of the message.

msg_typestring · enumOptional

The type of message:
Can be either:

  • UNKNOWN:
  • SMS:
  • WHATSAPP:
Possible values:
directionstring · enumOptional

The direction of message:

  • IN:
  • OUT:
Possible values:
contentstringOptional

The content of the message.

reasonstringOptional

The reason of the message.

deliverystring · enumOptional

The delivery status of message:
Can be either:

  • ERR:
  • SENT:
  • RECV:
  • DELIVERED:
Possible values:
provider_msg_idstringOptional

The provider message ID of the message.

created_atstring · date_timeOptional

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

Example: 2017-07-21T17:32:28Z
get/user/external_messages/{id}
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"
}

List user call recordings

get

Retrieve a collection of user call recordings.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
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
countinteger · int64Optional

Total number of resource.

Example: 100
get/user/recordings
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"
    }
  ]
}

Retrieve an user call recording

get

Get details of an user call recording.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
get/user/recordings/{id}
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 user call recording

post

Delete an user call recording

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
204

No Content

No content

post/user/recordings/{id}/destroy
POST /api/user/recordings/{id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Create AI Transcription

post

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.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
res_idstringRequired

ID from a /voicemails or /recordings item used to create the transcription.

item_typestring · enumRequired

Type of the source item. Allowed values are CALL_RECORD_ITEM or VOICE_MAIL_ITEM.

Possible values:
Responses
200

Successfully created

application/json
idsinteger[]Optional

List of created transcription IDs.

post/user/transcription
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
  ]
}

Get AI Transcription Details

get

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.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

The resource ID from /recordings or /voicemails to retrieve transcription records for.

Responses
200

Transcription details retrieved successfully

application/json
idstringRead-onlyOptional

The unique ID of the transcription record.

item_idstringOptional

The item ID of the original recording.

session_idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
file_idstringOptional

The file ID associated with the transcription.

file_urlstringRead-onlyOptional

The relative path to file url for file downloading.

Example: /api/blobs/WexWdABcd5D4PDgzTKV3gAAAEu00WcK
typestring · enumOptional

Type of the source item. Allowed values are CALL_RECORD_ITEM or VOICE_MAIL_ITEM.

Possible values:
callerstring · max: 256Optional

The caller number of the call.

calleestring · max: 256Optional

The callee number of the call.

transcription_idstringOptional

The unique ID of the transcription.

analyze_idstringOptional

The unique ID of the analysis result.

statusstring · enumOptional

AI transcription status.

  • TranscriptionNotStarted
  • TranscriptionQuotaLimited
  • TranscriptionRunning
  • TranscriptionFailed
  • TranscriptionSucceeded
  • AnalyzeRunning
  • AnalyzeFailed
  • AnalyzeSucceeded
  • TranscriptionUploadFailed
  • TranscriptionOtherFailed
Possible values:
status_descriptionstringOptional

AI transcription status description.

transcription_displaystringOptional

Display version of the AI transcription in JSON format.

intelligent_summarystringOptional

AI-generated summary of the transcription.

sentimentstring · enumOptional

AI transcription sentiment.

  • SENTIMENT_POSITIVE: positive
  • SENTIMENT_NEUTRAL: neutral
  • SENTIMENT_NEGATIVE: negative
Possible values:
created_atstring · date-timeOptional

Time at which the transcription record was created.

get/user/transcription/{id}
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 AI Transcription

post

Update transcription information for a specific transcription record. The id parameter refers to the primary key of the transcription.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

The primary key ID of the transcription record to update.

Body
transcription_displaystringOptional

Transcription display content (JSON string).

intelligent_summarystringOptional

Intelligent summary content.

sentimentstring · enumOptional

AI transcription sentiment.

  • SENTIMENT_POSITIVE: positive
  • SENTIMENT_NEUTRAL: neutral
  • SENTIMENT_NEGATIVE: negative
Possible values:
Responses
200

Transcription updated successfully

No content

post/user/transcription/{id}
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"
}
200

Transcription updated successfully

No content

List speed dial 8

get

List speed dial 8.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

OK

application/json
get/user/speed_dial_8
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": ""
    }
  ]
}

Add new speed dial 8

post

Create new speed dial 8.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
codestring · min: 1 · max: 1Required

The speed dial 8 dialing code.
Available code range from 2 to 9.

phone_numberstringRequired

The phone number that you want to call.

descriptionstring · max: 1024Optional

The description of speed dial.

Responses
201

Created

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
post/user/speed_dial_8
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

get

Retrieve details of speed dial 8 by it's ID.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
codestring · min: 1 · max: 1Optional

The speed dial 8 dialing code.
Available code range from 2 to 9.

phone_numberstringOptional

The phone number that you want to call.

descriptionstring · max: 1024Optional

The description of speed dial.

get/user/speed_dial_8/{id}
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

post

Update speed dial 8.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
codestring · min: 1 · max: 1Optional

The speed dial 8 dialing code.
Available code range from 2 to 9.

phone_numberstringOptional

The phone number that you want to call.

descriptionstring · max: 1024Optional

The description of speed dial.

Responses
200

OK

No content

post/user/speed_dial_8/{id}
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

Delete speed dial 8

post

Remove speed dial 8 by ID.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
204

No Content

No content

post/user/speed_dial_8/{id}/destroy
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

get

List speed dial 100.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

OK

application/json
get/user/speed_dial_100
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": ""
    }
  ]
}

Add new speed dial 100

post

Create new speed dial 100.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
codestring · min: 2 · max: 2Required

The speed dial 100 dialing code.
Available code range from 00 to 99.

phone_numberstringRequired

The phone number that you want to call.

descriptionstring · max: 1024Optional

The description of speed dial.

Responses
201

Created

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
post/user/speed_dial_100
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

get

Retrieve details of speed dial 100 by it's ID.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
codestring · min: 2 · max: 2Optional

The speed dial 100 dialing code.
Available code range from 00 to 99.

phone_numberstringOptional

The phone number that you want to call.

descriptionstring · max: 1024Optional

The description of speed dial.

get/user/speed_dial_100/{id}
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

post

Update speed dial 100.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
codestring · min: 2 · max: 2Optional

The speed dial 100 dialing code.
Available code range from 00 to 99.

phone_numberstringOptional

The phone number that you want to call.

descriptionstring · max: 1024Optional

The description of speed dial.

Responses
200

OK

No content

post/user/speed_dial_100/{id}
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

Delete speed dial 100

post

Remove speed dial 100 by ID.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
204

No Content

No content

post/user/speed_dial_100/{id}/destroy
POST /api/user/speed_dial_100/{id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

List user meetings

get

Retrieve a collection of meetings.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
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
countinteger · int64Optional

Total number of resource.

Example: 100
get/user/meetings
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

post

Create a meeting.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
modestring · enumRequired

The conference room mode.
Can be either:

  • AUDIO: audio conference room.
  • VIDEO: video conference room.
Possible values:
controlstring · enumOptional

The conference control type.
Can be either:

  • FREE: the free mode.
  • MASTER: the master mode.
Default: FREEPossible values:
heightinteger · int32 · min: 144 · max: 1920Optional

The height for video conference room.
Only valid in VIDEO mode.

Default: 720
widthinteger · int32 · min: 144 · max: 1920Optional

The width for video conference room.
Only valid in VIDEO mode.

Default: 1280
bitrateinteger · int32 · min: 128 · max: 10240Optional

The transmission rate for video conference room.
Only valid in VIDEO mode.

Default: 1024
framerateinteger · min: 5 · max: 30Optional

The framerate for video conference room.
Only valid in VIDEO mode.

Default: 15
layoutstring · enumOptional

The number of grids allowed for video conference room.
Only valid in VIDEO mode.
Can be either:

  • LAYOUT0:
  • LAYOUT1:
  • LAYOUT2:
  • LAYOUT3:
  • LAYOUT4:
  • LAYOUT6:
  • LAYOUT9:
Default: LAYOUT0Possible values:
subjectstring · min: 1 · max: 64Required

The subject of conference room.

languagestringOptional

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.

Example: en-US
admin_pinstring · min: 3 · max: 6Optional

The PIN for admin of the conference room. Only numeric sequences are allowed.

room_pinstring · min: 3 · max: 6Optional

The PIN for the conference room. Only numeric sequences are allowed.

enable_recordingbooleanOptional

Whether to enable recording when created.

Default: false
enable_promptbooleanOptional

Whether to enable voice menu.

Default: true
timezonestringRequired

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

scheduled_start_atstring · date_timeOptional

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

Example: 2017-07-21T17:32:28Z
scheduled_end_atstring · date_timeOptional

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

Example: 2017-07-21T17:32:28Z
internal_inviteesstringOptional

The unique ID of user.

Example: NzAwNTUxOTA5NzczMTQ4MTYw
external_inviteesstringOptional

The invitees to send invitation emails to.

close_on_nobodybooleanOptional

Whether to close the meeting if the nobody in.

Default: false
custom_optionsstringOptional

Some custom configuration options serialized as json string

Responses
201

Created

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
extension_numberstring · min: 3 · max: 64Optional

The extension number.

Pattern: [0-9]{3,64}
post/user/meetings
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

get

Retrieve a meeting.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
extension_numberstring · min: 3 · max: 64Optional

The extension number.

Pattern: [0-9]{3,64}
modestring · enumOptional

The conference room mode.
Can be either:

  • AUDIO: audio conference room.
  • VIDEO: video conference room.
Possible values:
controlstring · enumOptional

The conference control type.
Can be either:

  • FREE: the free mode.
  • MASTER: the master mode.
Default: FREEPossible values:
heightinteger · int32 · min: 144 · max: 1920Optional

The height for video conference room.
Only valid in VIDEO mode.

Default: 720
widthinteger · int32 · min: 144 · max: 1920Optional

The width for video conference room.
Only valid in VIDEO mode.

Default: 1280
bitrateinteger · int32 · min: 128 · max: 10240Optional

The transmission rate for video conference room.
Only valid in VIDEO mode.

Default: 1024
framerateinteger · min: 5 · max: 30Optional

The framerate for video conference room.
Only valid in VIDEO mode.

Default: 15
layoutstring · enumOptional

The number of grids allowed for video conference room.
Only valid in VIDEO mode.
Can be either:

  • LAYOUT0:
  • LAYOUT1:
  • LAYOUT2:
  • LAYOUT3:
  • LAYOUT4:
  • LAYOUT6:
  • LAYOUT9:
Default: LAYOUT0Possible values:
subjectstring · min: 1 · max: 64Optional

The subject of conference room.

languagestringOptional

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.

Example: en-US
capacityinteger · int32 · min: 1 · max: 200Optional

The maximum number of participants allowed in the room.

Default: 9
admin_pinstring · min: 3 · max: 6Optional

The PIN for admin of the conference room. Only numeric sequences are allowed.

room_pinstring · min: 3 · max: 6Optional

The PIN for the conference room. Only numeric sequences are allowed.

enable_recordingbooleanOptional

Whether to enable recording when created.

Default: false
enable_promptbooleanOptional

Whether to enable voice menu.

Default: true
timezonestringOptional

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

created_atstring · date_timeOptional

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

Example: 2017-07-21T17:32:28Z
scheduled_start_atstring · date_timeOptional

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

Example: 2017-07-21T17:32:28Z
scheduled_end_atstring · date_timeOptional

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

Example: 2017-07-21T17:32:28Z
internal_inviteesstringOptional

The unique ID of user.

Example: NzAwNTUxOTA5NzczMTQ4MTYw
external_inviteesstringOptional

The invitees to send invitation emails to.

close_on_nobodybooleanOptional

Whether to close the meeting if the nobody in.

Default: false
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.

sbc_hoststringOptional

The SBC domain.

sbc_portinteger · int32 · max: 65535Optional

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

Example: 80
tokenstringOptional

Access token to be passed as a header

Example: 4DFCF1D4C30B4D798ECE3AE43769F008.
ownershipbooleanOptional

Whether the user has ownership of the meeting.

custom_optionsstringOptional

Some custom configuration options serialized as json string

get/user/meetings/{id}
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

post

Update a meeting

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
controlstring · enumOptional

The conference control type.
Can be either:

  • FREE: the free mode.
  • MASTER: the master mode.
Default: FREEPossible values:
heightinteger · int32 · min: 144 · max: 1920Optional

The height for video conference room.
Only valid in VIDEO mode.

Default: 720
widthinteger · int32 · min: 144 · max: 1920Optional

The width for video conference room.
Only valid in VIDEO mode.

Default: 1280
bitrateinteger · int32 · min: 128 · max: 10240Optional

The transmission rate for video conference room.
Only valid in VIDEO mode.

Default: 1024
framerateinteger · min: 5 · max: 30Optional

The framerate for video conference room.
Only valid in VIDEO mode.

Default: 15
layoutstring · enumOptional

The number of grids allowed for video conference room.
Only valid in VIDEO mode.
Can be either:

  • LAYOUT0:
  • LAYOUT1:
  • LAYOUT2:
  • LAYOUT3:
  • LAYOUT4:
  • LAYOUT6:
  • LAYOUT9:
Default: LAYOUT0Possible values:
subjectstring · min: 1 · max: 64Optional

The subject of conference room.

languagestringOptional

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.

Example: en-US
capacityinteger · int32 · min: 1 · max: 200Optional

The maximum number of participants allowed in the room.

Default: 9
admin_pinstring · min: 3 · max: 6Optional

The PIN for admin of the conference room. Only numeric sequences are allowed.

room_pinstring · min: 3 · max: 6Optional

The PIN for the conference room. Only numeric sequences are allowed.

enable_recordingbooleanOptional

Whether to enable recording when created.

Default: false
enable_promptbooleanOptional

Whether to enable voice menu.

Default: true
timezonestringOptional

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

scheduled_start_atstring · date_timeOptional

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

Example: 2017-07-21T17:32:28Z
scheduled_end_atstring · date_timeOptional

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

Example: 2017-07-21T17:32:28Z
internal_inviteesstringOptional

The unique ID of user.

Example: NzAwNTUxOTA5NzczMTQ4MTYw
external_inviteesstringOptional

The invitees to send invitation emails to.

close_on_nobodybooleanOptional

Whether to close the meeting if the nobody in.

Default: false
custom_optionsstringOptional

Some custom configuration options serialized as json string

Responses
200

OK

No content

post/user/meetings/{id}
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

Delete meeting

post

Destroy a conference room

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
204

No Content

No content

post/user/meetings/{id}/destroy
POST /api/user/meetings/{id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Get meeting status

get

Retrieve meeting status.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
statusstring · enumOptional

The conference room status. Can be either:

  • ONLINE:
  • OFFLINE:
  • ON_CALL:
Possible values:
lockedbooleanOptional

Whether the conference room was locked.

mutedbooleanOptional

Whether the conference room was muted.

recordingbooleanOptional

Whether the conference room is recording.

get/user/meetings/{id}/status
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

post

Mute meeting.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/user/meetings/{id}/mute
POST /api/user/meetings/{id}/mute HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Unmute meeting

post

Unmute meeting by it's unique ID.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/user/meetings/{id}/unmute
POST /api/user/meetings/{id}/unmute HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Lock meeting

post

Lock meeting by it's unique ID.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/user/meetings/{id}/lock
POST /api/user/meetings/{id}/lock HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Unlock meeting

post

Unlock meeting by it's unique ID.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/user/meetings/{id}/unlock
POST /api/user/meetings/{id}/unlock HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Start meeting

post

Start meeting by it's unique ID.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/user/meetings/{id}/start
POST /api/user/meetings/{id}/start HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Stop meeting

post

Stop meeting by it's unique ID.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/user/meetings/{id}/stop
POST /api/user/meetings/{id}/stop HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Start recording in meeting

post

Start recording in meeting.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/user/meetings/{id}/start_recording
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

post

Stop recording in meeting.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/user/meetings/{id}/stop_recording
POST /api/user/meetings/{id}/stop_recording HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

List meeting participants

get

Retrieve a collection of meeting participants.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
get/user/meetings/{id}/participants
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
    }
  ]
}

Update meeting participants layout

post

Modify participants layout based on meeting layout.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
itemsstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/user/meetings/{id}/participants/layout
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

get

Get meeting participant details.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
participant_idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
display_namestringOptional

The display name of conference room participant.

Example: "example"<sip:100@example.com>
mutedbooleanOptional

Whether the participant is muted.

chairmanbooleanOptional

Indicates whether the user is chairman of the conference room.

positioninteger · int32 · min: -1 · max: 8Optional

The position of room member.
The member will not be displayed when -1 is specified.

get/user/meetings/{id}/participants/{participant_id}
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 meeting participant

post

Invite an user as meeting participant.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
numberstringOptional

The number of invited participant.

Responses
200

OK

No content

post/user/meetings/{id}/participants/invite
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

post

Mute meeting participant.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
participant_idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/user/meetings/{id}/participants/{participant_id}/mute
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

post

Unmute meeting participant.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
participant_idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/user/meetings/{id}/participants/{participant_id}/unmute
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

post

Transfer meeting ownership to another participant.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
participant_idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/user/meetings/{id}/participants/{participant_id}/chairman
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

post

Set meeting participant position.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
participant_idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
positioninteger · int32 · min: -1 · max: 8Optional

The position of room member.
The member will not be displayed when -1 is specified.

Responses
200

OK

No content

post/user/meetings/{id}/participants/{participant_id}/position
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

post

Kick out meeting participant.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
participant_idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
204

No Content

No content

post/user/meetings/{id}/participants/{participant_id}/destroy
POST /api/user/meetings/{id}/participants/{participant_id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

List current user's holidays

get

Retrieve a collection of current user's holidays.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

OK

application/json
countinteger · int64Optional

Total number of resource.

Example: 100
get/user/holidays
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

post

Create a new holiday for current user.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
namestring · min: 1 · max: 64Optional

The name of the holiday.

regionstringOptional

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

every_yearbooleanOptional

Does the holiday take effect every year.

consecutivebooleanOptional

Whether the holiday consists of consecutive days.

year_startintegerOptional

The start year of holiday.

year_endintegerOptional

The end year of holiday.

month_startintegerOptional

The start month of holiday.

month_endintegerOptional

The end month of holiday.

day_startintegerOptional

The start day of holiday.

day_endintegerOptional

The end day of holiday.

hour_startintegerOptional

The start hour of holiday.

hour_endintegerOptional

The end hour of holiday.

minute_startintegerOptional

The start minute of holiday.

minute_endintegerOptional

The end minute of holiday.

Responses
201

Created

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
post/user/holidays
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"
}

Retrieve a holiday of current user

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

The unique ID of the holiday.

Example: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
namestring · min: 1 · max: 64Optional

The name of the holiday.

regionstringOptional

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

every_yearbooleanOptional

Does the holiday take effect every year.

consecutivebooleanOptional

Whether the holiday consists of consecutive days.

year_startintegerOptional

The start year of holiday.

year_endintegerOptional

The end year of holiday.

month_startintegerOptional

The start month of holiday.

month_endintegerOptional

The end month of holiday.

day_startintegerOptional

The start day of holiday.

day_endintegerOptional

The end day of holiday.

hour_startintegerOptional

The start hour of holiday.

hour_endintegerOptional

The end hour of holiday.

minute_startintegerOptional

The start minute of holiday.

minute_endintegerOptional

The end minute of holiday.

get/user/holidays/{id}
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

post

Update a holiday of current user.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

The unique ID of holiday.

Example: NzAwNTUxOTA5NzczMTQ4MTYw
Body
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
namestring · min: 1 · max: 64Optional

The name of the holiday.

regionstringOptional

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

every_yearbooleanOptional

Does the holiday take effect every year.

consecutivebooleanOptional

Whether the holiday consists of consecutive days.

year_startintegerOptional

The start year of holiday.

year_endintegerOptional

The end year of holiday.

month_startintegerOptional

The start month of holiday.

month_endintegerOptional

The end month of holiday.

day_startintegerOptional

The start day of holiday.

day_endintegerOptional

The end day of holiday.

hour_startintegerOptional

The start hour of holiday.

hour_endintegerOptional

The end hour of holiday.

minute_startintegerOptional

The start minute of holiday.

minute_endintegerOptional

The end minute of holiday.

Responses
200

OK

No content

post/user/holidays/{id}
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

post

Destroy a holiday of current user.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

The unique ID of the holiday.

Example: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
204

No Content

No content

post/user/holidays/{id}/destroy
POST /api/user/holidays/{id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

List current user's global holidays

get

Retrieve a collection of current user's global holidays.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

OK

application/json
get/user/global_holidays
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

post

Update current user's global holidays from tenant holidays.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
itemsstring[]Optional

A collection of ID of tenant's holiday.

Example: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/user/global_holidays
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

List personal contact

get

Retrieve a collection of personal contacts.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
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
countinteger · int64Optional

Total number of resource.

Example: 100
get/user/contacts
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
    }
  ]
}

Add a new personal contact

post
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
namestring · min: 1 · max: 64Optional

The name of contact.

emailstring · max: 128Optional

The email of contact.

companystring · max: 128Optional

The company name of contact.

titlestring · max: 128Optional

The title of contact.

businessstring · max: 128Optional

The business phone number of contact.

business2string · max: 128Optional

The secondary business phone number of contact.

mobile_phonestring · max: 128Optional

The mobile phone number of contact.

mobile_phone2string · max: 128Optional

The secondary mobile phone number of contact.

home_phonestring · max: 128Optional

The home phone number of contact.

home_phone2string · max: 128Optional

The secondary home phone number of contact.

otherstring · max: 128Optional

The other phone number of contact.

business_faxstring · max: 128Optional

The business fax of contact.

home_faxstring · max: 128Optional

The home fax of contact.

addressstring · max: 128Optional

The address.

notesstring · max: 1024Optional

The notes of contact.

Responses
201

Created contact

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
post/user/contacts
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"
}

Retrieve personal contact details

get

Retrieves details of a personal contact.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
namestring · min: 1 · max: 64Optional

The name of contact.

emailstring · max: 128Optional

The email of contact.

companystring · max: 128Optional

The company name of contact.

titlestring · max: 128Optional

The title of contact.

businessstring · max: 128Optional

The business phone number of contact.

business2string · max: 128Optional

The secondary business phone number of contact.

mobile_phonestring · max: 128Optional

The mobile phone number of contact.

mobile_phone2string · max: 128Optional

The secondary mobile phone number of contact.

home_phonestring · max: 128Optional

The home phone number of contact.

home_phone2string · max: 128Optional

The secondary home phone number of contact.

otherstring · max: 128Optional

The other phone number of contact.

business_faxstring · max: 128Optional

The business fax of contact.

home_faxstring · max: 128Optional

The home fax of contact.

addressstring · max: 128Optional

The address.

notesstring · max: 1024Optional

The notes of contact.

sync_typestringOptional

The synchronization method.

favoritebooleanOptional

Mark if a contact has been added to the favorites list.

Example: true
get/user/contacts/{id}
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

post

Update a personal contact.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
namestring · min: 1 · max: 64Optional

The name of contact.

emailstring · max: 128Optional

The email of contact.

companystring · max: 128Optional

The company name of contact.

titlestring · max: 128Optional

The title of contact.

businessstring · max: 128Optional

The business phone number of contact.

business2string · max: 128Optional

The secondary business phone number of contact.

mobile_phonestring · max: 128Optional

The mobile phone number of contact.

mobile_phone2string · max: 128Optional

The secondary mobile phone number of contact.

home_phonestring · max: 128Optional

The home phone number of contact.

home_phone2string · max: 128Optional

The secondary home phone number of contact.

otherstring · max: 128Optional

The other phone number of contact.

business_faxstring · max: 128Optional

The business fax of contact.

home_faxstring · max: 128Optional

The home fax of contact.

addressstring · max: 128Optional

The address.

notesstring · max: 1024Optional

The notes of contact.

Responses
200

OK

No content

post/user/contacts/{id}
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

post

Favorite a personal contact.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/user/contacts/{id}/favorite
POST /api/user/contacts/{id}/favorite HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Unfavorite a personal contact

post

Favorite a personal contact.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/user/contacts/{id}/unfavorite
POST /api/user/contacts/{id}/unfavorite HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Delete a personal contact

post

Delete a personal contact by it's unique id.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
204

No Content

No content

post/user/contacts/{id}/destroy
POST /api/user/contacts/{id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Create new personal contact sync token

post
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
201

Created

application/json
tokenstringOptional

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.

Example: RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.
post/user/contacts/sync_tokens
POST /api/user/contacts/sync_tokens HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "token": "xxxxxxxxxxxxxxxx"
}

List personal contact changes

post

List personal contact changes.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
tokenstringRequired

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.

Example: RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.
Responses
200

OK

application/json
tokenstringOptional

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.

Example: RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.
post/user/contacts/sync_tokens/{token}/diff
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

post

Favorite a business contact.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/user/business_contacts/{id}/favorite
POST /api/user/business_contacts/{id}/favorite HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Unfavorite a business contact

post

Favorite a business contact.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/user/business_contacts/{id}/unfavorite
POST /api/user/business_contacts/{id}/unfavorite HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Create a business contact sync token

post
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
201

Created

application/json
tokenstringOptional

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.

Example: RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.
post/user/business_contacts/sync_tokens
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

post

List business contact changes.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
tokenstringRequired

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.

Example: RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.
Responses
200

OK

application/json
tokenstringOptional

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.

Example: RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.
post/user/business_contacts/sync_tokens/{token}/diff
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

post

Favorite an extension contact.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/user/extension_contacts/{id}/favorite
POST /api/user/extension_contacts/{id}/favorite HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Unfavorite an extension contact

post

Favorite an extension contact.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/user/extension_contacts/{id}/unfavorite
POST /api/user/extension_contacts/{id}/unfavorite HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Create a extension contact sync token

post
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
201

Created

application/json
tokenstringOptional

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.

Example: RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.
post/user/extension_contacts/sync_tokens
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

post

List extension contact changes.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
tokenstringRequired

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.

Example: RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.
Responses
200

OK

application/json
tokenstringOptional

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.

Example: RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.
post/user/extension_contacts/sync_tokens/{token}/diff
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

post

Favorite a CRM contact.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/user/crm_contacts/{id}/favorite
POST /api/user/crm_contacts/{id}/favorite HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Unfavorite a CRM contact

post

Favorite a CRM contact.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/user/crm_contacts/{id}/unfavorite
POST /api/user/crm_contacts/{id}/unfavorite HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Create a CRM contact sync token

post
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
201

Created

application/json
tokenstringOptional

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.

Example: RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.
post/user/crm_contacts/sync_tokens
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

post

List CRM contact changes.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
tokenstringRequired

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.

Example: RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.
Responses
200

OK

application/json
tokenstringOptional

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.

Example: RQ2dX9ZC7VuWlVpXXvad2dL3lyhjnN-7eOw95wXymoo.
post/user/crm_contacts/sync_tokens/{token}/diff
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

get

Retrieve the call queues which current user belongs.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

OK

application/json
get/user/call_queues
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 call queue agent

get

Retrieve information of call queue agent.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
extension_numberstring · min: 3 · max: 64Optional

The extension number.

Pattern: [0-9]{3,64}
display_namestring · min: 1 · max: 128Optional

The display name of user.

skill_levelinteger · int32 · min: 1 · max: 100Optional

The skill level of agent in queue.
Only valid when polling_strategy is skill based.

Default: 1
statusstring · enumRead-onlyOptional

Current status of agent:

  • READY:
  • NOT_READY:
  • QUEUE_CALL:
  • OTHER_CALL:
  • WRAP_UP:
  • BREAK:
  • LUNCH:
  • TRANSFER:
  • CONSULT_TRANSFER:
  • ON_HOLD:
  • LOGGED_OUT:
  • OFFLINE:
Possible values:
reasonstringOptional

The reason for changing a call queue agent's status.
Standard presets include:

  • NOT_RAEDY
  • LUNCH
  • BUSINESS_TRIP
  • DO_NOT_DISTURB
  • AWAY
    You can also provide a custom string for a custom reason.
    Note: This field is only effective when setting status to NOT_READY.
    For other statuses, this field will be ignored.
    The reason field is optional and can be left empty.
Example: NOT_RAEDY
get/user/call_queues/{id}/agent
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

post

Set call queue agent status.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
statusstring · enumOptional

Change call queue agent status to one of the following:

  • READY:
  • NOT_READY:
  • WRAP_UP:
  • LOGGED_IN:
  • LOGGED_OUT:
Example: READYPossible values:
reasonstringOptional

The reason for changing a call queue agent's status.
Standard presets include:

  • NOT_RAEDY
  • LUNCH
  • BUSINESS_TRIP
  • DO_NOT_DISTURB
  • AWAY
    You can also provide a custom string for a custom reason.
    Note: This field is only effective when setting status to NOT_READY.
    For other statuses, this field will be ignored.
    The reason field is optional and can be left empty.
Example: NOT_RAEDY
Responses
200

OK

No content

post/user/call_queues/{id}/agent
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

get

Retrieve a collection of outbound caller ids.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

OK

application/json
get/user/outbound_caller_ids
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

get

Retrieve the ring groups which current user belongs.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

OK

application/json
get/user/ring_groups
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"
    }
  ]
}

List call sessions

get

Retrieve a collection current user call sessions.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

OK

application/json
countinteger · int64Optional

Total number of resource.

Example: 100
get/user/sessions
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 users

get

List a collection of users.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
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
countinteger · int64Optional

Total number of resource.

Example: 100
get/users
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 user

post

Create a new user.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
namestring · min: 1 · max: 64Required

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.

passwordstringRequired

The password of user.

emailstring · max: 128Required

The email address.

Example: example@example.com
display_namestring · min: 1 · max: 128Required

The display name of user.

enabledbooleanOptional

Allows temporarily disabling the extension.

Default: true
rolestring · min: 1 · max: 64Required

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.
Example: User
mobile_phonestring · max: 32Optional

The mobile phone number of user.

work_phonestring · max: 32Optional

The office phone number of user.

home_phonestring · max: 32Optional

The home phone number of user.

addressstring · max: 128Optional

The address.

departmentstring · max: 128Optional

The department of user.

extension_numberstring · min: 3 · max: 64Required

The extension number.

Pattern: [0-9]{3,64}
extension_passwordstringRequired

The extension password.

enable_audio_recordingbooleanOptional

Records all calls and saves audio recordings on server.

Default: false
enable_video_recordingbooleanOptional

Records all calls and saves video recordings on server.

Default: false
enable_dndbooleanOptional

Enable Do Not Disturb or not.

enable_acbbooleanOptional

Enable Automatic Callback or not.

enable_hot_deskingbooleanOptional

Enable hot desking feature or not.

Default: false
anonymous_outbound_callsbooleanOptional

Always make outbound anonymous calls or not.

Default: false
smsstring · enumOptional

The 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.
Default: DISABLEPossible values:
delivery_outbound_cidbooleanOptional

Always delivery outbound caller ID or not.

Default: true
custom_optionsstringOptional

Some custom configuration options serialized as json string

voicemail_promptstringOptional

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.

Example: en-US
enable_voicemail_pinbooleanOptional

Whether the PIN is required to access voice mail of extension.

Default: true
voicemail_pinstringRequired

The PIN number for accessing.

enable_voicemail_notifybooleanOptional

Enable voicemail to email notify.

Default: false
voicemail_play_datetimestring · enumOptional

Announces 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.
Possible values:
interfacestring · enumOptional

The interface type for QR code or auto provisioning.
Can be neither:

  • WEB_DOMAIN:
  • PUBLIC_IPV4:
  • PUBLIC_IPV6:
  • PRIVATE_IPV4:
  • PRIVATE_IPV6:
  • SBC_DOMAIN:
Possible values:
preferred_transportstring · enumOptional

The transport protocol:
Can be either:

  • UDP:
  • TCP:
  • TLS:
Possible values:
enable_ai_transcriptbooleanOptional

Enable ai transcript or not.

enable_uc_appbooleanOptional

Enable user-agent of app or not.

enable_teams_phone_appbooleanOptional

Enable enable teams phone app or not.

soft_phone_templatestringOptional

The template file name used to generate the user configuration file for the soft phone.

Example: app.xml
timezonestringOptional

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

enable_selective_call_acceptationbooleanOptional

Enable selective call acceptations or not.

Default: false
enable_selective_call_rejectionbooleanOptional

Enable selective call rejections or not.

Default: false
Responses
201

Created

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
post/users
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

post

Bulk create users.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
Responses
200

Created

application/json
post/users/create_many
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 ID

post

Get multiple users by their IDs in a single request.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
idsstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
post/users/get_many
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 all user profiles

post

Reset the active user profile with the specified ID, or reset all active user profiles when id is not specified.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/users/profile
POST /api/users/profile HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Bulk retrieve user current status

post

Bulk retrieve users status.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
itemsstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
post/users/status/get_many
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
    }
  ]
}

Retrieve a user

get

Retrieves the settings of a user.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
namestring · min: 1 · max: 64Optional

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.

emailstring · max: 128Optional

The email address.

Example: example@example.com
display_namestring · min: 1 · max: 128Optional

The display name of user.

rolestring · min: 1 · max: 64Optional

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.
Example: User
role_idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
role_namestring · min: 1 · max: 64Optional

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.
Example: User
enabledbooleanOptional

Allows temporarily disabling the extension.

Default: true
mobile_phonestring · max: 32Optional

The mobile phone number of user.

work_phonestring · max: 32Optional

The office phone number of user.

home_phonestring · max: 32Optional

The home phone number of user.

addressstring · max: 128Optional

The address.

departmentstring · max: 128Optional

The department of user.

extension_numberstring · min: 3 · max: 64Optional

The extension number.

Pattern: [0-9]{3,64}
enable_audio_recordingbooleanOptional

Records all calls and saves audio recordings on server.

Default: false
enable_video_recordingbooleanOptional

Records all calls and saves video recordings on server.

Default: false
enable_dndbooleanOptional

Enable Do Not Disturb or not.

enable_acbbooleanOptional

Enable Automatic Callback or not.

enable_hot_deskingbooleanOptional

Enable hot desking feature or not.

Default: false
anonymous_outbound_callsbooleanOptional

Always make outbound anonymous calls or not.

Default: false
delivery_outbound_cidbooleanOptional

Always delivery outbound caller ID or not.

Default: true
smsstring · enumOptional

The 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.
Default: DISABLEPossible values:
custom_optionsstringOptional

Some custom configuration options serialized as json string

voicemail_promptstringOptional

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.

Example: en-US
enable_voicemail_pinbooleanOptional

Whether the PIN is required to access voice mail of extension.

Default: true
voicemail_pinstringOptional

The PIN number for accessing.

enable_voicemail_notifybooleanOptional

Enable voicemail to email notify.

Default: false
voicemail_play_datetimestring · enumOptional

Announces 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.
Possible values:
interfacestring · enumOptional

The interface type for QR code or auto provisioning.
Can be neither:

  • WEB_DOMAIN:
  • PUBLIC_IPV4:
  • PUBLIC_IPV6:
  • PRIVATE_IPV4:
  • PRIVATE_IPV6:
  • SBC_DOMAIN:
Possible values:
preferred_transportstring · enumOptional

The transport protocol:
Can be either:

  • UDP:
  • TCP:
  • TLS:
Possible values:
profilestringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
created_atstring · date_timeOptional

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

Example: 2017-07-21T17:32:28Z
avatar_file_namestringOptional

The name of the file.

avatar_file_sizeinteger · int64Optional

The file size in bytes.

Example: 0
avatar_file_urlstringRead-onlyOptional

The relative path to file url for file downloading.

Example: /api/blobs/WexWdABcd5D4PDgzTKV3gAAAEu00WcK
providerstringOptional

The account provider.

provider_idstringOptional

The account provider ID.

sync_typestringOptional

The synchronization method.

enable_ai_transcriptbooleanOptional

Enable ai transcript or not.

enable_uc_appbooleanOptional

Enable user-agent of app or not.

passwordstringOptional

The password of user.

extension_passwordstringOptional

The extension_password of user.

enable_teams_phone_appbooleanOptional

Is it allowed to log in to the teams phone app.

soft_phone_templatestringOptional

The template file name used to generate the user configuration file for the soft phone.

Example: app.xml
timezonestringOptional

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

enable_selective_call_acceptationbooleanOptional

Enable selective call acceptations or not.

Default: false
enable_selective_call_rejectionbooleanOptional

Enable selective call rejections or not.

Default: false
get/users/{id}
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
}

Update a user

post

Modify the settings of a user.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
emailstring · max: 128Optional

The email address.

Example: example@example.com
display_namestring · min: 1 · max: 128Optional

The display name of user.

enabledbooleanOptional

Allows temporarily disabling the extension.

Default: true
mobile_phonestring · max: 32Optional

The mobile phone number of user.

work_phonestring · max: 32Optional

The office phone number of user.

home_phonestring · max: 32Optional

The home phone number of user.

addressstring · max: 128Optional

The address.

departmentstring · max: 128Optional

The department of user.

enable_audio_recordingbooleanOptional

Records all calls and saves audio recordings on server.

Default: false
enable_video_recordingbooleanOptional

Records all calls and saves video recordings on server.

Default: false
enable_dndbooleanOptional

Enable Do Not Disturb or not.

enable_acbbooleanOptional

Enable Automatic Callback or not.

enable_hot_deskingbooleanOptional

Enable hot desking feature or not.

Default: false
anonymous_outbound_callsbooleanOptional

Always make outbound anonymous calls or not.

Default: false
delivery_outbound_cidbooleanOptional

Always delivery outbound caller ID or not.

Default: true
smsstring · enumOptional

The 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.
Default: DISABLEPossible values:
custom_optionsstringOptional

Some custom configuration options serialized as json string

voicemail_promptstringOptional

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.

Example: en-US
enable_voicemail_pinbooleanOptional

Whether the PIN is required to access voice mail of extension.

Default: true
voicemail_pinstringOptional

The PIN number for accessing.

enable_voicemail_notifybooleanOptional

Enable voicemail to email notify.

Default: false
voicemail_play_datetimestring · enumOptional

Announces 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.
Possible values:
interfacestring · enumOptional

The interface type for QR code or auto provisioning.
Can be neither:

  • WEB_DOMAIN:
  • PUBLIC_IPV4:
  • PUBLIC_IPV6:
  • PRIVATE_IPV4:
  • PRIVATE_IPV6:
  • SBC_DOMAIN:
Possible values:
preferred_transportstring · enumOptional

The transport protocol:
Can be either:

  • UDP:
  • TCP:
  • TLS:
Possible values:
enable_ai_transcriptbooleanOptional

Enable ai transcript or not.

enable_uc_appbooleanOptional

Enable user-agent of app or not.

enable_teams_phone_appbooleanOptional

Enable enable teams phone app or not.

soft_phone_templatestringOptional

The template file name used to generate the user configuration file for the soft phone.

Example: app.xml
timezonestringOptional

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

enable_selective_call_acceptationbooleanOptional

Enable selective call acceptations or not.

Default: false
enable_selective_call_rejectionbooleanOptional

Enable selective call rejections or not.

Default: false
Responses
200

OK

No content

post/users/{id}
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

post

Reset user password.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
passwordstringOptional

The password of user.

Responses
200

OK

No content

post/users/{id}/password
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

post

Reset user extension password.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
passwordstringOptional

The extension password.

Responses
200

OK

No content

post/users/{id}/extension_password
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

post

Change user role.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
rolestring · min: 1 · max: 64Optional

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.
Example: User
Responses
200

OK

No content

post/users/{id}/role
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

post

Reset user profile.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/users/{id}/profile
POST /api/users/{id}/profile HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Bind user to ms365 account

post

Bind user to ms365 account.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
idstringOptional

The OID or Principal Name of Microsoft 365 user.

Responses
200

OK

No content

post/users/{id}/ms365_binding
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

post

Unbind user from ms365 account.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
204

No Content

No content

post/users/{id}/ms365_binding/destroy
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

post

Bind user to Google account.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
idstringOptional

The user ID of Google account.

Responses
204

No Content

No content

post/users/{id}/google_binding
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

post

Unbind user from Google account.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
204

No Content

No content

post/users/{id}/google_binding/destroy
POST /api/users/{id}/google_binding/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Delete a user

post

Delete a certain user.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
204

No Content

No content

post/users/{id}/destroy
POST /api/users/{id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Retrieves user current status

get

Retrieves current status of given user.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
statusstring · enumOptional

Status of extension:

  • ONLINE
  • OFFLINE
  • ONCALL
Possible values:
presencestring · enumOptional

The current presence of extension:

  • DO_NOT_DISTURB:
  • AWAY:
  • BUSINESS_TRIP:
  • LUNCH:
  • OFFLINE
  • ONLINE
Possible values:
presence_notestring · max: 128Optional

The presence note.

enable_dndbooleanOptional

Do Not Disturb enabled or not.

enable_acbbooleanOptional

Automatic Callback enabled or not.

get/users/{id}/status
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

post

Delete user registration.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
instance_idstringRequired

The instance ID of registration.

Responses
204

No Content

No content

post/users/{id}/status/{instance_id}/destroy_status
POST /api/users/{id}/status/{instance_id}/destroy_status HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Retrieve balance

get

Retrieve extension's balance by it's unique ID.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

The unique ID of the extension.

Example: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
balancenumber · doubleOptional

User balance. Precision is five digits.

get/users/{id}/balance
GET /api/users/{id}/balance HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "balance": 100
}

Update balance

post

Update extension's balance

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

The unique ID of the extension.

Example: NzAwNTUxOTA5NzczMTQ4MTYw
Body
balancenumber · doubleOptional

User balance. Precision is five digits.

Responses
200

OK

No content

post/users/{id}/balance
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

List voicemail greetings

get

Retrieves a collection of greetings available to certain user.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

The unique ID of the user.

Example: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
get/users/{id}/greetings
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 voicemail greeting

post

Create a voicemail greeting for user.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
file_idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
201

OK

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
post/users/{id}/greetings
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"
}

Enable greeting

post

Set a voicemail greeting activated.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
greeting_idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/users/{id}/greetings/{greeting_id}/enable
POST /api/users/{id}/greetings/{greeting_id}/enable HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Disable greeting

post

Disable user voicemail greeting.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
greeting_idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/users/{id}/greetings/{greeting_id}/disable
POST /api/users/{id}/greetings/{greeting_id}/disable HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Delete voicemail greeting

post

Destroy a voicemail greeting from user.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
greeting_idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
204

No Content

No content

post/users/{id}/greetings/{greeting_id}/destroy
POST /api/users/{id}/greetings/{greeting_id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

List user's IP phones

get

Retrieve a collection of IP Phones.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
get/users/{id}/phones
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 phone to user

post

Assign a phone to user.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
macstringRequired

MAC address.

filenamestringRequired

Template XML file name for phone provisioning.

vendorstringRequired

The phone vendor of IP phone.

modelstringRequired

The name of IP phone model.

passwordstringRequired

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

languagestringRequired

Language for strings displayed on Phone Display LCD.

transferstring · enumRequired

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.
Default: BLINDPossible values:
timezonestringRequired

The timezone of phone.

ringtonestringOptional

The ringtone of phone.

queue_ringtonestringOptional

The queue ringtone of phone for queue calls or ring group calls.

external_ringtonestringOptional

The ringtone of phone for external calls.

date_formatstringOptional

The date format of phone.

time_formatstringOptional

The time format of phone.

powerledstringOptional

The power led of phone.

backlightstringOptional

The backlight of phone.

screensaverstringOptional

The screensaver of phone.

rpsbooleanOptional

Send to RPS or not.

httpsbooleanOptional

Whether to use https

codecsstring[]Required

The list of currently enabled codec formats.

all_codecsstring[]Required

The list of all supported codec formats.

enable_lldpbooleanOptional

Enable or disable Link Layer Discovery Protocol.

Default: false
enable_vlan_wan_portbooleanOptional

Enable or disable VLAN for WAN Port.

Default: false
wan_port_idinteger · min: 1 · max: 4094Optional

VLAN ID for WAN PORT.

wan_port_priorityinteger · max: 7Optional

VLAN priority for WAN Port.

enable_vlan_pc_portbooleanOptional

Enable or disable VLAN for PC Port.

Default: false
pc_port_idinteger · min: 1 · max: 4094Optional

VLAN ID for PC PORT.

pc_port_priorityinteger · max: 7Optional

VLAN priority for PC Port.

interfacestring · enumRequired

The interface type for QR code or auto provisioning.
Can be neither:

  • WEB_DOMAIN:
  • PUBLIC_IPV4:
  • PUBLIC_IPV6:
  • PRIVATE_IPV4:
  • PRIVATE_IPV6:
  • SBC_DOMAIN:
Possible values:
preferred_transportstring · enumRequired

The transport protocol:
Can be either:

  • UDP:
  • TCP:
  • TLS:
Possible values:
serial_numberstringOptional

The serial number of phone.

door_password1string · min: 1 · max: 8Optional

The primary door password of phone. Only numeric sequences are allowed.

door_password2string · min: 1 · max: 8Optional

The secondary door password of phone. Only numeric sequences are allowed.

Responses
201

Success

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
post/users/{id}/phones
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 user phone details

get

Retrieve phone details of user.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
phone_idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
macstringOptional

MAC address.

filenamestringOptional

Template XML file name for phone provisioning.

vendorstringOptional

The phone vendor of IP phone.

modelstringOptional

The name of IP phone model.

passwordstringOptional

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

languagestringOptional

Language for strings displayed on Phone Display LCD.

transferstring · enumOptional

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.
Default: BLINDPossible values:
timezonestringOptional

The timezone of phone.

ringtonestringOptional

The ringtone of phone.

queue_ringtonestringOptional

The queue ringtone of phone for queue calls or ring group calls.

external_ringtonestringOptional

The ringtone of phone for external calls.

date_formatstringOptional

The date format of phone.

time_formatstringOptional

The time format of phone.

powerledstringOptional

The power led of phone.

backlightstringOptional

The backlight of phone.

screensaverstringOptional

The screensaver of phone.

rpsbooleanOptional

Send to RPS or not.

httpsbooleanOptional

Whether to use https

codecsstring[]Optional

The list of currently enabled codec formats.

all_codecsstring[]Optional

The list of all supported codec formats.

enable_lldpbooleanOptional

Enable or disable Link Layer Discovery Protocol.

Default: false
enable_vlan_wan_portbooleanOptional

Enable or disable VLAN for WAN Port.

Default: false
wan_port_idinteger · min: 1 · max: 4094Optional

VLAN ID for WAN PORT.

wan_port_priorityinteger · max: 7Optional

VLAN priority for WAN Port.

enable_vlan_pc_portbooleanOptional

Enable or disable VLAN for PC Port.

Default: false
pc_port_idinteger · min: 1 · max: 4094Optional

VLAN ID for PC PORT.

pc_port_priorityinteger · max: 7Optional

VLAN priority for PC Port.

interfacestring · enumOptional

The interface type for QR code or auto provisioning.
Can be neither:

  • WEB_DOMAIN:
  • PUBLIC_IPV4:
  • PUBLIC_IPV6:
  • PRIVATE_IPV4:
  • PRIVATE_IPV6:
  • SBC_DOMAIN:
Possible values:
preferred_transportstring · enumOptional

The transport protocol:
Can be either:

  • UDP:
  • TCP:
  • TLS:
Possible values:
serial_numberstringOptional

The serial number of phone.

door_password1string · min: 1 · max: 8Optional

The primary door password of phone. Only numeric sequences are allowed.

door_password2string · min: 1 · max: 8Optional

The secondary door password of phone. Only numeric sequences are allowed.

urlstringOptional

Auto provision server URL.

get/users/{id}/phones/{phone_id}
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 a phone of user

post

Update phone of user by it's unique ID.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
phone_idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
passwordstringOptional

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

languagestringOptional

Language for strings displayed on Phone Display LCD.

transferstring · enumOptional

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.
Default: BLINDPossible values:
timezonestringOptional

The timezone of phone.

ringtonestringOptional

The ringtone of phone.

queue_ringtonestringOptional

The queue ringtone of phone for queue calls or ring group calls.

external_ringtonestringOptional

The ringtone of phone for external calls.

date_formatstringOptional

The date format of phone.

time_formatstringOptional

The time format of phone.

powerledstringOptional

The power led of phone.

backlightstringOptional

The backlight of phone.

screensaverstringOptional

The screensaver of phone.

rpsbooleanOptional

Send to RPS or not.

httpsbooleanOptional

Whether to use https

codecsstring[]Optional

The list of currently enabled codec formats.

enable_lldpbooleanOptional

Enable or disable Link Layer Discovery Protocol.

Default: false
enable_vlan_wan_portbooleanOptional

Enable or disable VLAN for WAN Port.

Default: false
wan_port_idinteger · min: 1 · max: 4094Optional

VLAN ID for WAN PORT.

wan_port_priorityinteger · max: 7Optional

VLAN priority for WAN Port.

enable_vlan_pc_portbooleanOptional

Enable or disable VLAN for PC Port.

Default: false
pc_port_idinteger · min: 1 · max: 4094Optional

VLAN ID for PC PORT.

pc_port_priorityinteger · max: 7Optional

VLAN priority for PC Port.

interfacestring · enumOptional

The interface type for QR code or auto provisioning.
Can be neither:

  • WEB_DOMAIN:
  • PUBLIC_IPV4:
  • PUBLIC_IPV6:
  • PRIVATE_IPV4:
  • PRIVATE_IPV6:
  • SBC_DOMAIN:
Possible values:
preferred_transportstring · enumOptional

The transport protocol:
Can be either:

  • UDP:
  • TCP:
  • TLS:
Possible values:
serial_numberstringOptional

The serial number of phone.

door_password1string · min: 1 · max: 8Optional

The primary door password of phone. Only numeric sequences are allowed.

door_password2string · min: 1 · max: 8Optional

The secondary door password of phone. Only numeric sequences are allowed.

Responses
200

OK

No content

post/users/{id}/phones/{phone_id}
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

Remove a user phone

post

Unassign a phone from extension.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
phone_idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
204

No Content

No content

post/users/{id}/phones/{phone_id}/destroy
POST /api/users/{id}/phones/{phone_id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

List user's holidays

get

Retrieve a collection of user's holidays.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
countinteger · int64Optional

Total number of resource.

Example: 100
get/users/{id}/holidays
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 user

post

Create a new holiday for a user.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
namestring · min: 1 · max: 64Optional

The name of the holiday.

regionstringOptional

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

every_yearbooleanOptional

Does the holiday take effect every year.

consecutivebooleanOptional

Whether the holiday consists of consecutive days.

year_startintegerOptional

The start year of holiday.

year_endintegerOptional

The end year of holiday.

month_startintegerOptional

The start month of holiday.

month_endintegerOptional

The end month of holiday.

day_startintegerOptional

The start day of holiday.

day_endintegerOptional

The end day of holiday.

hour_startintegerOptional

The start hour of holiday.

hour_endintegerOptional

The end hour of holiday.

minute_startintegerOptional

The start minute of holiday.

minute_endintegerOptional

The end minute of holiday.

Responses
201

Created

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
post/users/{id}/holidays
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"
}

Retrieve a holiday of a user

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
holiday_idstringRequired

The unique ID of the holiday.

Example: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
namestring · min: 1 · max: 64Optional

The name of the holiday.

regionstringOptional

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

every_yearbooleanOptional

Does the holiday take effect every year.

consecutivebooleanOptional

Whether the holiday consists of consecutive days.

year_startintegerOptional

The start year of holiday.

year_endintegerOptional

The end year of holiday.

month_startintegerOptional

The start month of holiday.

month_endintegerOptional

The end month of holiday.

day_startintegerOptional

The start day of holiday.

day_endintegerOptional

The end day of holiday.

hour_startintegerOptional

The start hour of holiday.

hour_endintegerOptional

The end hour of holiday.

minute_startintegerOptional

The start minute of holiday.

minute_endintegerOptional

The end minute of holiday.

get/users/{id}/holidays/{holiday_id}
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 for a user

post

Update a holiday that already exists.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
holiday_idstringRequired

The unique ID of the holiday.

Example: NzAwNTUxOTA5NzczMTQ4MTYw
Body
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
namestring · min: 1 · max: 64Optional

The name of the holiday.

regionstringOptional

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

every_yearbooleanOptional

Does the holiday take effect every year.

consecutivebooleanOptional

Whether the holiday consists of consecutive days.

year_startintegerOptional

The start year of holiday.

year_endintegerOptional

The end year of holiday.

month_startintegerOptional

The start month of holiday.

month_endintegerOptional

The end month of holiday.

day_startintegerOptional

The start day of holiday.

day_endintegerOptional

The end day of holiday.

hour_startintegerOptional

The start hour of holiday.

hour_endintegerOptional

The end hour of holiday.

minute_startintegerOptional

The start minute of holiday.

minute_endintegerOptional

The end minute of holiday.

Responses
200

OK

No content

post/users/{id}/holidays/{holiday_id}
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

post

Destroy a holiday of user.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
holiday_idstringRequired

The unique ID of the holiday.

Example: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
204

No Content

No content

post/users/{id}/holidays/{holiday_id}/destroy
POST /api/users/{id}/holidays/{holiday_id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

List user's global holidays

get

Retrieve a collection of global holidays.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
get/users/{id}/global_holidays
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 user's global holidays

post

Update global holidays from tenant holidays.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
itemsstring[]Optional

A collection of ID of tenant's holiday.

Example: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

No content

post/users/{id}/global_holidays
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

get

Retrieve the call queues which the user belongs.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
get/users/{id}/call_queues
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 call queue agent

get

Retrieve information of call queue agent.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
queue_idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
extension_numberstring · min: 3 · max: 64Optional

The extension number.

Pattern: [0-9]{3,64}
display_namestring · min: 1 · max: 128Optional

The display name of user.

skill_levelinteger · int32 · min: 1 · max: 100Optional

The skill level of agent in queue.
Only valid when polling_strategy is skill based.

Default: 1
statusstring · enumRead-onlyOptional

Current status of agent:

  • READY:
  • NOT_READY:
  • QUEUE_CALL:
  • OTHER_CALL:
  • WRAP_UP:
  • BREAK:
  • LUNCH:
  • TRANSFER:
  • CONSULT_TRANSFER:
  • ON_HOLD:
  • LOGGED_OUT:
  • OFFLINE:
Possible values:
reasonstringOptional

The reason for changing a call queue agent's status.
Standard presets include:

  • NOT_RAEDY
  • LUNCH
  • BUSINESS_TRIP
  • DO_NOT_DISTURB
  • AWAY
    You can also provide a custom string for a custom reason.
    Note: This field is only effective when setting status to NOT_READY.
    For other statuses, this field will be ignored.
    The reason field is optional and can be left empty.
Example: NOT_RAEDY
get/users/{id}/call_queues/{queue_id}/agent
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

post

Set call queue agent status.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
queue_idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
statusstring · enumOptional

Change call queue agent status to one of the following:

  • READY:
  • NOT_READY:
  • WRAP_UP:
  • LOGGED_IN:
  • LOGGED_OUT:
Example: READYPossible values:
Responses
200

OK

No content

post/users/{id}/call_queues/{queue_id}/agent
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

get

List speed dial 8.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
get/users/{id}/speed_dial_8
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": ""
    }
  ]
}

Add new speed dial 8

post

Create new speed dial 8.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
codestring · min: 1 · max: 1Required

The speed dial 8 dialing code.
Available code range from 2 to 9.

phone_numberstringRequired

The phone number that you want to call.

descriptionstring · max: 1024Optional

The description of speed dial.

Responses
201

Created

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
post/users/{id}/speed_dial_8
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

get

Retrieve details of speed dial 8 by it's ID.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
dial_idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
codestring · min: 1 · max: 1Optional

The speed dial 8 dialing code.
Available code range from 2 to 9.

phone_numberstringOptional

The phone number that you want to call.

descriptionstring · max: 1024Optional

The description of speed dial.

get/users/{id}/speed_dial_8/{dial_id}
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

post

Update speed dial 8.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
dial_idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
codestring · min: 1 · max: 1Optional

The speed dial 8 dialing code.
Available code range from 2 to 9.

phone_numberstringOptional

The phone number that you want to call.

descriptionstring · max: 1024Optional

The description of speed dial.

Responses
200

OK

No content

post/users/{id}/speed_dial_8/{dial_id}
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

Delete speed dial 8

post

Remove speed dial 8 by ID.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
dial_idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
204

No Content

No content

post/users/{id}/speed_dial_8/{dial_id}/destroy
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

get

List speed dial 100.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
get/users/{id}/speed_dial_100
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": ""
    }
  ]
}

Add new speed dial 100

post

Create new speed dial 100.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
codestring · min: 2 · max: 2Required

The speed dial 100 dialing code.
Available code range from 00 to 99.

phone_numberstringRequired

The phone number that you want to call.

descriptionstring · max: 1024Optional

The description of speed dial.

Responses
201

Created

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
post/users/{id}/speed_dial_100
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

get

Retrieve details of speed dial 100 by it's ID.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
dial_idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
codestring · min: 2 · max: 2Optional

The speed dial 100 dialing code.
Available code range from 00 to 99.

phone_numberstringOptional

The phone number that you want to call.

descriptionstring · max: 1024Optional

The description of speed dial.

get/users/{id}/speed_dial_100/{dial_id}
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

post

Update speed dial 100.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
dial_idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
codestring · min: 2 · max: 2Optional

The speed dial 100 dialing code.
Available code range from 00 to 99.

phone_numberstringOptional

The phone number that you want to call.

descriptionstring · max: 1024Optional

The description of speed dial.

Responses
200

OK

No content

post/users/{id}/speed_dial_100/{dial_id}
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

Delete speed dial 100

post

Remove speed dial 100 by ID.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
dial_idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
204

No Content

No content

post/users/{id}/speed_dial_100/{dial_id}/destroy
POST /api/users/{id}/speed_dial_100/{dial_id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

List user groups

get

Get a collection of user groups.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
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
countinteger · int64Optional

Total number of resource.

Example: 100
get/groups
GET /api/groups HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "count": 1,
  "items": [
    {
      "id": "xxxxxx",
      "name": "example",
      "description": ""
    }
  ]
}

Create an user group

post

Create a new user group.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
namestring · min: 1 · max: 64Optional

The name of user group.

descriptionstring · max: 1024Optional

The description of user group.

Responses
201

Created user group

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
post/groups
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"
}

Retrieve an user group

get

Retrieves the properties of an user group.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
namestring · min: 1 · max: 64Optional

The name of user group.

descriptionstring · max: 1024Optional

The description of user group.

get/groups/{id}
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.

post

Update an user group

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Body
namestring · min: 1 · max: 64Optional

The name of user group.

descriptionstring · max: 1024Optional

The description of user group.

Responses
200

OK

No content

post/groups/{id}
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 an user group

post

Delete a certain user group.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
204

No Content

No content

post/groups/{id}/destroy
POST /api/groups/{id}/destroy HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

List user group members

get

Retrieve a collection of user group members.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
Responses
200

OK

application/json
get/groups/{id}/members
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 user group member

get

Check if extension is in user group.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
extension_numberstring · min: 3 · max: 64Required

The extension number.

Pattern: [0-9]{3,64}
Responses
200

OK

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
namestring · min: 1 · max: 64Optional

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.

display_namestring · min: 1 · max: 128Optional

The display name of user.

extension_numberstring · min: 3 · max: 64Optional

The extension number.

Pattern: [0-9]{3,64}
get/groups/{id}/members/{extension_number}
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 group member

post

Add user member into group.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
extension_numberstring · min: 3 · max: 64Required

The extension number.

Pattern: [0-9]{3,64}
Responses
200

OK

No content

post/groups/{id}/members/{extension_number}
POST /api/groups/{id}/members/{extension_number} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Delete group member

post

Delete an user group member.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequiredExample: NzAwNTUxOTA5NzczMTQ4MTYw
extension_numberstring · min: 3 · max: 64Required

The extension number.

Pattern: [0-9]{3,64}
Responses
204

No Content

No content

post/groups/{id}/members/{extension_number}/destroy
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?