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_ccbooleanOptional

Assign the independent Contact Center module to this extension. This does not grant RBAC permissions; both the role permission and License checks must pass at request time. For Node/Floating Licenses this value is always normalized to true, regardless of the submitted value. For Modular Licenses the submitted value is preserved and defaults to false when omitted while creating an extension.

enable_advancedbooleanOptional

Assign the independent Advanced module to this extension. This does not grant RBAC permissions. For Node/Floating Licenses this value is always normalized to true, regardless of the submitted value. For Modular Licenses the submitted value is preserved and defaults to false when omitted while creating an extension.

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

available_use_separate_fwd_rules_for_externalbooleanOptional

Use separate available forwarding rules for available external incoming calls.

Default: false
busy_use_separate_fwd_rules_for_externalbooleanOptional

Use separate busy forwarding rules for busy external incoming calls.

Default: false
dnd_use_separate_fwd_rules_for_externalbooleanOptional

Use separate do not disturb forwarding rules for do not disturb external incoming calls.

Default: false
away_use_separate_fwd_rules_for_externalbooleanOptional

Use separate away forwarding rules for away external incoming calls.

Default: false
lunch_use_separate_fwd_rules_for_externalbooleanOptional

Use separate lunch forwarding rules for lunch external incoming calls.

Default: false
trip_use_separate_fwd_rules_for_externalbooleanOptional

Use separate business trip forwarding rules for business trip external incoming calls.

Default: false
offline_use_separate_fwd_rules_for_externalbooleanOptional

Use separate offline forwarding rules for offline external incoming calls.

Default: false
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
executive_assistantstring · enumOptional

The role in Executive-Assistant feature:

  • NONE: Neither executive nor assistant.
  • EXECUTIVE: The executive.
  • ASSISTANT: The assistant.
Default: NONEPossible values:
enable_assistant_opt_in_outbooleanOptional

Whether the assistants can opt in and opt out.

Default: true
enable_assistant_call_filteringbooleanOptional

Whether the assistants can filtering calls.

Default: false
assistant_alerting_modestring · enumOptional

The assistants alerting mode:

  • SEQUENTIAL: Ring all available assistants sequentially.
  • SIMULTANEOUSLY: Ring all available assistants simultaneously.
Default: SIMULTANEOUSLYPossible values:
assistant_timeoutintegerOptional

The timeout in seconds for no assistants pick up calls.

Default: 30
assistant_timeout_actionstring · enumOptional

The action on assistants no answer timeout:

  • FORWARD_TO_NUMBER: Forward to specified number specified by assistant_timeout_number.
  • FORWARD_TO_VOICEMAIL: Forward to executive's voicemail.
  • HANGUP: Hangup this call.
Possible values:
assistant_timeout_numberstringOptional

The forwarded number. Only valid when assistant_timeout_action is FORWARD_TO_NUMBER.

enable_assistant_forwarding_filtered_callsbooleanOptional

Whether the assistants can forwarding filtered calls.

Default: false
assistant_forwarding_filtered_calls_tostringOptional

The forwarded number for assistants filtered calls.

assistant_caller_id_name_modestring · enumOptional

The assistant caller ID name mode:

  • ORIGINATOR: When assistant receives a call, display the original caller's name.
  • EXECUTIVE: When assistant receives a call, display the executive's name.
  • CUSTOM: When assistant receives a call, display the custom display name.
Default: ORIGINATORPossible values:
assistant_caller_id_name_valuestring · min: 1 · max: 64Optional

The display name of assistant received call. Only used when assistant_caller_id_name_mode is CUSTOM.

assistant_caller_id_number_modestring · enumOptional

The assistant caller ID number mode:

  • ORIGINATOR: When assistant receives a call, display the original caller's number.
  • EXECUTIVE: When assistant receives a call, display the executive's number.
  • CUSTOM: When assistant receives a call, display the custom display number.
Default: ORIGINATORPossible values:
assistant_caller_id_number_valuestring · min: 1 · max: 64Optional

The number of assistant received call. Only used when assistant_caller_id_number_mode is CUSTOM.

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_cc": true,
  "enable_advanced": false,
  "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",
      "provider_name": "some trunk",
      "provider_brand": "Generic",
      "provider_did_numbers": "1000-2000",
      "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"
  },
  "available_use_separate_fwd_rules_for_external": false,
  "busy_use_separate_fwd_rules_for_external": false,
  "dnd_use_separate_fwd_rules_for_external": false,
  "away_use_separate_fwd_rules_for_external": false,
  "lunch_use_separate_fwd_rules_for_external": false,
  "trip_use_separate_fwd_rules_for_external": false,
  "offline_use_separate_fwd_rules_for_external": false,
  "ext_available_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_available_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_available_no_answer_forward_rule": {
    "action": "HANGUP"
  },
  "ext_busy_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_busy_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_busy_no_answer_forward_rule": {
    "action": "HANGUP"
  },
  "ext_dnd_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_dnd_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_away_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_away_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_lunch_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_lunch_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_trip_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_trip_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_offline_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_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,
  "executive_assistant": "NONE",
  "enable_assistant_opt_in_out": true,
  "enable_assistant_call_filtering": false,
  "assistant_alerting_mode": "SIMULTANEOUSLY",
  "assistant_timeout": 30,
  "assistant_timeout_action": "HANGUP",
  "assistant_timeout_number": "",
  "enable_assistant_forwarding_filtered_calls": false,
  "assistant_forwarding_filtered_calls_to": "",
  "assistant_caller_id_name_mode": "ORIGINATOR",
  "assistant_caller_id_number_mode": "ORIGINATOR"
}

Update current user properties.

post

Update current user properties. The enable_cc and enable_advanced fields can only be changed by a current user with User.FullAccess; other users must leave these fields out of the request. When changed, module assignment is validated against the current License and Tenant quotas.

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_ccbooleanOptional

Assign the independent Contact Center module to this extension. This does not grant RBAC permissions; both the role permission and License checks must pass at request time. For Node/Floating Licenses this value is always normalized to true, regardless of the submitted value. For Modular Licenses the submitted value is preserved and defaults to false when omitted while creating an extension.

enable_advancedbooleanOptional

Assign the independent Advanced module to this extension. This does not grant RBAC permissions. For Node/Floating Licenses this value is always normalized to true, regardless of the submitted value. For Modular Licenses the submitted value is preserved and defaults to false when omitted while creating an extension.

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

available_use_separate_fwd_rules_for_externalbooleanOptional

Use separate available forwarding rules for available external incoming calls.

Default: false
busy_use_separate_fwd_rules_for_externalbooleanOptional

Use separate busy forwarding rules for busy external incoming calls.

Default: false
dnd_use_separate_fwd_rules_for_externalbooleanOptional

Use separate do not disturb forwarding rules for do not disturb external incoming calls.

Default: false
away_use_separate_fwd_rules_for_externalbooleanOptional

Use separate away forwarding rules for away external incoming calls.

Default: false
lunch_use_separate_fwd_rules_for_externalbooleanOptional

Use separate lunch forwarding rules for lunch external incoming calls.

Default: false
trip_use_separate_fwd_rules_for_externalbooleanOptional

Use separate business trip forwarding rules for business trip external incoming calls.

Default: false
offline_use_separate_fwd_rules_for_externalbooleanOptional

Use separate offline forwarding rules for offline external incoming calls.

Default: false
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
executive_assistantstring · enumOptional

The role in Executive-Assistant feature:

  • NONE: Neither executive nor assistant.
  • EXECUTIVE: The executive.
  • ASSISTANT: The assistant.
Default: NONEPossible values:
enable_assistant_opt_in_outbooleanOptional

Whether the assistants can opt in and opt out.

Default: true
enable_assistant_call_filteringbooleanOptional

Whether the assistants can filtering calls.

Default: false
assistant_alerting_modestring · enumOptional

The assistants alerting mode:

  • SEQUENTIAL: Ring all available assistants sequentially.
  • SIMULTANEOUSLY: Ring all available assistants simultaneously.
Default: SIMULTANEOUSLYPossible values:
assistant_timeoutintegerOptional

The timeout in seconds for no assistants pick up calls.

Default: 30
assistant_timeout_actionstring · enumOptional

The action on assistants no answer timeout:

  • FORWARD_TO_NUMBER: Forward to specified number specified by assistant_timeout_number.
  • FORWARD_TO_VOICEMAIL: Forward to executive's voicemail.
  • HANGUP: Hangup this call.
Possible values:
assistant_timeout_numberstringOptional

The forwarded number. Only valid when assistant_timeout_action is FORWARD_TO_NUMBER.

enable_assistant_forwarding_filtered_callsbooleanOptional

Whether the assistants can forwarding filtered calls.

Default: false
assistant_forwarding_filtered_calls_tostringOptional

The forwarded number for assistants filtered calls.

assistant_caller_id_name_modestring · enumOptional

The assistant caller ID name mode:

  • ORIGINATOR: When assistant receives a call, display the original caller's name.
  • EXECUTIVE: When assistant receives a call, display the executive's name.
  • CUSTOM: When assistant receives a call, display the custom display name.
Default: ORIGINATORPossible values:
assistant_caller_id_name_valuestring · min: 1 · max: 64Optional

The display name of assistant received call. Only used when assistant_caller_id_name_mode is CUSTOM.

assistant_caller_id_number_modestring · enumOptional

The assistant caller ID number mode:

  • ORIGINATOR: When assistant receives a call, display the original caller's number.
  • EXECUTIVE: When assistant receives a call, display the executive's number.
  • CUSTOM: When assistant receives a call, display the custom display number.
Default: ORIGINATORPossible values:
assistant_caller_id_number_valuestring · min: 1 · max: 64Optional

The number of assistant received call. Only used when assistant_caller_id_number_mode is CUSTOM.

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: 5137

{
  "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"
  },
  "available_use_separate_fwd_rules_for_external": false,
  "busy_use_separate_fwd_rules_for_external": false,
  "dnd_use_separate_fwd_rules_for_external": false,
  "away_use_separate_fwd_rules_for_external": false,
  "lunch_use_separate_fwd_rules_for_external": false,
  "trip_use_separate_fwd_rules_for_external": false,
  "offline_use_separate_fwd_rules_for_external": false,
  "ext_available_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_available_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_available_no_answer_forward_rule": {
    "action": "HANGUP"
  },
  "ext_busy_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_busy_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_busy_no_answer_forward_rule": {
    "action": "HANGUP"
  },
  "ext_dnd_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_dnd_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_away_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_away_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_lunch_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_lunch_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_trip_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_trip_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_offline_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_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,
  "executive_assistant": "NONE",
  "enable_assistant_opt_in_out": true,
  "enable_assistant_call_filtering": false,
  "assistant_alerting_mode": "SIMULTANEOUSLY",
  "assistant_timeout": 30,
  "assistant_timeout_action": "HANGUP",
  "assistant_timeout_number": "",
  "enable_assistant_forwarding_filtered_calls": false,
  "assistant_forwarding_filtered_calls_to": "",
  "assistant_caller_id_name_mode": "ORIGINATOR",
  "assistant_caller_id_number_mode": "ORIGINATOR"
}

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": "",
      "country_tone": "",
      "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.

country_tonestringOptional

The country tone 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: 647

{
  "mac": "00:1A:2B:3C:4D:5E",
  "filename": "example",
  "vendor": "",
  "model": "",
  "password": "xxxxxx",
  "language": "en-US",
  "transfer": "BLIND",
  "timezone": "",
  "country_tone": "",
  "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.

country_tonestringOptional

The country tone 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": "",
  "country_tone": "",
  "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.

country_tonestringOptional

The country tone 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: 577

{
  "password": "xxxxxx",
  "language": "en-US",
  "transfer": "BLIND",
  "timezone": "",
  "country_tone": "",
  "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.

The filter query parameter supports caller_display_name and callee_display_name for case-insensitive partial matching. Use contains(caller_display_name,'john') when the type is caller, or contains(callee_display_name,'john') when the type is callee. Combine Display Name, extension number, and other filters with and.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
group_idsstringOptional

Optional recording scope. Omit or use an empty value for the current user's recordings only. Use all for all active groups administered by the current user with allow_admin_recordings=true, or a comma-separated list of authorized group IDs. Duplicate IDs are deduplicated. Repeated query keys, empty elements, mixed all and IDs, or invalid IDs return 400; unauthorized, cross-tenant, inactive, or disabled groups return 403.

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",
      "caller_display_name": "John Smith",
      "callee": "102",
      "callee_display_name": "Support Desk",
      "started_at": "2020-01-01T00:00:00Z",
      "ended_at": "2020-01-01T00:00:00Z"
    }
  ]
}

Retrieve an user call recording

get

Get details of a user's 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",
      "caller_display_name": "John Smith",
      "callee": "777",
      "callee_display_name": "Support Desk",
      "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",
      "caller_display_name": "John Smith",
      "callee": "777",
      "callee_display_name": "Support Desk",
      "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. Call recording transcriptions are returned for the current user and for active members of user groups administered by the current user when the group has allow_admin_recordings=true. Voicemail transcriptions remain limited to the current user.

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",
          "provider_name": "some trunk",
          "provider_brand": "Generic",
          "provider_did_numbers": "1000-2000",
          "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",
      "provider_name": "some trunk",
      "provider_brand": "Generic",
      "provider_did_numbers": "1000-2000",
      "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_READY
  • 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_READY
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_READY
  • 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_READY
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 assistants

get

Retrieve a collection of assistants.

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

OK

application/json
get/user/assistants
GET /api/user/assistants HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "items": [
    {
      "id": "xxxxxx",
      "extension_number": "101",
      "display_name": "example",
      "opt_in": true
    }
  ]
}

Update assistants

post

Update extension's assistants.

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

OK

No content

post/user/assistants
POST /api/user/assistants HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 41

{
  "items": [
    {
      "id": "xxxxxx",
      "opt_in": true
    }
  ]
}

No content

List current extension's assistant filters

get

List assistant filters

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

OK

application/json
get/user/assistant_filters
GET /api/user/assistant_filters HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "items": [
    {
      "id": "xxxxxx",
      "condition": "ALL_CALLS",
      "caller": "101",
      "enabled": true,
      "name": "example",
      "priority": 1000,
      "schedule": "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": []
    }
  ]
}

Create assistant filter for current extension

post

Create assistant filter.

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

The name of assistant filter.

priorityinteger · int32 · max: 1000000Required

The priority of assistant filter.

Default: 1000
enabledbooleanOptional

Whether the assistant filter enabled.

Default: true
callerstringOptional

The semicolon-separated list of caller number.

schedulestring · enumRequired

The filter scheduled time:

  • ALL_HOURS:
  • SPECIFIC_OFFICE_HOURS:
  • PERSONAL_OFFICE_HOURS:
  • OUTSIDE_PERSONAL_OFFICE_HOURS:
  • GLOBAL_OFFICE_HOURS:
  • OUTSIDE_GLOBAL_OFFICE_HOURS:
Possible values:
holidaysstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
conditionstring · enumRequired

The filter condition:

  • ALL_CALLS:
  • INTERNAL_CALLS:
  • EXTERNAL_CALLS:
  • SPECIFIC_CALLS:
Possible values:
Responses
201

Created

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
post/user/assistant_filters
POST /api/user/assistant_filters HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 111

{
  "caller": "101",
  "condition": "ALL_CALLS",
  "enabled": true,
  "name": "example",
  "priority": 1000,
  "schedule": "ALL_HOURS"
}
{
  "id": "xxxxxxxx"
}

Retrieve details of current extension's assistant filter

get

Retrieve details of assistant filter by ID.

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 assistant filter.

priorityinteger · int32 · max: 1000000Optional

The priority of assistant filter.

Default: 1000
enabledbooleanOptional

Whether the assistant filter enabled.

Default: true
callerstringOptional

The semicolon-separated list of caller number.

schedulestring · enumOptional

The filter scheduled time:

  • ALL_HOURS:
  • SPECIFIC_OFFICE_HOURS:
  • PERSONAL_OFFICE_HOURS:
  • OUTSIDE_PERSONAL_OFFICE_HOURS:
  • GLOBAL_OFFICE_HOURS:
  • OUTSIDE_GLOBAL_OFFICE_HOURS:
Possible values:
holidaysstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
conditionstring · enumOptional

The filter condition:

  • ALL_CALLS:
  • INTERNAL_CALLS:
  • EXTERNAL_CALLS:
  • SPECIFIC_CALLS:
Possible values:
get/user/assistant_filters/{id}
GET /api/user/assistant_filters/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "id": "xxxxxx",
  "condition": "ALL_CALLS",
  "caller": "101",
  "enabled": true,
  "name": "example",
  "priority": 1000,
  "schedule": "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": []
}

Update current extension's assistant filter

post

Update assistant filter.

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

The name of assistant filter.

priorityinteger · int32 · max: 1000000Optional

The priority of assistant filter.

Default: 1000
enabledbooleanOptional

Whether the assistant filter enabled.

Default: true
callerstringOptional

The semicolon-separated list of caller number.

schedulestring · enumOptional

The filter scheduled time:

  • ALL_HOURS:
  • SPECIFIC_OFFICE_HOURS:
  • PERSONAL_OFFICE_HOURS:
  • OUTSIDE_PERSONAL_OFFICE_HOURS:
  • GLOBAL_OFFICE_HOURS:
  • OUTSIDE_GLOBAL_OFFICE_HOURS:
Possible values:
holidaysstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
conditionstring · enumOptional

The filter condition:

  • ALL_CALLS:
  • INTERNAL_CALLS:
  • EXTERNAL_CALLS:
  • SPECIFIC_CALLS:
Possible values:
Responses
200

OK

No content

post/user/assistant_filters/{id}
POST /api/user/assistant_filters/{id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 111

{
  "caller": "101",
  "condition": "ALL_CALLS",
  "enabled": true,
  "name": "example",
  "priority": 1000,
  "schedule": "ALL_HOURS"
}

No content

Delete current extension's assistant filter

post

Delete assistant filter by ID.

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

No Content

No content

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

No content

List executives

get

Retrieve a collection of executives.

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

OK

application/json
get/user/executives
GET /api/user/executives HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "items": [
    {
      "id": "xxxxxx",
      "extension_number": "101",
      "display_name": "example",
      "opt_in": true,
      "enable_assistant_opt_in_out": false
    }
  ]
}

Update executives

post

Update extension's executives.

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

OK

No content

post/user/executives
POST /api/user/executives HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 41

{
  "items": [
    {
      "id": "xxxxxx",
      "opt_in": true
    }
  ]
}

No content

List users

get

List a collection of users. Queue Agent selectors can request only users assigned Contact Center with filter=enable_cc eq true. The filter value must be URL encoded when constructing a raw URL.

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",
      "enable_cc": true,
      "enable_advanced": false,
      "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_ccbooleanOptional

Assign the independent Contact Center module to this extension. This does not grant RBAC permissions; both the role permission and License checks must pass at request time. For Node/Floating Licenses this value is always normalized to true, regardless of the submitted value. For Modular Licenses the submitted value is preserved and defaults to false when omitted while creating an extension.

enable_advancedbooleanOptional

Assign the independent Advanced module to this extension. This does not grant RBAC permissions. For Node/Floating Licenses this value is always normalized to true, regardless of the submitted value. For Modular Licenses the submitted value is preserved and defaults to false when omitted while creating an extension.

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

available_use_separate_fwd_rules_for_externalbooleanOptional

Use separate available forwarding rules for available external incoming calls.

Default: false
busy_use_separate_fwd_rules_for_externalbooleanOptional

Use separate busy forwarding rules for busy external incoming calls.

Default: false
dnd_use_separate_fwd_rules_for_externalbooleanOptional

Use separate do not disturb forwarding rules for do not disturb external incoming calls.

Default: false
away_use_separate_fwd_rules_for_externalbooleanOptional

Use separate away forwarding rules for away external incoming calls.

Default: false
lunch_use_separate_fwd_rules_for_externalbooleanOptional

Use separate lunch forwarding rules for lunch external incoming calls.

Default: false
trip_use_separate_fwd_rules_for_externalbooleanOptional

Use separate business trip forwarding rules for business trip external incoming calls.

Default: false
offline_use_separate_fwd_rules_for_externalbooleanOptional

Use separate offline forwarding rules for offline external incoming calls.

Default: false
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
executive_assistantstring · enumOptional

The role in Executive-Assistant feature:

  • NONE: Neither executive nor assistant.
  • EXECUTIVE: The executive.
  • ASSISTANT: The assistant.
Default: NONEPossible values:
enable_assistant_opt_in_outbooleanOptional

Whether the assistants can opt in and opt out.

Default: true
enable_assistant_call_filteringbooleanOptional

Whether the assistants can filtering calls.

Default: false
assistant_alerting_modestring · enumOptional

The assistants alerting mode:

  • SEQUENTIAL: Ring all available assistants sequentially.
  • SIMULTANEOUSLY: Ring all available assistants simultaneously.
Default: SIMULTANEOUSLYPossible values:
assistant_timeoutintegerOptional

The timeout in seconds for no assistants pick up calls.

Default: 30
assistant_timeout_actionstring · enumOptional

The action on assistants no answer timeout:

  • FORWARD_TO_NUMBER: Forward to specified number specified by assistant_timeout_number.
  • FORWARD_TO_VOICEMAIL: Forward to executive's voicemail.
  • HANGUP: Hangup this call.
Possible values:
assistant_timeout_numberstringOptional

The forwarded number. Only valid when assistant_timeout_action is FORWARD_TO_NUMBER.

enable_assistant_forwarding_filtered_callsbooleanOptional

Whether the assistants can forwarding filtered calls.

Default: false
assistant_forwarding_filtered_calls_tostringOptional

The forwarded number for assistants filtered calls.

assistant_caller_id_name_modestring · enumOptional

The assistant caller ID name mode:

  • ORIGINATOR: When assistant receives a call, display the original caller's name.
  • EXECUTIVE: When assistant receives a call, display the executive's name.
  • CUSTOM: When assistant receives a call, display the custom display name.
Default: ORIGINATORPossible values:
assistant_caller_id_name_valuestring · min: 1 · max: 64Optional

The display name of assistant received call. Only used when assistant_caller_id_name_mode is CUSTOM.

assistant_caller_id_number_modestring · enumOptional

The assistant caller ID number mode:

  • ORIGINATOR: When assistant receives a call, display the original caller's number.
  • EXECUTIVE: When assistant receives a call, display the executive's number.
  • CUSTOM: When assistant receives a call, display the custom display number.
Default: ORIGINATORPossible values:
assistant_caller_id_number_valuestring · min: 1 · max: 64Optional

The number of assistant received call. Only used when assistant_caller_id_number_mode is CUSTOM.

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: 5932

{
  "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_cc": true,
  "enable_advanced": false,
  "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"
  },
  "available_use_separate_fwd_rules_for_external": false,
  "busy_use_separate_fwd_rules_for_external": false,
  "dnd_use_separate_fwd_rules_for_external": false,
  "away_use_separate_fwd_rules_for_external": false,
  "lunch_use_separate_fwd_rules_for_external": false,
  "trip_use_separate_fwd_rules_for_external": false,
  "offline_use_separate_fwd_rules_for_external": false,
  "ext_available_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_available_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_available_no_answer_forward_rule": {
    "action": "HANGUP"
  },
  "ext_busy_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_busy_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_busy_no_answer_forward_rule": {
    "action": "HANGUP"
  },
  "ext_dnd_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_dnd_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_away_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_away_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_lunch_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_lunch_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_trip_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_trip_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_offline_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_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,
  "executive_assistant": "NONE",
  "enable_assistant_opt_in_out": true,
  "enable_assistant_call_filtering": false,
  "assistant_alerting_mode": "SIMULTANEOUSLY",
  "assistant_timeout": 30,
  "assistant_timeout_action": "HANGUP",
  "assistant_timeout_number": "",
  "enable_assistant_forwarding_filtered_calls": false,
  "assistant_forwarding_filtered_calls_to": "",
  "assistant_caller_id_name_mode": "ORIGINATOR",
  "assistant_caller_id_number_mode": "ORIGINATOR",
  "phones": [
    {
      "mac": "00:1A:2B:3C:4D:5E",
      "filename": "example",
      "vendor": "",
      "model": "",
      "password": "",
      "language": "en-US",
      "transfer": "BLIND",
      "timezone": "",
      "country_tone": "",
      "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: 5913

{
  "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_cc": true,
      "enable_advanced": false,
      "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"
      },
      "available_use_separate_fwd_rules_for_external": false,
      "busy_use_separate_fwd_rules_for_external": false,
      "dnd_use_separate_fwd_rules_for_external": false,
      "away_use_separate_fwd_rules_for_external": false,
      "lunch_use_separate_fwd_rules_for_external": false,
      "trip_use_separate_fwd_rules_for_external": false,
      "offline_use_separate_fwd_rules_for_external": false,
      "ext_available_office_hours_forward_rule": {
        "action": "HANGUP"
      },
      "ext_available_non_office_hours_forward_rule": {
        "action": "HANGUP"
      },
      "ext_available_no_answer_forward_rule": {
        "action": "HANGUP"
      },
      "ext_busy_office_hours_forward_rule": {
        "action": "HANGUP"
      },
      "ext_busy_non_office_hours_forward_rule": {
        "action": "HANGUP"
      },
      "ext_busy_no_answer_forward_rule": {
        "action": "HANGUP"
      },
      "ext_dnd_office_hours_forward_rule": {
        "action": "HANGUP"
      },
      "ext_dnd_non_office_hours_forward_rule": {
        "action": "HANGUP"
      },
      "ext_away_office_hours_forward_rule": {
        "action": "HANGUP"
      },
      "ext_away_non_office_hours_forward_rule": {
        "action": "HANGUP"
      },
      "ext_lunch_office_hours_forward_rule": {
        "action": "HANGUP"
      },
      "ext_lunch_non_office_hours_forward_rule": {
        "action": "HANGUP"
      },
      "ext_trip_office_hours_forward_rule": {
        "action": "HANGUP"
      },
      "ext_trip_non_office_hours_forward_rule": {
        "action": "HANGUP"
      },
      "ext_offline_office_hours_forward_rule": {
        "action": "HANGUP"
      },
      "ext_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,
      "executive_assistant": "NONE",
      "enable_assistant_opt_in_out": true,
      "enable_assistant_call_filtering": false,
      "assistant_alerting_mode": "SIMULTANEOUSLY",
      "assistant_timeout": 30,
      "assistant_timeout_action": "HANGUP",
      "assistant_timeout_number": "",
      "enable_assistant_forwarding_filtered_calls": false,
      "assistant_forwarding_filtered_calls_to": "",
      "assistant_caller_id_name_mode": "ORIGINATOR",
      "assistant_caller_id_number_mode": "ORIGINATOR",
      "phones": [
        {
          "mac": "00:1A:2B:3C:4D:5E",
          "filename": "example",
          "vendor": "",
          "model": "",
          "password": "",
          "language": "en-US",
          "transfer": "BLIND",
          "timezone": "",
          "country_tone": "",
          "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_ccbooleanOptional

Assign the independent Contact Center module to this extension. This does not grant RBAC permissions; both the role permission and License checks must pass at request time. For Node/Floating Licenses this value is always normalized to true, regardless of the submitted value. For Modular Licenses the submitted value is preserved and defaults to false when omitted while creating an extension.

enable_advancedbooleanOptional

Assign the independent Advanced module to this extension. This does not grant RBAC permissions. For Node/Floating Licenses this value is always normalized to true, regardless of the submitted value. For Modular Licenses the submitted value is preserved and defaults to false when omitted while creating an extension.

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

available_use_separate_fwd_rules_for_externalbooleanOptional

Use separate available forwarding rules for available external incoming calls.

Default: false
busy_use_separate_fwd_rules_for_externalbooleanOptional

Use separate busy forwarding rules for busy external incoming calls.

Default: false
dnd_use_separate_fwd_rules_for_externalbooleanOptional

Use separate do not disturb forwarding rules for do not disturb external incoming calls.

Default: false
away_use_separate_fwd_rules_for_externalbooleanOptional

Use separate away forwarding rules for away external incoming calls.

Default: false
lunch_use_separate_fwd_rules_for_externalbooleanOptional

Use separate lunch forwarding rules for lunch external incoming calls.

Default: false
trip_use_separate_fwd_rules_for_externalbooleanOptional

Use separate business trip forwarding rules for business trip external incoming calls.

Default: false
offline_use_separate_fwd_rules_for_externalbooleanOptional

Use separate offline forwarding rules for offline external incoming calls.

Default: false
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
executive_assistantstring · enumOptional

The role in Executive-Assistant feature:

  • NONE: Neither executive nor assistant.
  • EXECUTIVE: The executive.
  • ASSISTANT: The assistant.
Default: NONEPossible values:
enable_assistant_opt_in_outbooleanOptional

Whether the assistants can opt in and opt out.

Default: true
enable_assistant_call_filteringbooleanOptional

Whether the assistants can filtering calls.

Default: false
assistant_alerting_modestring · enumOptional

The assistants alerting mode:

  • SEQUENTIAL: Ring all available assistants sequentially.
  • SIMULTANEOUSLY: Ring all available assistants simultaneously.
Default: SIMULTANEOUSLYPossible values:
assistant_timeoutintegerOptional

The timeout in seconds for no assistants pick up calls.

Default: 30
assistant_timeout_actionstring · enumOptional

The action on assistants no answer timeout:

  • FORWARD_TO_NUMBER: Forward to specified number specified by assistant_timeout_number.
  • FORWARD_TO_VOICEMAIL: Forward to executive's voicemail.
  • HANGUP: Hangup this call.
Possible values:
assistant_timeout_numberstringOptional

The forwarded number. Only valid when assistant_timeout_action is FORWARD_TO_NUMBER.

enable_assistant_forwarding_filtered_callsbooleanOptional

Whether the assistants can forwarding filtered calls.

Default: false
assistant_forwarding_filtered_calls_tostringOptional

The forwarded number for assistants filtered calls.

assistant_caller_id_name_modestring · enumOptional

The assistant caller ID name mode:

  • ORIGINATOR: When assistant receives a call, display the original caller's name.
  • EXECUTIVE: When assistant receives a call, display the executive's name.
  • CUSTOM: When assistant receives a call, display the custom display name.
Default: ORIGINATORPossible values:
assistant_caller_id_name_valuestring · min: 1 · max: 64Optional

The display name of assistant received call. Only used when assistant_caller_id_name_mode is CUSTOM.

assistant_caller_id_number_modestring · enumOptional

The assistant caller ID number mode:

  • ORIGINATOR: When assistant receives a call, display the original caller's number.
  • EXECUTIVE: When assistant receives a call, display the executive's number.
  • CUSTOM: When assistant receives a call, display the custom display number.
Default: ORIGINATORPossible values:
assistant_caller_id_number_valuestring · min: 1 · max: 64Optional

The number of assistant received call. Only used when assistant_caller_id_number_mode is CUSTOM.

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_cc": true,
  "enable_advanced": false,
  "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",
      "provider_name": "some trunk",
      "provider_brand": "Generic",
      "provider_did_numbers": "1000-2000",
      "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"
  },
  "available_use_separate_fwd_rules_for_external": false,
  "busy_use_separate_fwd_rules_for_external": false,
  "dnd_use_separate_fwd_rules_for_external": false,
  "away_use_separate_fwd_rules_for_external": false,
  "lunch_use_separate_fwd_rules_for_external": false,
  "trip_use_separate_fwd_rules_for_external": false,
  "offline_use_separate_fwd_rules_for_external": false,
  "ext_available_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_available_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_available_no_answer_forward_rule": {
    "action": "HANGUP"
  },
  "ext_busy_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_busy_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_busy_no_answer_forward_rule": {
    "action": "HANGUP"
  },
  "ext_dnd_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_dnd_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_away_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_away_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_lunch_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_lunch_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_trip_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_trip_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_offline_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_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,
  "executive_assistant": "NONE",
  "enable_assistant_opt_in_out": true,
  "enable_assistant_call_filtering": false,
  "assistant_alerting_mode": "SIMULTANEOUSLY",
  "assistant_timeout": 30,
  "assistant_timeout_action": "HANGUP",
  "assistant_timeout_number": "",
  "enable_assistant_forwarding_filtered_calls": false,
  "assistant_forwarding_filtered_calls_to": "",
  "assistant_caller_id_name_mode": "ORIGINATOR",
  "assistant_caller_id_number_mode": "ORIGINATOR"
}

Update a user

post

Modify the settings of a user. Disabling enable_cc returns LICENSE_EXTENSION_IN_USE when the user is still configured as a Queue Agent; remove the user from the affected Queues before retrying.

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_ccbooleanOptional

Assign the independent Contact Center module to this extension. This does not grant RBAC permissions; both the role permission and License checks must pass at request time. For Node/Floating Licenses this value is always normalized to true, regardless of the submitted value. For Modular Licenses the submitted value is preserved and defaults to false when omitted while creating an extension.

enable_advancedbooleanOptional

Assign the independent Advanced module to this extension. This does not grant RBAC permissions. For Node/Floating Licenses this value is always normalized to true, regardless of the submitted value. For Modular Licenses the submitted value is preserved and defaults to false when omitted while creating an extension.

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

available_use_separate_fwd_rules_for_externalbooleanOptional

Use separate available forwarding rules for available external incoming calls.

Default: false
busy_use_separate_fwd_rules_for_externalbooleanOptional

Use separate busy forwarding rules for busy external incoming calls.

Default: false
dnd_use_separate_fwd_rules_for_externalbooleanOptional

Use separate do not disturb forwarding rules for do not disturb external incoming calls.

Default: false
away_use_separate_fwd_rules_for_externalbooleanOptional

Use separate away forwarding rules for away external incoming calls.

Default: false
lunch_use_separate_fwd_rules_for_externalbooleanOptional

Use separate lunch forwarding rules for lunch external incoming calls.

Default: false
trip_use_separate_fwd_rules_for_externalbooleanOptional

Use separate business trip forwarding rules for business trip external incoming calls.

Default: false
offline_use_separate_fwd_rules_for_externalbooleanOptional

Use separate offline forwarding rules for offline external incoming calls.

Default: false
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
executive_assistantstring · enumOptional

The role in Executive-Assistant feature:

  • NONE: Neither executive nor assistant.
  • EXECUTIVE: The executive.
  • ASSISTANT: The assistant.
Default: NONEPossible values:
enable_assistant_opt_in_outbooleanOptional

Whether the assistants can opt in and opt out.

Default: true
enable_assistant_call_filteringbooleanOptional

Whether the assistants can filtering calls.

Default: false
assistant_alerting_modestring · enumOptional

The assistants alerting mode:

  • SEQUENTIAL: Ring all available assistants sequentially.
  • SIMULTANEOUSLY: Ring all available assistants simultaneously.
Default: SIMULTANEOUSLYPossible values:
assistant_timeoutintegerOptional

The timeout in seconds for no assistants pick up calls.

Default: 30
assistant_timeout_actionstring · enumOptional

The action on assistants no answer timeout:

  • FORWARD_TO_NUMBER: Forward to specified number specified by assistant_timeout_number.
  • FORWARD_TO_VOICEMAIL: Forward to executive's voicemail.
  • HANGUP: Hangup this call.
Possible values:
assistant_timeout_numberstringOptional

The forwarded number. Only valid when assistant_timeout_action is FORWARD_TO_NUMBER.

enable_assistant_forwarding_filtered_callsbooleanOptional

Whether the assistants can forwarding filtered calls.

Default: false
assistant_forwarding_filtered_calls_tostringOptional

The forwarded number for assistants filtered calls.

assistant_caller_id_name_modestring · enumOptional

The assistant caller ID name mode:

  • ORIGINATOR: When assistant receives a call, display the original caller's name.
  • EXECUTIVE: When assistant receives a call, display the executive's name.
  • CUSTOM: When assistant receives a call, display the custom display name.
Default: ORIGINATORPossible values:
assistant_caller_id_name_valuestring · min: 1 · max: 64Optional

The display name of assistant received call. Only used when assistant_caller_id_name_mode is CUSTOM.

assistant_caller_id_number_modestring · enumOptional

The assistant caller ID number mode:

  • ORIGINATOR: When assistant receives a call, display the original caller's number.
  • EXECUTIVE: When assistant receives a call, display the executive's number.
  • CUSTOM: When assistant receives a call, display the custom display number.
Default: ORIGINATORPossible values:
assistant_caller_id_number_valuestring · min: 1 · max: 64Optional

The number of assistant received call. Only used when assistant_caller_id_number_mode is CUSTOM.

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: 5168

{
  "email": "example@example.com",
  "display_name": "example",
  "enabled": true,
  "mobile_phone": "",
  "work_phone": "",
  "home_phone": "",
  "address": "",
  "department": "",
  "enable_audio_recording": true,
  "enable_cc": true,
  "enable_advanced": false,
  "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"
  },
  "available_use_separate_fwd_rules_for_external": false,
  "busy_use_separate_fwd_rules_for_external": false,
  "dnd_use_separate_fwd_rules_for_external": false,
  "away_use_separate_fwd_rules_for_external": false,
  "lunch_use_separate_fwd_rules_for_external": false,
  "trip_use_separate_fwd_rules_for_external": false,
  "offline_use_separate_fwd_rules_for_external": false,
  "ext_available_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_available_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_available_no_answer_forward_rule": {
    "action": "HANGUP"
  },
  "ext_busy_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_busy_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_busy_no_answer_forward_rule": {
    "action": "HANGUP"
  },
  "ext_dnd_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_dnd_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_away_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_away_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_lunch_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_lunch_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_trip_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_trip_non_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_offline_office_hours_forward_rule": {
    "action": "HANGUP"
  },
  "ext_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,
  "executive_assistant": "NONE",
  "enable_assistant_opt_in_out": true,
  "enable_assistant_call_filtering": false,
  "assistant_alerting_mode": "SIMULTANEOUSLY",
  "assistant_timeout": 30,
  "assistant_timeout_action": "HANGUP",
  "assistant_timeout_number": "",
  "enable_assistant_forwarding_filtered_calls": false,
  "assistant_forwarding_filtered_calls_to": "",
  "assistant_caller_id_name_mode": "ORIGINATOR",
  "assistant_caller_id_number_mode": "ORIGINATOR"
}

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": "",
      "country_tone": "",
      "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.

country_tonestringOptional

The country tone 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: 692

{
  "mac": "00:1A:2B:3C:4D:5E",
  "filename": "example",
  "vendor": "",
  "model": "",
  "password": "xxxxxx",
  "language": "English",
  "transfer": "BLIND",
  "timezone": "",
  "country_tone": "",
  "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.

country_tonestringOptional

The country tone 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": "",
  "country_tone": "",
  "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.

country_tonestringOptional

The country tone 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: 579

{
  "password": "xxxxxx",
  "language": "English",
  "transfer": "BLIND",
  "timezone": "",
  "country_tone": "",
  "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_READY
  • 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_READY
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 assistants

get

Retrieve a collection of assistants.

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

OK

application/json
get/users/{id}/assistants
GET /api/users/{id}/assistants HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "items": [
    {
      "id": "xxxxxx",
      "extension_number": "101",
      "display_name": "example",
      "opt_in": true
    }
  ]
}

Update assistants

post

Update extension's assistants.

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

OK

No content

post/users/{id}/assistants
POST /api/users/{id}/assistants HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 41

{
  "items": [
    {
      "id": "xxxxxx",
      "opt_in": true
    }
  ]
}

No content

List assistant filters

get

List assistant filters

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

OK

application/json
get/users/{id}/assistant_filters
GET /api/users/{id}/assistant_filters HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "items": [
    {
      "id": "xxxxxx",
      "condition": "ALL_CALLS",
      "caller": "101",
      "enabled": true,
      "name": "example",
      "priority": 1000,
      "schedule": "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": []
    }
  ]
}

Create assistant filter

post

Create assistant filter.

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

The name of assistant filter.

priorityinteger · int32 · max: 1000000Required

The priority of assistant filter.

Default: 1000
enabledbooleanOptional

Whether the assistant filter enabled.

Default: true
callerstringOptional

The semicolon-separated list of caller number.

schedulestring · enumRequired

The filter scheduled time:

  • ALL_HOURS:
  • SPECIFIC_OFFICE_HOURS:
  • PERSONAL_OFFICE_HOURS:
  • OUTSIDE_PERSONAL_OFFICE_HOURS:
  • GLOBAL_OFFICE_HOURS:
  • OUTSIDE_GLOBAL_OFFICE_HOURS:
Possible values:
holidaysstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
conditionstring · enumRequired

The filter condition:

  • ALL_CALLS:
  • INTERNAL_CALLS:
  • EXTERNAL_CALLS:
  • SPECIFIC_CALLS:
Possible values:
Responses
201

Created

application/json
idstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
post/users/{id}/assistant_filters
POST /api/users/{id}/assistant_filters HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 111

{
  "caller": "101",
  "condition": "ALL_CALLS",
  "enabled": true,
  "name": "example",
  "priority": 1000,
  "schedule": "ALL_HOURS"
}
{
  "id": "xxxxxxxx"
}

Retrieve details of assistant filter

get

Retrieve details of assistant filter by ID.

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

OK

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

The name of assistant filter.

priorityinteger · int32 · max: 1000000Optional

The priority of assistant filter.

Default: 1000
enabledbooleanOptional

Whether the assistant filter enabled.

Default: true
callerstringOptional

The semicolon-separated list of caller number.

schedulestring · enumOptional

The filter scheduled time:

  • ALL_HOURS:
  • SPECIFIC_OFFICE_HOURS:
  • PERSONAL_OFFICE_HOURS:
  • OUTSIDE_PERSONAL_OFFICE_HOURS:
  • GLOBAL_OFFICE_HOURS:
  • OUTSIDE_GLOBAL_OFFICE_HOURS:
Possible values:
holidaysstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
conditionstring · enumOptional

The filter condition:

  • ALL_CALLS:
  • INTERNAL_CALLS:
  • EXTERNAL_CALLS:
  • SPECIFIC_CALLS:
Possible values:
get/users/{id}/assistant_filters/{filter_id}
GET /api/users/{id}/assistant_filters/{filter_id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "id": "xxxxxx",
  "condition": "ALL_CALLS",
  "caller": "101",
  "enabled": true,
  "name": "example",
  "priority": 1000,
  "schedule": "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": []
}

Update assistant filter

post

Update assistant filter.

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

The name of assistant filter.

priorityinteger · int32 · max: 1000000Optional

The priority of assistant filter.

Default: 1000
enabledbooleanOptional

Whether the assistant filter enabled.

Default: true
callerstringOptional

The semicolon-separated list of caller number.

schedulestring · enumOptional

The filter scheduled time:

  • ALL_HOURS:
  • SPECIFIC_OFFICE_HOURS:
  • PERSONAL_OFFICE_HOURS:
  • OUTSIDE_PERSONAL_OFFICE_HOURS:
  • GLOBAL_OFFICE_HOURS:
  • OUTSIDE_GLOBAL_OFFICE_HOURS:
Possible values:
holidaysstringOptionalExample: NzAwNTUxOTA5NzczMTQ4MTYw
conditionstring · enumOptional

The filter condition:

  • ALL_CALLS:
  • INTERNAL_CALLS:
  • EXTERNAL_CALLS:
  • SPECIFIC_CALLS:
Possible values:
Responses
200

OK

No content

post/users/{id}/assistant_filters/{filter_id}
POST /api/users/{id}/assistant_filters/{filter_id} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 111

{
  "caller": "101",
  "condition": "ALL_CALLS",
  "enabled": true,
  "name": "example",
  "priority": 1000,
  "schedule": "ALL_HOURS"
}

No content

Delete assistant filter

post

Delete assistant filter by ID.

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

No Content

No content

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

No content

List executives

get

Retrieve a collection of executives.

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

OK

application/json
get/users/{id}/executives
GET /api/users/{id}/executives HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "items": [
    {
      "id": "xxxxxx",
      "extension_number": "101",
      "display_name": "example",
      "opt_in": true,
      "enable_assistant_opt_in_out": false
    }
  ]
}

Update executives

post

Update extension's executives.

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

OK

No content

post/users/{id}/executives
POST /api/users/{id}/executives HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 41

{
  "items": [
    {
      "id": "xxxxxx",
      "opt_in": true
    }
  ]
}

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": "",
      "allow_admin_recordings": false
    }
  ]
}

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.

allow_admin_recordingsbooleanOptional

Allow group administrators with GeneralCallRecording.ViewOnly to access member call recordings. Existing groups are migrated with this value set to false.

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

{
  "name": "example",
  "outbound_caller_ids": [
    {
      "provider_id": "xxxxxx",
      "caller_id": "1000",
      "description": "example",
      "display_name": "1000"
    }
  ],
  "description": "",
  "allow_admin_recordings": false
}
{
  "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.

allow_admin_recordingsbooleanOptional

Allow group administrators with GeneralCallRecording.ViewOnly to access member call recordings. Existing groups are migrated with this value set to false.

Default: false
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",
      "provider_name": "some trunk",
      "provider_brand": "Generic",
      "provider_did_numbers": "1000-2000",
      "caller_id": "1000",
      "description": "example",
      "display_name": "1000"
    }
  ],
  "description": "",
  "allow_admin_recordings": false
}

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.

allow_admin_recordingsbooleanOptional

Allow group administrators with GeneralCallRecording.ViewOnly to access member call recordings. Existing groups are migrated with this value set to false.

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

{
  "name": "example",
  "outbound_caller_ids": [
    {
      "provider_id": "xxxxxx",
      "caller_id": "1000",
      "description": "example",
      "display_name": "1000"
    }
  ],
  "description": "",
  "allow_admin_recordings": true
}

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

List user group administrators

get

Retrieve the active administrators assigned to a user group. A group may have multiple administrators.

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

OK

application/json
get/groups/{id}/administrators
GET /api/groups/{id}/administrators HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "items": [
    {
      "id": "xxxxxx",
      "display_name": "Group Administrator",
      "extension_number": "100"
    }
  ]
}

Add user group administrator

post

Add an active extension as a user group administrator. The operation is idempotent.

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}/administrators/{extension_number}
POST /api/groups/{id}/administrators/{extension_number} HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Remove user group administrator

post

Remove an administrator from a 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

No content

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

No content

List groups administered by the current user

get

Retrieve the list of user groups where the current user is an administrator.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
topinteger · max: 300Optional

Maximum number of groups to return.

Default: 100
skipintegerOptional

Number of groups to skip.

Default: 0
countstring · enumOptional

Include the total number of matching groups when set to true.

Default: falsePossible values:
allow_admin_recordingsstring · enumOptional

Optional filter for the group's member recording access setting. When omitted, all groups administered by the current user are returned. Set to true to return only groups with member recording access enabled, or false to return only groups where it is disabled.

Possible values:
Responses
200

OK

application/json
countinteger · int64Required
get/user/groups/administered
GET /api/user/groups/administered HTTP/1.1
Host: HOSTNAME:8887
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "count": 1,
  "items": [
    {
      "id": "NzAwNTUxOTA5NzczMTQ4MTYw",
      "name": "text"
    }
  ]
}

Last updated

Was this helpful?