Skip to main content Skip to docs navigation
Check

Get started with Voice API

Voice API Overview

This document is intended for developers who want to create applications using the silhouette API. The silhouette API is a web service based on REST and WebSocket technologies that accepts and delivers content in JSON format. Application Developers can use any development platform capable of consuming the service.


Typographical Conventions

The following typographical conventions are used in the documentation.


  • Bold text


    Indicates GUI components, such as menu items and buttons.


  • Italic text


    References titles of publications and is used for emphasis.


  • Monospace text

Indicates paths and filenames, and is used for code.


2 About this Document


The silhouette Public API integrates call management, status monitoring, and provisioning, and enables applications to receive asynchronous notification of call-related events. Applications can use it to make calls, answer calls, release calls and view the call details of active calls in silhouette. It allows applications to monitor the call and presence status of specific users by subscribing to receive call and presence status events.


The silhouette API is a RESTful hyperlinking API, supporting the following the HAL media type specification, combined with a WebSocket-based stream for reporting realtime call and presence events.

Public API Guide


Architecture

The silhouette API provides public access, implemented as a web service following a REST/HATEOAS architectural style. Call and presence events are delivered via WebSockets.




Application Requirements

An application using the silhouette API is expected to


  • provide authentication credentials with each request to the API

  • authenticate users connected to the application

  • populate the HTTP User-Agent header with a string identifying the client application

  • limit request rate to avoid exceeding limits

  • handle errors appropriately (interpret response)


    Client applications using the silhouette API to manage calls are expected to


  • subscribe for required events

  • associate requests and events and manage the application view of call activity, and so forth

  • track call history, if required

  • not assume events will be received immediately (may be rate limited)

  • initiate and maintain connection to silhouette (for example, use a keep-alive to keep a WebSocket open to receive events)

  • request the current state of a silhouette account when it initially connects (if required). Events are only pushed to the applications as they occur.



    Accessing the API

    The silhouette API entry point is https://<WebAdmin>/api. Accessing the silhouette API includes

  • API Access

  • Security

  • Load Control

  • SSL Certification


    API Access

    The Public API is intended for use by client applications deployed in the customer premise. Applications access the Public API through the TOWS, using the existing WebAdmin IP address or FQDN.


    See Architecture.


    Security

    silhouette API security comprises


  • Authentication

  • Authorization


    Authentication

    HTTP Basic Authentication (see https://en.wikipedia.org/wiki/ Basic_access_authentication) is used for authenticating silhouette API access. All REST requests and the WebSocket connection request must be authenticated individually (no sessions).


    The credentials required in the HTTP Authorization header must be in the format of:


    <username>:<password> Credentials

    The silhouette API authenticates that the credentials specified in the HTTP Authentication header are those of a valid silhouette user. The username in the credentials must indicate the user’s tenant and extension. The password in the credentials are the user’s PIN.


    The username of the credential must be in one of following formats:


  • <ext>@<tenant ID>

    for example, 3266@315100001

  • <ext>@<tenant ID>.ID

    for example, [email protected]

  • <ext>@<tenant DID>.DID

    Public API Guide


    for example, [email protected]

  • <ext>@<tenant web login URL>.URI

    for example, [email protected]


    where DID, URI or ID are used as the domain type suffix and have to be in uppercase. Disabled users and users of inactive tenants are not permitted to use the API.

    Authorization

    Authorization is per request and is based on the authority users have to access the API. Public API

    In the following table, the Authority column indicates the permission set the user has for managing resources of the API. Each resource documents its specific Authority requirements for permitted operations.


    Authorization Header contains

    Authority

    <ext>@<tenant ID> - where extension

    corresponds to a TenantAdmin User

    Tenant Admin Call Control User

    <ext>@<tenant ID> - where extension

    corresponds to a non-admin User

    Non-admin Call Control User


    Load Control

    Load control mechanisms ensure the following on the Public API:


  • WebSockets

    • maxIdleTimeout=3600000 milliseconds (1 hour). Without any data transfer, the WebSocket connection times out after 1 hour.

    • maxConnectionCount=4000. The maximum number of public WebSocket connections.

    • maxConnectionPerClient=1. The maximum number of concurrent processing threads per client. Per client means per user+client IP address.

    • blockAfterFailedLoginCount=3. Client is locked out after 3 failed login attempts.

    • blockFailedLoginWithin=1800000 milliseconds (30 minutes). After 3 failed login attempts within 30 minutes, the client is locked out.

    • blockPeriod=3600000 milliseconds (1 hour). After 3 failed attempts within 30 minutes, the client is locked out for an hour.

  • For REST service calls

    • maxThreads=100. The maximum number of concurrent requests from all clients that the server accepts.


    • maxConnectionPerClient=3. The maximum number of concurrent processing threads per client. Per client means per user+client IP address.

    • busyDelay=3000 milliseconds (3 seconds). When a response is delayed for 3 seconds, the system returns a 503.

    • blockAfterFailedLoginCount=3. Client is locked out after 3 failed login attempts.

    • blockFailedLoginWithin=1800000 milliseconds (30 minutes). After 3 failed login attempts within 30 minutes, the client is locked out.

    • blockPeriod=3600000 milliseconds (1 hour). After 3 failed attempts within 30 minutes, the client is locked out for an hour.


      SSL Certification

      The silhouette API supports the following versions of Transport Layer Security (TLS):


  • TLS v1.2


    The silhouette API supports the TLS SSL ECDHE_* cipher suite, excluding all RC4, MD5, DES, DSS and NULL ciphers.



    Using the API

    Using the API includes the following topics:


  • Hyperlinking API Fundamentals

  • Using HTTP Verbs

  • API Documentation—The HAL Browser

  • WebSockets

  • WSTool

  • Subscription Sets

  • Using API Features

  • Third Party Call Control


    Hyperlinking API Fundamentals

    The silhouette API is designed as a hyperlinking RESTful API. Rather than focusing on specific URLs, which may change as the system evolves, a hyperlinking API focuses on exposing relationships between resources and providing the ability to discover available resources. The benefit of this approach is that it results in an explorable API that provides client developers the ability to browse data and interact with the API at design time, which makes it much easier for the client developers to build a mental model of the API and its data structures.


    Using HTTP Verbs

    The silhouette API supports the following HTTP verbs in compliance with the definitions in the HTTP specification (RFC7231). Note that not all resources of the API support all verbs. See the resource details (online or in this document) for its supported verbs.


  • GET—Retrieves the representation of the resource at the request URL. Some resources accept optional query parameters that let the client refine the content received in the response.

  • HEAD —Performs the same logic on the server as a GET request to the same URL, but does not return any response data. Clients can use this to pre-test whether a GET will be successful.

  • PUT—Creates a new resource or replaces an existing resource at the request URL using the request payload.

  • POST—Tells the service how to modify the contents of the resource at the request URL, particularly when that resource is a container of other resources. Thus, a POST request may create a new subordinate resource if it is a container resource (a POST request to the Call Group list is used to add a new Call Group). If the resource is not a container resource, the POST request may have the effect of

    directly modifying the resource at the request URL (a POST request to a Call is used to change the call state).


    If a new resource is created as the effect of a POST request, the HTTP response code will be a 201 Created and the HTTP Location header will be populated with the URL of the new resource.


  • DELETE—Deletes the resource at the request URL. A successful response is typically a 200 OK with an empty payload.


    The API supports the media type application/json for request payloads, and

    application/hal+json in response payloads.


    API Documentation—The HAL Browser

    The HAL Browser is a web-based user interface that is provided as part of the silhouette API. It lets client developers explore the API’s capabilities. Use it to discover the resources supported in the API, their data structures, and their link relationships.


    The HAL Browser is located at


    https://<WebAdmin IP>/api/browser/browser.html



    When accessing The HAL Browser for the first time, you are prompted for credentials. See API Access. Once the credentials have been accepted you can proceed with exploring the API.


    Provide the user identifier (<ext>@<tenant ID>) and a valid subscriber PIN to start browsing the API from a Tenant Administrator or non-admin user perspective.


    Resource Graph


    The menu at the top of The HAL Browser has a link to the API Resource Graph. The client developer can expand resource nodes and follow documentation links to explore the Resource Model. The graph documents the full model; however, visibility of resource data in the application is subject to authorization, licensing, and permission controls. See Resource Model.


    The detailed documentation (online and in this document) includes sample Request/

    Response formats, including sample URLs. The URLs shown in these examples are representative only. Actual URLs will likely differ at runtime, based on the runtime environment.


    WebSockets

    The silhouette API delivers Call and Presence Event Notifications over a WebSocket. You can find out more about the WebSocket protocol at


    http://www.websocket.org/aboutwebsocket.html


    To establish a WebSocket connection with silhouette, the URL is published in API Root Resource response as the link relation called “v1:createWebSocket”. In the current release, this URL is as follows:


    https:<WebAdmin IP>/api/ws

    Any valid user credentials can be used.


    After the WebSocket connection has been successfully established, a message is sent from the server to the client indicating the UUID of the newly-created WebSocket. This UUID is used in subsequent REST requests to the silhouette API to subscribe to events. Note that there could be a small delay before this message is sent.


    Example


    ===>

    wss://{webadmin ip}/api/ws


    <===

    HTTP/1.1 101 Switching Protocols


    Connection: Upgrade Upgrade: WebSocket


    <===

    {"webSocketId":"aa922613-78ad-4e30-97e1-fac6a6a7e75c"}


    The server establishes a timeout interval for the WebSocket connection. If no events are delivered in that period of time, silhouette closes the connection and any subscriptions on the WebSocket are cancelled. Clients can force the connection to stay open by periodically sending a message over the connection. The format of the message may be a short string, such as “hello”. The server will echo this back if the connection is still alive and reset the timeout counter.


    The timeout value for connections is set to 1 hour.


    WebSockets should be explicitly torn down gracefully by the client before any attempt to establish a new connection.


    WSTool

    WSTool is a web-based tool that creates a WebSocket connection. It is shipped with the silhouette API, preconfigured to use the createWebsocket URL to establish a connection, and can be used for testing or exploring the API. It requires HTTP basic authentication, the same as the API itself (see Security). Access WSTool at https://

    <webadmin IP>/api/wstool/wstool.html.


    Subscription Sets

    Once it has established a WebSocket, the client can subscribe to events. To receive events, follow these steps:

    1. Establish a WebSocket with the silhouette API.

    2. Receive a WebSocket ID over the newly-established WebSocket.

    3. Use the WebSocket ID to create a Subscription Set for each set of subscriptions.

    4. Create a subscription within the Subscription Set to subscribe for specific events. (Events related to the subscriptions are sent over the WebSocket as they occur.)


    Using API Features

    The silhouette API includes the following features:


  • Expand Support

  • Filter Support

  • enum lookup


    Expand Support

    Table of Contents

  • Description

  • Expand Keys

  • Performance

  • Expand Parameter Examples Description

    Most resources list or entity (for example: a list of tenants, or a single tenant) support an optional query parameter on the URL that enables the client to request more detail in the query response.


    In a query response, many entity representations include information about related resources in the _embedded section of the payload. Similarly, in a list query, each element of the list is included in the _embedded section of the payload. Embedded representations typically include only identifying information about the resource.

    However, when a client is interested in more information about some embedded representations than is included by default, it can ask for more detail about those representations to be included in the response by providing the representation name in the value of the expand query parameter.

    If the embedded resource contains an array, each element of the array will be expanded. In the case of list resources, such as the tenant list or user list, this allows the client to retrieve detail about every item in the list in a single query.


    Expand Keys


    The expand parameter value contains one or more expand keys, each expand key can be:



  • simple keys:


    item, this special key only used in a list resource context, it means item of the list.


    all, this special key means expand all possible embed resources of an entity resource.


    <valid embed name of entity>, this means expand the specified embed resource of an entity resource.


    -<valid embed name of entity>, minus sign can be used to specify not expand the specified embed resource, which is useful when together with the

    all key to exclude the specified embed resource.


  • multi-level keys: (combination of simple keys)


    <valid embed name of entity>.item, this means expand the embedded resource, not include embedded of the embedded resource.


    <valid embed name of entity>.all, this means expand the embedded resource, include all embedded of the embedded resource.


    <valid embed name of entity>.<valid embed name>, this means expand the specified embed resource of specified embed resource of the

    entity.


    -<valid embed name of entity>.<valid embed name>, minus sign

    can be used to specify not expand the specified embed resource of specified embed resource of the entity, which is useful when together with the <valid embed name of entity>.all key.

    Recursive expansion can be specified by identifying the desired tokens using

    dot-notation to specify the path to the embedded resource within the embedded resource, there is no limitation of how many level can be expanded.



    When more than one expand key provided, they must be separated by coma.


    Any unrecognized key include embed name of embed resource not accessible for user will be ignored.


    When expand any embed resource, the owner of the embed resource will be expanded as well (the item will be implicitly included).

    When expand any entity(include embedded resource), it only expand one level, which means it will include all attributes of the entity(visible by user role), and un-expanded view of all embedded resource of the entity, if need expand next level, next level expand key have to be provided in the parameter value.


    When using embed name as expand key, must exactly (case-sensitively) match the name of the embedded resource to include.


    Performance


    When expand parameter included, the more content included and more level content included, the more time it will be cost to build the response and the much bigger size of the response will be.


    It is up to the client to judge the query performance based on their requirements. Expand Parameter Examples

    Here are some examples of getting a list of user with expand parameters:


    GET /api/v1/tenants/414/users?expand=item GET /api/v1/tenants/414/users?expand=all

    GET /api/v1/tenants/414/users?expand=all,-keyProfile


    GET /api/v1/tenants/414/users?expand=featureSettings,adminSettings GET /api/v1/tenants/414/users/100?expand=all

    GET /api/v1/tenants/414/users/100?expand=callPermissionProfile


    Filter Support

    Table of Contents

  • Description

  • Filter condition

  • Performance

  • Filter Parameter Examples Description

    Filtering result of GET request on all List resources is supported by optional filter

    query parameter.


    When multiple filter parameters provided, the logical relation between these filters are AND which means the result will only include items match all filters.

    Filter condition


    Each filter parameter value contains one or more filter conditions.


    When more than one condition provided, they must be separated by coma.


    When more than one filter conditions in the filter parameter value, the logical relation between filter conditions are OR relation which mean any item match any one of the filter conditions will be included in the result.


    Each filter condition must match valid format, if NOT, will get 400 bad request error. There are 2 type of filter conditions: value condition and no-value condition. value condition

    Value condition means compare the current value of an attribute of resource or embed resource with a provided value.


    Each value condition format is:


    <operator>(<key>,<value>)


    value condition operators


    operator

    description

    support value type


    eq


    equal


    Integer, Boolean, String


    ne


    not equal


    Integer, Boolean, String



    operator

    description

    support value type


    gt


    greater than


    Integer


    ge


    greater and equal


    Integer


    lt


    less than


    Integer


    le


    less and equal


    Integer


    ct


    contains


    String(case sensitive)


    ci


    contains ignore case


    String(case insensitive)


    sw


    start with


    String(case sensitive)


    ew


    end with


    String(case sensitive)


    value condition key


  • Key must be either a <valid property name> of the item resource of the list or a

    <valid property name> of a valid embed resource of the item resource.



  • Only property or embedded which is visible to the user can be used as key



  • Multi level embed resources and properties is valid for filter condition key value,

    such as:


    <valid embed name>.<valid embed name>…<valid embed name>.<valid property name>


    Note: the above condition implicitly indicate that every higher level embed must be exist



    value





  • value must be provided


    value must match expected value type



  • string value should not be quoted and must be URI encoded if contains URI special

    characters



    value condition examples eq(active,false) ci(firstName,Steven)

    sw(keyProfile.name,Sales)


    non-value condition


    format: <operator>(<key>)


    non-value condition operators


    operator

    description


    est


    exist


    nes


    not exist


    emp


    empty


    nem


    not empty

    non-value condition key


  • key must be: <valid property name or valid embed name> of the item resource of the list or <valid property name or valid embed name> of a valid embed resource of the item resource.



  • only property or embedded which is visible to the user can be used as key



Multi level embed resources and properties is valid for filter condition key value,

such as:


<valid embed name>.<valid embed name>…<valid embed name>


<valid embed name>.<valid embed name>…<valid embed name>.<valid

property name>


Note: the above condition implicitly indicate that every higher level embed

must be exist



non-value condition examples


est(keyProfile) emp(feature.callForwardNoAnswer.callTarget) Performance

When filter parameter included, it will cause server processing time slightly increase, while it may reduce the network transfer time if the result list getting smaller.


When multiple filter parameter provided, the order in the URI will affect performance, the better performance can be achieved by put the more restricted filter more closer to beginning of the query parameter. For example, the filter of filter user by name equals Steven should be put before user do not have a key profile.


When use more than one condition in a filter, better performance can be achieved by put the less restricted condition before more restricted condition. For example, you should be put user do not have a key profile before name equals Steven.


Filter Parameter Examples


Here is an example query URI for get a list of user with filter to ask for users which extension start with 2 or 3 and no key profile:


GET /api/v1/tenants/414/users? filter=sw(extension,2),sw(extension,3)&filter=nes(keyProfile)


enum lookup

As a client development aid, the silhouette API provides an enum lookup service for enumerated type values used in the API. This service provides a list of valid values that can be used for the indicated property. A hyperlink is provided to each enum value from the resource that uses it.


For example, the POST Call request has a required field called callRequest:


POST /calls/3501-1441389611741-3%3A155@21375

{"callRequest":"hangupCall", "myPartyId":"155@21375", "deviceId":"4564",

}


The GET Call response includes a hyperlink to the enum lookup resource for the

callRequest field:


GET /calls/3501-1441389611741-3%3A155%4021375 HTTP/1.1


Response:

{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1options", "templated" : true

},

"self" : {

"href" : "/calls/3501-1441389611741-3:155@21375"

},

"v1options:callRequest" : {

"href" : "/api/v1/enums/callrequest"

}

},

"answerTime" : "2016-03-18T13:05:14.216-04:00", "callId" : "3501-1441389611741-3:155@21375",

"callParties" : [ { "PartyId" : "155@21375",

"PartyName" : "User, Jane"

}, {

"PartyId" : "203@21375",

"PartyName" : "User, Joe"

} ],

"callState" : "connected", "digitsDialed" : "203", "from" : "203@21375",

"redirected" : false,

"startTime" : "2016-03-18T13:04:44.260-04:00",

"talkDuration" : "PT45S", "to" : "155@21375",

"transferred" : false

}


You can issue a GET request to the href value indicated by the v1options:callRequest link to see the list of valid values that can be used for the callRequest field:


GET /api/v1/enums/callrequest


The response includes a list of valid values:



{

"_links": {

"self": {

"href": "/api/v1/enums/callrequest"

}

},

"values": [

{

"name": "answerCall", "defaultLabel": "answerCall"

},

{

"name": "hangupCall", "defaultLabel": "hangupCall"

}

]

}


The string value in the name property can be used as the value of the callRequest

property in subsequent POST requests to modify the call state.


By programmatically parsing it at runtime, client can ensure they are using the correct string value.


Third Party Call Control

The purpose of a Third Party Call Control API is to enable applications to monitor calls, and to invoke requests to make calls, and modify existing calls.


Details on how to initiate a call, retrieve a parked call, and query a user’s active calls are documented in the ActiveCalls Resource section of Call Management Resources. Commands to answer, hang up, or invoke call features are documented in the Call Resource section of Call Management Resources.


It is possible to monitor call activity using Events received over a WebSocket. In order to receive Call, Presence, or ParkLocation events, a Subscription Set must be created, and the client must register for specific events. The details on how to register for events are documented in the Event Management Resources section.


Detail on the Event content is contained in the Events section.


It is also possible to get the current status information of a user or park location as described in the Presence Status Resource and ParkLocation Status Resource. This is normally used by an application that has registered for events to get an initial status.


Third Party Call Control Commands

The silhouette API includes the following Third Party Call Control (3PCC) commands. All commands are supported for MiNET and VVX devices. The following table shows which commands are supported for BSTs (Basic SIP Terminals).


Command

BST Support

makeCall

Yes

getCalls

Yes

getCall

Yes

parkCall

Yes

answerCall

No

hangupCall

Yes

deflectCall

Yes

holdCall

No

resumeCall

No

transferCall

Yes

retrieveCall

Yes


Yes


Yes

For more information, see API Resources and Subscription Sets.


makeCall


Description


Places a call. Allows the user to place the call from an external number as part of the Bring Your Own Number (BYON) feature. The feature still places a call from the user’s default device when no device is specified.


Details

https://{ip}/api/v1/calls

{"request":"makeCall" "from":"102@tenantId", "to":"912125551212",

"deviceIdType":"external", "deviceId": "{external number}"}


For a basic SIP terminal (BST) to support makeCall, the SIP phone must

  • be able to handle a minimum of two calls concurrently

  • have an available line appearance

  • accept reINVITEs

  • be able to send reINVITEs


    getCalls


    Description


    Gets a list of active calls for the authorized user.


    Details

    https://{ip}/api/v1/calls/{callObserverId}


    For a basic SIP terminal (BST) to support getCalls, the SIP phone must

  • be able to handle a minimum of two calls concurrently

  • have an available line appearance

  • accept reINVITEs

  • be able to send reINVITEs


    getCall


    Description


    Gets the details of a particular call based on the callObserverId.

    Details

    https://{ip}/api/v1/calls/{callObserverId}


    For a basic SIP terminal (BST) to support getCall, the SIP phone must

  • be able to handle a minimum of two calls concurrently

  • have an available line appearance

  • accept reINVITEs

  • be able to send reINVITEs


    parkCall


    Description


    Parks a specific call based on the callId.

    To Park a call at system-generated (generic) location, remove featureData from the request body.


    Details

    https://{ip}/api/v1/calls/{callId}


    {"callRequest":"parkCall", "myPartyId":"105@tenantId", “featureData”:”4”}


    For a basic SIP terminal (BST) to support parkCall, the SIP phone must

  • be able to handle a minimum of two calls concurrently

  • have an available line appearance

  • accept reINVITEs

  • be able to send reINVITEs


    answerCall


    Description Answers a call.

    Details

    https://{ip}/api/v1/calls/{callObserverId}

    {"callRequest":"answerCall", ”myPartyId”:"ext@tenantId"}


    hangupCall


    Description Hangs up a call.

    Details

    https://{ip}/api/v1/calls/{callObserverId}

    {"callRequest":"hangupCall"}


    For a basic SIP terminal (BST) to support hangupCall, the SIP phone must

  • be able to handle a minimum of two calls concurrently

  • have an available line appearance

  • accept reINVITEs

  • be able to send reINVITEs


    deflectCall


    Description


    Deflects a ringing call to coverage. Details

    https://{ip}/api/v1/calls/{callId}


    {"callRequest":"deflectCall", "myPartyId":"105@tenantId" }


    For a basic SIP terminal (BST) to support deflectCall, the SIP phone must

  • be able to handle a minimum of two calls concurrently

  • have an available line appearance

  • accept reINVITEs

  • be able to send reINVITEs


holdCall


Description


Holds a specific call based on the callId.

Details

https://{ip}/api/v1/calls/{callId}

{"callRequest":"holdCall", "myPartyId":105@tenantId }


resumeCall


Description


Resumes a specific call based on the callId from a hold state.

Details

https://{ip}/api/v1/calls/{callId}

{"callRequest":"resumeHeldCall", "myPartyId":"105@tenantId" }


transferCall


Description


Transfers active and held calls. Details

https://{ip}/api/v1/calls/{callId2}

{"callRequest":"transfer", "myPartyId":"105@tenantId", "otherCallId":"{callId1}" }


For a basic SIP terminal (BST) to support transferCall, the SIP phone must

  • be able to handle a minimum of two calls concurrently

  • have an available line appearance

  • accept reINVITEs

  • be able to send reINVITEs


    retrieveCall


    Description


    Retrieves a parked call at a park location referenced by featureData. Details

    POST https://{ip}/api/v1/calls

    {"request":"retrieveParkedCall" "from":"102@tenantId", "featureData”:”4" "deviceIdType":"device", "deviceId": "23"}


    For a basic SIP terminal (BST) to support retrieveCall, the SIP phone must

  • be able to handle a minimum of two calls concurrently

  • have an available line appearance

  • accept reINVITEs

  • be able to send reINVITEs



Events

Applications use the Subscription Set Resource to subscribe to accounts. See Event Management Resources. Applications can subscribe to Call Events, Presence Events and ParkLocation Events. Events are streamed through a WebSocket and include

a callId, which is necessary for tracking calls for each subscriber involved. The smdrCallId in Third Party Call Control (3PCC) events correlates with the callid in the SMDR records and optionally in call segments if Segmented SMDR is enabled.


Call Events

Call events provide the necessary information for tracking calls. Call events reference a callId, which can be used to associate events common to a single call on the account. Call events also reference the account. Call events report basic call events such as dial, ring, answer, offer, and end—although not all information is included in each event. Calls start with either an offer (incoming) or dial (outgoing) event and end with an “end” event. When a client starts up, if it tracks calls, it can get current calls to find out about existing calls. See ActiveCalls Resource and Call Management Resources. After that the events should provide all needed information.


Feature events including hold, resume, forward, and transfer are reported as call events. Call events are pushed to each subscribed application as they occur. Call events report the same basic information on accounts as the legacy call events, but are not identical. Call events reference the phone used by the associated user or location when relevant (events such as Answer).


General Format


===>

https://{webadminIP}/api/v1/calls


dial


Description


Account has dialed a call. Details

{

“subscriptionSetId”:”12345”, “event”:”dial”,

“callId”:1, “observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52-04”,

“version”:”v1”, “from”:”100@Windstream”, “to”:”101@Windstream”,

“sipCallId”:”[email protected]”, “dialingDeviceId”:1

}


ringback


Description


Dialed call is ringing.


Details


{

“subscriptionSetId”:”12345”, “event”:”ringback”, “callId”:1,

“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52-04”,

“version”:”v1”

}


offer


Description


Call has been offered to account. Details

{

“subscriptionSetId”:”12345”, “event”:”offer”,

“callId”:1, “observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52-04”,

“version”:”v1”, “from”:”101@Windstream”, “to”:”100@Windstream”, “via”:”102@Windstream”,

“sipCallId”:”[email protected]”, “dialedDigits”:“100”,

“callingName”:”Homer Simpson”

}


ringing


Description


Call offered to account is ringing on a particular phone. Details

{

“subscriptionSetId”:”12345”, “event”:”ringing”, “callId”:1,

“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52-04”,

“version”:”v1”, “ringingDeviceId”:1

}


answer


Description


Ringing call offered to account has been answered on a particular phone, or dialed call has been answered.


Details


{

“subscriptionSetId”:”12345”, “event”:”answer”, “callId”:1,

“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52-04”,

“version”:”v1”, “answeringParty”:”101@Windstream”, “answeringDeviceId”:2

}


forward


Description


Call has been forwarded. Details

{

“subscriptionSetId”:”12345”, “event”:”forward”, “callId”:1,

“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52-04”,

"version”:”v1”, “forwardingParty”:”101@Windstream”, “forwardTarget”:”102@Windstream”

}


hold


Description


Call has been put on hold. Details

{

“subscriptionSetId”:”12345”, “event”:”hold”,

“callId”:1, “observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52-04”,

“version”:”v1”, “holdingParty”:”100@Windstream”, “heldParty”:”101@Windstream”

}


held


Description


Issued for the held party when a call is put on hold. Details

{

“subscriptionSetId”:”12345”, “event”:”hold”,

“callId”:1, “observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52-04”,

“version”:”v1”, “holdingParty”:”100@Windstream”, “heldParty”:”101@Windstream”

}


resume


Description


Held call has been resumed. Details

{

“subscriptionSetId”:”12345”, “event”:”resume”, “callId”:1,

“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52-04”,

“version”:”v1”, “resumingParty”:”100@Windstream”, “heldParty”:”101@Windstream”

}


resumed


Description


Issued to the held party when a call is taken off hold. Details

{

“subscriptionSetId”:”12345”, “event”:”resume”, “callId”:1,

“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52-04”,

“version”:”v1”, “resumingParty”:”100@Windstream”, “heldParty”:”101@Windstream”

}


transfer


Description


Call has been transferred. Details

{

“subscriptionSetId”:”12345”, “event”:”transfer”, “callId”:1,

“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52-04”,

“version”:”v1”, “transferringParty”:”100@Windstream”, “transferee”:”101@Windstream”, “transferTarget”:”102@Windstream”

}


callError


Description


Call cannot be completed and has been forwarded to treatment. Details

{

“subscriptionSetId”:”12345”, “event”:”callError”, “callId”:1,

“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52-04”,

“version”:”v1”, “error”:”Subscriber unavailable”

}


end


Description


Account is no longer involved in a call . Details

{

“subscriptionSetId”:”12345”, “event”:”end”,

“callId”:1, “observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52-04”,

“version”:”v1”, “from”:”100@Windstream”, “to”:”101@Windstream”, “endingParty”:”100@Windstream”, “endReason”:”normal”, “callDuration”:”PT3M25S”

}


park


Description


Issued for the parking party when an account parks a call. Details

{

“callId”:1, "parkingPartyNumber"."100", "parkLocationId"."1", "observedParty"."120", "parkedPartyNumber"."101", “subscriptionSetId”:”12345”, “event”:”park”, "parkingPartyName"."Jack Slack", “version”:”v1”, “parkedPartyName”:”Joe Schmo” “timestamp”:”2015-05-11T14:06:52-04”,

}


parked


Description


Issued for the parked party when a call is parked. Details

{

“callId”:1, "parkingPartyNumber"."100", "parkLocationId"."1", "observedParty"."120", "parkedPartyNumber"."101", “subscriptionSetId”:”12345”, “event”:”park”, "parkingPartyName"."Jack Slack", “version”:”v1”, “parkedPartyName”:”Joe Schmo” “timestamp”:”2015-05-11T14:06:52-04”,

}


retrieve


Description


Issued for the retrieving party when an account retrieves a call from the parked state. Details

{

“callId”:1, "retrievingPartyName"."Joe Schmo", "parkLocationID"."3", "observedPartyID"."100@5556661111", "parkedPartyNumber"."100", “subscriptionSetId”:”12345”, “event”:”retrieve”,

“version”:”v1”, “retrievingPartyID”:”101”, “parkedPartyName”:”Jack Slack” “timestamp”:”2015-05-11T14:06:52-04”,

}


retrieved


Description


Issued for the parked party when a call is retrieved from park. Details

{

“callId”:1, "retrievingPartyName"."Joe Schmo", "parkLocationID"."3", "observedPartyID"."100@5556661111", "parkedPartyNumber"."100", “subscriptionSetId”:”12345”, “event”:”retrieved”, “version”:”v1”, “retrievingPartyID”:”101”, “parkedPartyName”:”Jack Slack”

“timestamp”:”2015-05-11T14:06:52-04”,

}


Presence Events

Presence Events must be reported from the perspective of a single user or location extension. Currently, presence events are relevant only for users and locations. The application must explicitly subscribe for presence events for specific accounts. All presence events include a reference to the account, rather than particular calls. Clients that track presence status will want to get the current presence status of users at the same time that they register for presence events. See PresenceStatusByExtension Resource.


Presence events report basic account status such as idle, busy, available for calls, unavailable for calls, joined group, left group, available for ACD, unavailable for ACD. Presence events are pushed as they occur to each subscribed application.


The sipCallId header may or may not be present in the dial, offer, ringback, ringing, and answer events. To be included at any point in a call flow, the call must include at least one SIP endpoint (device, gateway, and so forth.). The particular events in a call event stream that contain a sipCallId header depends on the call scenario.


The via header may or may not be included in the offer event, depending on the call scenario.


idle


Account is not involved in any calls. Details

{

“subscriptionSetId”:”12345”, “event”:”idle”, “observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52+04”,

“version”:”v1”

}


busy


Account is involved in one or more calls. Details

{

“subscriptionSetId”:”12345”, “event”:”busy”, “observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52+04”,

“version”:”v1”

}


available


Account is available to receive calls (that is, logged in to at least one, connected device). Details

{

“subscriptionSetId”:”12345”, “event”:”available”, “observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52+04”,

“version”:”v1”

}


unavailable


Account is not available to receive calls (i.e., account is not logged into any connected devices.


Details


{

“subscriptionSetId”:”12345”, “event”:”unavailable”, “observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52+04”,

“version”:”v1”

}


joinedGroup


Account has joined a group. Details

{

“subscriptionSetId”:”12345”, “event”:”joinedGroup”, “observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52+04”,

“version”:”v1”, “groupJoined”:”600@Windstream”

}


leftGroup


Account has left a group. Details

{

“subscriptionSetId”:”12345”, “event”:”leftGroup”, “observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52+04”,

“version”:”v1”, “groupLeft”:”600@Windstream”

}


signedInAcd


Account is available to participate in ACD applications. Details

{

“subscriptionSetId”:”12345”, “event”:”signedInAcd”, “observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52+04”,

“version”:”v1”

}


signedOutAcd


Account is unavailable to participate in ACD applications. Details

{

“subscriptionSetId”:”12345”, “event”:”signedOutAcd”, “observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52+04”,

“version”:”v1”

}


dndOff


Account has turned DND off. Details

{

“subscriptionSetId”:”12345”, “event”:”dndOff”, “observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52+04”,

“version”:”v1”

}


dndOn


Account has turned DND on. Details

{

“subscriptionSetId”:”12345”, “event”:”dndOn”, “observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52+04”,

“version”:”v1”

}


ParkLocation Events

ParkLocation Events must be reported from the perspective of a single Park Location. The application must explicitly subscribe for ParkLocation events for specific Park Location or all Park Locations in a tenant. All ParkLocation events include a reference to the Park Location. Clients that track ParkLocation status will want to get the

current ParkLocation status of a ParkLocation at the same time that they register for ParkLocation events. See ParkLocationStatus Resource.


ParkLocation events report basic Park Location status such as idle, busy. ParkLocation events are pushed as they occur to each subscribed application.


idle


ParkLocation is not involved in any calls. Details

{

“subscriptionSetId”:”12345”, “event”:”idle”, “observedParty”:”PL1@315100001”, “timestamp”:”2015-05-11T14:06:52+04”,

“version”:”v1”

}


busy


ParkLocation is involved in one or more calls. Details

{

“subscriptionSetId”:”12345”, “event”:”busy”, “observedParty”:”PL1@315100001”, "parkedParty":"6132805555", "parkedPartyName":"Steve L" “timestamp”:”2015-05-11T14:06:52+04”,

“version”:”v1”

}



API Resources

This section includes


  • Resource Model

  • Navigation Resources

  • Event Management Resources

  • Call Management Resources

  • Presence Status Resources

  • ParkLocation Status Resources

  • Provisioning Resources


    The detailed documentation in this chapter includes references to information that

    is visible only to Telco Users or which may not be enabled on all systems. Clients of this API are not able to view or modify this data. In particular, example messages may differ between this document and the live system. Use The HAL Browser to verify resource representations in your system.


    Resource Model

    You can view the complete interactive graph online at https://<webadminIP>/api/ browser/graph.html or using the “Resource Graph” link in the HAL browser. You can view a whole list of all resource models online at https://< webadminIP>/api/ browser/list.html or using the “Resource List” link in the HAL browser.


    Navigation Resources

    Navigation resources include:


  • API Root Resource—the API entry point; this resource varies depending on the authorization of the requesting user.

  • V1 Resource—the entry point to the V1 of the API; this resource varies depending on the authorization of the requesting user.

  • URI Template Dictionary—provides a list of URL templates of major resources supported by the API.

  • Enums List Resource—provides a list of all enum types used by the application.

  • Enum Resource—describes the general response format to a query for enum details.


    API Root Resource

    Table of Contents

  • Description

  • Resource Details

    • Properties

    • Link Relations

    • Sample GET Response Description

      This resource is the entry point of the silhouette API.


      This resource returns a list of potential resources an application client may wish to navigate to as a logical next step in using the silhouette API.


      If the end user making the request is restricted to viewing data within a tenant, then basic information about that tenant will also be returned in this response.


      Supported Operations


      GET


      View API Root resource HEAD

      Get just the header response


      Permitted Authorities (as defined in API Guide)


      Telco User


      View

      TenantAdmin


      View

      User


      View

      Location


      View


      Resource Details

      Properties


      Path

      Type

      Description

      Visibility


      tenantId


      Number


      The unique identifier of the requesting subscriber’s tenant. This may form

      part of the AccountId. This property is only provided if the requester is a Subscriber or a Telco user with tenant scope.


      TenantAdmin, User


      tenantName


      String


      The tenant name of the requesting subscriber’s tenant. This property is only provided if the requester

      is a Subscriber or a Telco user with tenant scope.


      TenantAdmin, User

      Link Relations


      Relation

      Description

      Visibility


      api:createWebsocket


      The href defined by this link relation provides the URL to use to create

      a WebSocket connection for the delivery of Call and Presence Events.


      all


      api:v1


      The v1 resource is the entry point to the v1 version of the interface.


      all

      Sample GET Response

      HTTP/1.1 200 OK

      Content-Type: application/hal+json Content-Length: 353


      {

      "_links" : {

      "curies" : {

      "href" : "/api/releases/{rel}", "name" : "api",

      "templated" : true

      },

      "self" : {

      "href" : "/api"

      },

      "api:createWebsocket" : { "href" : "/api/ws"

      },

      "api:v1" : {

      "href" : "/api/v1"

      }

      },

      "tenantId" : 156,

      "tenantName" : "Dave's Moose Hunting Supply"

      }


      V1 Resource

      Table of Contents

  • Description

  • Resource Details

    • Link Relations

    • Sample GET Response Description

      This relation returns a list of resources that an application client may wish to allow the end user to view and manage.


      The content of this resource varies depending on the role and identity of the end user initiating the request.



  • TelcoAdmin users with Tenant Management permission will be provided with a link to explore tenant resources in the system



  • TelcoAdmin users with Tenant Scope and Call Control Management permission will

    be provided with links to manage their event subscription sets and the presence status for users within their tenant



  • TenantAdmin users will be provided with links to explore the details of their tenant’s

    data, their personal data, as well as links to manage their event subscription sets and view their own presence status



Non-admin users (Users and Locations) will be provided with links to explore details

of their own system usage.



Supported Operations


GET


View V1 resources HEAD

Get just the header response


Permitted Authorities (as defined in API Guide)


Telco User






GET

Telco User with Tenant Scope


GET

TenantAdmin User


GET

User


GET

Location


GET


Resource Details

Link Relations


Relation

Description

Visibility


v1:tenants


Provides a list of tenants configured in the system.


Telco(TenantBasicOrAdvance Management)


v1:systemAnnouncements


Provides a list of system announcement configured in the system.


Telco(TenantBasicOrAdvance Management)


v1:defaultSystem Announcement


Provides the default system announcement setting details of the system.


Telco(TenantBasicOrAdvance Management)


v1:customAnnouncementFiles


Lists all existing custom announcement files.


Telco(TenantBasicOrAdvance Management)


v1:defaultAnnouncementFiles


Lists all existing default announcement files.


Telco(TenantBasicOrAdvance Management)


v1:languages


Provide a list of Supported languages of the system.


Telco(TenantBasicOrAdvance Management, SystemManagement), TenantAdmin, User



Relation

Description

Visibility


v1:aaLanguages


Provide a list of Supported auto attendant languages of the system.


Telco(TenantBasicOrAdvance Management, SystemManagement), TenantAdmin


v1:crPlatforms


Provide a list of CrPlatform of the system.


Telco(TenantBasicOrAdvance Management, SystemManagement)


v1:priGroups


Provide a list of PRIGroup of the system.


Telco(SystemManagement)


v1:routes


Provide a list of Route of the system.


Telco(SystemManagement)


v1:dialPlans


Provide a list of DialPlan of the system.


Telco(SystemManagement)


v1:enterprises


Provide a list of Enterprises of the system.


Telco(TenantBasicOrAdvance Management)


v1:zones


Provide a list of Zone of the system.


Telco(SystemManagement, Tenant BasicOrAdvanceManagement, Site BasicOrAdvanceManagement)


v1:codecSets


Provides a list of codecSets.


Telco(SystemManagement, Tenant BasicOrAdvanceManagement)


v1:defaultSystemCodecSet


Provide the default system CodecSet setting details of the system.


Telco(SystemManagement, Tenant BasicOrAdvanceManagement, Site BasicOrAdvanceManagement)


v1:brandDetails


Provide a list of BrandDetail of the system.


Telco(SystemManagement, Tenant BasicOrAdvanceManagement)


v1:standardDhcpOptions


Provide a list of global standard DHCP options of the system.


Telco(SystemManagement)


v1:customDhcpOptions


Provide a list of global custom DHCP options of the system.


Telco(SystemManagement)


v1:tenantPhoneModels


List of Phone Models available for this tenant.


User



Relation

Description

Visibility


v1:macAddresses


Provides a list of MAC addresses.


Telco(TenantBasicOrAdvance Management)


v1:serviceProviders


Provides a list of serviceProviders.


Telco(SystemManagement, Tenant BasicOrAdvanceManagement)


v1:voicemailServers


Provides a list of voicemailServers.


Telco(ElementManagement)


v1:carriers


Provides a list of carriers.


Telco(SystemManagement)


v1:appServers


Provides a list of application servers.


Telco(ElementManagement, Tenant BasicOrAdvanceManagement)


v1:gateways


Provides a list of gateways.


Telco(ElementManagement)


v1:mediaServers


Provides a list of media servers.


Telco(ElementManagement)


v1:conferenceServers


Provides a list of conference servers.


Telco(SystemManagement, Tenant BasicOrAdvanceManagement)


v1:rtpProxyServers


Provides a list of RTP Proxy servers.


Telco(SystemManagement, Tenant BasicOrAdvanceManagement)


v1:phoneAccessEntries


Provides a list of Phone Access Entries.


Telco(SystemManagement)


v1:callpServers


Provides a list of Callp Servers.


Telco(ElementManagement, Tenant BasicOrAdvanceManagement)


v1:licensing


Provides access to Silhouette licenses.


Telco(SystemManagement, Tenant BasicOrAdvanceManagement)


v1:pinNotificationSettings


Manage PIN notification settings.


Telco(SystemManagement, Tenant BasicOrAdvanceManagement)


v1:systemProperties


System properties management.


Telco(SystemManagement)


v1:runningTasks


Provide a list of Running Tasks.


Telco(TenantBasicOrAdvance Management)



Relation

Description

Visibility


v1:vmLanguages


Provide a list of Supported Voicemail languages of the system.


Telco(TenantBasicOrAdvance Management, SystemManagement), TenantAdmin, User


v1:activeCalls


Allows the client to retrieve a list of active calls for this subscriber.


ScopedTelco(CallControl), Tenant Admin, User


v1:deviceStates


Allows the client to retrieve a list of device states.


ScopedTelco(TenantBasicOr AdvanceManagement), TenantBasic OrAdvanceManagement


v1:eventSubscriptionSets


Enables a client application to register to receive Presence and Call Events for extensions within a tenant.


ScopedTelco(CallControl), Tenant Admin, User


v1:extensions


Retrieves a list of configured extensions within the tenant.


ScopedTelco(CallControl), Tenant Admin, User


v1:location


Provides details about the location’s configuration. This Link Relation is provided only when the requesting extension belongs to a location.


TenantAdmin, User


v1:presenceStatusBy Extension


Allows a client application to retrieve the current Presence Status for

the requesting user/location. For a Scoped TelcoAdmin request initiator, this template resource allows them to retrieve the Presence Status for an extension within the tenant.


ScopedTelco(CallControl), Tenant Admin, User


v1:presenceStatusTenant Accounts


Allows a client application to retrieve the current Presence Status for all accounts in a tenant. For a Scoped TelcoAdmin request initiator, this template resource allows them to retrieve the Presence Status for all extensions within the tenant.


ScopedTelco(CallControl), Tenant Admin


v1:presenceStatusTenantPark Locations


Allows a client application to retrieve the current Presence Status for park locations. For a Scoped TelcoAdmin request initiator, this template resource allows them to retrieve the Presence Status for all park locations within the tenant.


ScopedTelco(CallControl), Tenant Admin, User



Relation

Description

Visibility


v1:parkLocationStatus


Allows a client application to retrieve the current Status for the specified park location.


ScopedTelco(CallControl), Tenant Admin, User


v1:sendMessageUsers


Allows a client application to send an emergency message to phones of specific users or locations.


ScopedTelco(CallControl), Tenant Admin


v1:sendMessageSites


Allows a client application to send an emergency message to phones in specific sites.


ScopedTelco(CallControl), Tenant Admin


v1:tenant


Provides details about the tenant business configuration.


ScopedTelco(CallControl), Tenant Admin


v1:user


Provides details about the user’s personal configuration. This Link Relation is provided only when the requesting extension belongs to a TenantAdmin or non-admin user.


TenantAdmin, User


v1:userPhones


Provides a list of the user/location’s logged-in phones and identifies their default Click-to-Call and Intercom devices.


TenantAdmin, User


v1:externalContacts


List of ExternalContact configured by the current tenant. This link are not available for Telco Users.


TenantAdmin, User


v1:uriDictionary


Provides a list of URI Templates which can be used to directly navigate to specific entity instances by applying correct entity identifiers to the URI.


Telco(all), ScopedTelco(CallControl), TenantAdmin


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 5603


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1"

},


"v1:aaLanguages" : {

"href" : "/api/v1/aalanguages{?filter}", "templated" : true

},

"v1:activeCalls" : { "href" : "/api/v1/calls"

},

"v1:appServers" : {

"href" : "/api/v1/appservers{?expand,filter}", "templated" : true

},

"v1:brandDetails" : {

"href" : "/api/v1/branddetails{?filter}", "templated" : true

},

"v1:callpServers" : {

"href" : "/api/v1/callpservers{?expand}", "templated" : true

},

"v1:carriers" : {

"href" : "/api/v1/carriers{?expand,filter}", "templated" : true

},

"v1:codecSets" : {

"href" : "/api/v1/codecsets{?expand,filter}", "templated" : true

},

"v1:conferenceServers" : {

"href" : "/api/v1/conferenceservers{?expand,filter}", "templated" : true

},

"v1:crPlatforms" : {

"href" : "/api/v1/crplatforms{?expand,filter}", "templated" : true

},

"v1:customAnnouncementFiles" : {

"href" : "/api/v1/customannouncementfiles/{langCode}{?filter}", "templated" : true

},

"v1:customDhcpOptions" : {

"href" : "/api/v1/customdhcpoptions{?filter}", "templated" : true

},

"v1:defaultAnnouncementFiles" : {

"href" : "/api/v1/defaultannouncementfiles/{langCode}{?filter}", "templated" : true

},

"v1:defaultSystemAnnouncement" : {

"href" : "/api/v1/defaultsystemannouncement{?expand}", "templated" : true

},

"v1:defaultSystemCodecSet" : {

"href" : "/api/v1/defaultcodecset{?expand}", "templated" : true

},

"v1:deviceStates" : {

"href" : "/api/v1/devicestates"

},

"v1:dialPlans" : {

"href" : "/api/v1/dialplans{?expand,filter}", "templated" : true

},

"v1:enterprises" : {

"href" : "/api/v1/enterprises{?expand,filter}", "templated" : true

},

"v1:eventSubscriptionSets" : {

"href" : "/api/v1/subscriptions/ws/{webSocketId}/subscriptionsets", "templated" : true

},


"v1:extensions" : {

"href" : "/api/v1/tenants/156/extensions{?expand,filter,extensionType,agent}", "templated" : true

},

"v1:externalContacts" : {

"href" : "/api/v1/tenants/156/externalcontacts{?expand,filter}", "templated" : true

},

"v1:gateways" : {

"href" : "/api/v1/gateways{?expand,filter}", "templated" : true

},

"v1:languages" : {

"href" : "/api/v1/languages{?filter}", "templated" : true

},

"v1:licensing" : {

"href" : "/api/v1/licensing"

},

"v1:macAddresses" : {

"href" : "/api/v1/macaddresses?macAddress={macAddress}", "templated" : true

},

"v1:mediaServers" : {

"href" : "/api/v1/mediaservers{?expand,filter}", "templated" : true

},

"v1:parkLocationStatus" : {

"href" : "/api/v1/presencestatus/parklocationstatus/{accountId}", "templated" : true

},

"v1:phoneAccessEntries" : {

"href" : "/api/v1/phoneaccessentries{?expand,filter}", "templated" : true

},

"v1:pinNotificationSettings" : {

"href" : "/api/v1/pinnotificationsettings"

},

"v1:presenceStatusByExtension" : {

"href" : "/api/v1/presencestatus/tenants/156/extensions/4332"

},

"v1:presenceStatusTenantAccounts" : {

"href" : "/api/v1/presencestatus/tenants/156/extensions"

},

"v1:presenceStatusTenantParkLocations" : {

"href" : "/api/v1/presencestatus/tenants/156/parklocations"

},

"v1:priGroups" : {

"href" : "/api/v1/prigroups{?expand,filter}", "templated" : true

},

"v1:routes" : {

"href" : "/api/v1/routes{?expand,filter}", "templated" : true

},

"v1:rtpProxyServers" : {

"href" : "/api/v1/rtpproxyservers{?expand,filter}", "templated" : true

},

"v1:runningTasks" : {

"href" : "/api/v1/runningtasks{?expand,filter}", "templated" : true

},

"v1:sendMessageSites" : {

"href" : "/api/v1/sendmessage/tenants/156/alertsites"

},

"v1:sendMessageUsers" : {

"href" : "/api/v1/sendmessage/tenants/156/alertusers"

},

"v1:serviceProviders" : {


"href" : "/api/v1/serviceproviders{?expand,filter}", "templated" : true

},

"v1:standardDhcpOptions" : {

"href" : "/api/v1/standarddhcpoptions{?expand,filter}", "templated" : true

},

"v1:systemAnnouncements" : {

"href" : "/api/v1/systemannouncements{?expand,filter}", "templated" : true

},

"v1:systemProperties" : {

"href" : "/api/v1/systemproperties"

},

"v1:tenant" : {

"href" : "/api/v1/tenants/156"

},

"v1:tenantPhoneModels" : {

"href" : "/api/v1/tenants/156/phonemodels{?expand,filter}", "templated" : true

},

"v1:tenants" : {

"href" : "/api/v1/tenants{?expand,filter}", "templated" : true

},

"v1:uriDictionary" : {

"href" : "/api/v1/uridictionary"

},

"v1:user" : {

"href" : "/api/v1/tenants/156/users/4332"

},

"v1:userPhones" : {

"href" : "/api/v1/tenants/156/users/4332/phones{?expand,filter}", "templated" : true

},

"v1:vmLanguages" : {

"href" : "/api/v1/vmlanguages{?filter}", "templated" : true

},

"v1:voicemailServers" : {

"href" : "/api/v1/voicemailservers"

},

"v1:zones" : {

"href" : "/api/v1/zones{?expand,filter}", "templated" : true

}

}

}


URI Template Dictionary

Table of Contents

This resource is the URI Template Dictionary of the silhouette API. It returns a list of URI Templates of frequently used links which can be used to access a single Entity Resource.


Each list of resources in the service publishes an itemTemplate link relation that provides a templated URI that the client can use in conjunction with a known identifier value to resolve the URI to a specific instance URL. This resource gathers those templates into a single place so that a client that is identifier-aware can cache the templates and resolve them as required, which may help to reduce the number of required round-trip queries.


The URI Template Dictionary only provides URI Templates links visible to Telco and TenantAdmin users.


Supported Operations


GET


View URI Template Dictionary resources HEAD

Get just the header response


Permitted Authorities (as defined in API Guide)


Telco User


View

TenantAdmin


View


Resource Details

Properties


This resource has no configurable properties.


Link Relations


Relation

Description

Visibility


v1:call


A URI template for managing a specific Call. Clients that know the callId of the Call they’re seeking may use this URL to manage the resource instead of iterating over the list. Provided to requesters User or Location authority.


ScopedTelco(CallControl), Tenant Admin, User


v1:deviceState


A URI template for retrieve state of a specific Device. Clients that know the device ID of the Device they’re

seeking may use this URL to manage the resource instead of iterating

over the list. Provided to requesters TelcoAdmin authority.


ScopedTelco(CallControl)


v1:subscriptionSets


A URI template for managing a specific SubscriptionSet. Clients that know the UUID of the Subscription Set they’re seeking may use this URL to manage the resource instead of iterating over the list. Provided to requesters with User, Location, or Scoped TelcoAdmin authority.


ScopedTelco(CallControl), Tenant Admin, User


v1:callEventAccount


A URI template for managing a specific Call Event Account of a SubscriptionSet. Clients that know the UUID of the SubscriptionSet and the Account ID they’re seeking may use this URL to manage the

resource instead of iterating over the list. Provided to requesters with User, Location, or Scoped TelcoAdmin authority.


ScopedTelco(CallControl), Tenant Admin, User


v1:presenceEventAccount


A URI template for managing a specific Presence Event Account of a SubscriptionSet. Clients that know the UUID of the SubscriptionSet and the Account ID they’re seeking may use this URL to manage the

resource instead of iterating over the


ScopedTelco(CallControl), Tenant Admin, User



Relation

Description

Visibility


list. Provided to requesters with User,

Location, or Scoped TelcoAdmin authority.



v1:presenceStatusBy Extension


A URI template indicating how to retrieve the Presence Status for a specific extension. Clients that

know the extension of the account they’re seeking may use this URL to retrieve the resource instead of iterating over the list. Provided to requesters with User, Location or Scoped TelcoAdmin authority.


ScopedTelco(CallControl), Tenant Admin, User


v1:parkLocationStatus


A URI template indicating how to retrieve the Park Location Status for a specific park location. Clients that know the park location of the account they’re seeking may use this URL

to retrieve the resource instead of iterating over the list. Provided to requesters with User, Location or Scoped TelcoAdmin authority.


ScopedTelco(CallControl), Tenant Admin, User


v1:parkLocationEventAccount


A URI template for querying a specific Park Location Event Account. Clients that know the UUID of the Park Location Account ID they’re seeking may use this URL

to query the resource instead of iterating over the list. Provided to requesters with User, Location, or Scoped TelcoAdmin authority.


ScopedTelco(CallControl), Tenant Admin, User


v1:announcement


A URI template indicating how to retrieve a specific Announcement. Clients that know the announcement Id of the announcement they are seeking can use this URL to retrieve the resource, instead of iterating over the list. Provided to TelcoAdmin requesters only.


Telco(TenantBasicOrAdvance Management, SystemManagement), TenantAdmin


v1:priGroup


A URI template indicating how to retrieve a specific PRIGroup. Clients that know the priGroupId of the PRIGroup they are seeking can use this URL to retrieve the resource, instead of iterating over the list.

Provided to TelcoAdmin requesters only.


Telco(SystemManagement, Element Management)



Relation

Description

Visibility


v1:route


A URI template indicating how to retrieve a specific Route. Clients that know the routeId of the Route they are seeking can use this URL to retrieve the resource, instead of iterating over the list. Provided to TelcoAdmin requesters only.


Telco(SystemManagement)


v1:dialPlan


A URI template indicating how to retrieve a specific DialPlan. Clients that know the dialPlanId of the DialPlan they are seeking can use this URL to retrieve the resource, instead of iterating over the list.

Provided to TelcoAdmin requesters only.


Telco(SystemManagement)


v1:zone


A URI template indicating how to retrieve a specific Zone. Clients that know the zoneId of the Zone they are seeking can use this URL to retrieve the resource, instead of iterating

over the list. Provided to TelcoAdmin requesters only.


Telco(TenantBasicOrAdvance Management, SiteBasicOrAdvance Management, SystemManagement)


v1:codecSet


A URI template indicating how to retrieve a specific CodecSet.

Clients that know the codecId of the CodecSet they are seeking can use this URL to retrieve the resource, instead of iterating over the list.

Provided to TelcoAdmin requesters only.


Telco(TenantBasicOrAdvance Management, SystemManagement)


v1:gateway


A URI template indicating how to retrieve a specific Gateway. Clients that know the gatewayId of the Gateway they are seeking can use this URL to retrieve the resource, instead of iterating over the list.

Provided to requesters with Tenant Admin or TelcoAdmin authority.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:crPlatform


A URI template indicating how to retrieve a specific CR Platform. Clients that know the crPlatformId of the CR Platform they are seeking can use this URL to retrieve the resource, instead of iterating over the list.

Provided to TelcoAdmin requesters only.


Telco(TenantBasicOrAdvance Management, SystemManagement)



Relation

Description

Visibility


v1:brandDetail


A URI template indicating how to retrieve a specific BrandDetail. Clients that know the brandDetailId of the BrandDetail they are seeking can use this URL to retrieve the resource, instead of iterating over the list.

Provided to TelcoAdmin requesters only.


Telco(SystemManagement)


v1:carrier


A URI template indicating how to retrieve a specific Carrier. Clients that know the carrierId of the Carrier they are seeking can use this URL to retrieve the resource, instead of iterating over the list. Provided to TelcoAdmin requesters only.


Telco(TenantBasicOrAdvance Management, SystemManagement)


v1:mediaServer


A URI template indicating how to retrieve a specific MediaServer. Clients that know the codecId of the MediaServer they are seeking can use this URL to retrieve the resource, instead of iterating over the list.

Provided to TelcoAdmin requesters only.


Telco(TenantBasicOrAdvance Management, SystemManagement), TenantAdmin


v1:enterprise


A URI template indicating how to retrieve a specific Enterprise. Clients that know the enterpriseId of the Enterprise they are seeking can use this URL to retrieve the resource, instead of iterating over the list.

Provided to TelcoAdmin requesters only.


Telco(TenantBasicOrAdvance Management)


v1:conferenceServer


A URI template indicating how to retrieve a specific ConferenceServer. Clients that know the codecId of the ConferenceServer they are seeking can use this URL to retrieve the resource, instead of iterating over the list. Provided to TelcoAdmin requesters only.


Telco(TenantBasicOrAdvance Management, SystemManagement), TenantAdmin


v1:rtpProxyServer


A URI template indicating how to retrieve a specific ConferenceServer. Clients that know the codecId of the RtpProxyServer they are seeking can use this URL to retrieve the resource, instead of iterating over the list.

Provided to TelcoAdmin requesters only.


Telco(TenantBasicOrAdvance Management, SystemManagement), TenantAdmin



Relation

Description

Visibility


v1:tenant


A URI template indicating how to retrieve a specific Tenant. Clients that know the tenantId of the tenant they are seeking can use this URL to retrieve the resource, instead of iterating over the list. Provided to TelcoAdmin requesters only.


Telco(TenantBasicOrAdvance Management, SiteBasicOrAdvance Management), TenantAdmin


v1:staticSite


A URI template indicating how to retrieve a specific Site. Clients that know the siteId of the (non-dynamic) site they are seeking can use this URL to retrieve the resource, instead of iterating over the list. Provided to TelcoAdmin requesters only.


Telco(TenantBasicOrAdvance Management, SiteBasicOrAdvance Management), TenantAdmin


v1:dynamicSite


A URI template indicating how to retrieve a specific Dynamic Site. Clients that know the siteId of the Dynamic Site they are seeking can use this URL to retrieve the resource, instead of iterating over the list.

Provided to TelcoAdmin requesters only.


Telco(TenantBasicOrAdvance Management, SiteBasicOrAdvance Management), TenantAdmin


v1:did


A URI template indicating how to retrieve a specific DID. Clients that know the didId of the DID they are seeking can use this URL to retrieve the resource, instead of iterating over the list. Provided to TelcoAdmin requesters only.


Telco(TenantBasicOrAdvance Management, SiteBasicOrAdvance Management), TenantAdmin


v1:businessHoursProfile


A URI template indicating how to retrieve a specific Business

HoursProfile. Clients that know the businessHoursId of the Business Hours they are seeking can use this URL to retrieve the resource, instead of iterating over the list. Provided

to TenantAdmin and TelcoAdmin requesters only.


Telco(TenantBasicOrAdvance Management, SiteBasicOrAdvance Management), TenantAdmin


v1:callGroup


A URI template indicating how to retrieve a specific Call Group. Clients that know the callGroupId of the call group they are seeking can use this URL to retrieve the resource, instead of iterating over the list. Provided

to TenantAdmin and TelcoAdmin requesters only.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User



Relation

Description

Visibility


v1:keyProfile


A URI template indicating how to retrieve a specific Key Profile. Clients that know the keyProfileId of the key profile they are seeking can use this URL to retrieve the resource, instead of iterating over the list. Provided

to TenantAdmin and TelcoAdmin requesters only.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:callPermissionProfile


A URI template indicating how to retrieve a specific Call Permission Profile. Clients that know the call PermissionProfileId of the call permission profile they are seeking can use this URL to retrieve the resource, instead of iterating over the list. Provided to TenantAdmin and TelcoAdmin requesters only.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:extension


A URI template indicating how to use a known extension value to find a specific Extension resource. Provided to requesters with Tenant Admin and TelcoAdmin authority.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:user


A URI template indicating how to retrieve a specific User resource. Clients that know the extension of the user they are seeking can use this URL to retrieve the resource, instead of iterating over the list. Provided to requesters with TenantAdmin and TelcoAdmin authority.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:location


A URI template indicating how to use a known subscriber extension to find a specific Location. Provided to requesters with TenantAdmin and TelcoAdmin authority.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:acd


A URI template indicating how to retrieve a specific ACD. Clients that know the acdId of the ACD they are seeking can use this URL to retrieve the resource, instead of iterating over the list. Provided to requesters with TenantAdmin and TelcoAdmin authority.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:autoAttendant


A URI template indicating how to retrieve a specific AutoAttendant. Clients that know the autoAttendant


Telco(TenantBasicOrAdvance Management), TenantAdmin, User



Relation

Description

Visibility


Id of the AutoAttendant they are

seeking can use this URL to retrieve the resource, instead of iterating over the list. Provided to requesters with TenantAdmin and TelcoAdmin authority.



v1:phone


A URI template indicating how to retrieve a specific Phone. Clients that know the extension of the Phone they are seeking can use this URL

to retrieve the resource, instead of iterating over the list. Provided to requesters with TenantAdmin or TelcoAdmin authority.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:externalContact


A URI template indicating how to retrieve a specific ExternalContact. Clients that know the externalContact Id of the ExternalContact they are seeking can use this URL to retrieve the resource, instead of iterating

over the list. Provided to requesters with TenantAdmin or TelcoAdmin authority.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:callpServer


A URI template indicating how to retrieve a specific Callp Server. Clients that know the callpId of the Callp Server they are seeking can use this URL to retrieve the resource, instead of iterating over the list.

Provided to requesters with Tenant Admin or TelcoAdmin authority.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:serviceProvider


A URI template indicating how to retrieve a specific Service Provider. Clients that know the serviceProvider Id of the Service Provider they are seeking can use this URL to retrieve the resource, instead of iterating over the list. Provided to requesters with TenantAdmin or TelcoAdmin authority.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:voicemailServer


A URI template indicating how to retrieve a specific Voicemail Server. Clients that know the voicemail ServerId of the Voicemail Server they are seeking can use this URL to retrieve the resource, instead of


Telco(TenantBasicOrAdvance Management), TenantAdmin, User



Relation

Description

Visibility


iterating over the list. Provided to

requesters with TenantAdmin or TelcoAdmin authority.



Expandable Relations


This resource contains no expandable elements.


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 5142


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1/uridictionary"

},

"v1:acd" : {

"href" : "/api/v1/tenants/{tenantId}/acds/{acdId}", "templated" : true

},

"v1:announcement" : {

"href" : "/api/v1/announcements/{announcementId}", "templated" : true

},

"v1:autoAttendant" : {

"href" : "/api/v1/tenants/{tenantId}/autoattendants/{autoAttendantId}", "templated" : true

},

"v1:brandDetail" : {

"href" : "/api/v1/branddetails/{brandDetailId}", "templated" : true

},

"v1:businessHoursProfile" : {

"href" : "/api/v1/tenants/{tenantId}/businesshours/{businessHourId}", "templated" : true

},

"v1:call" : {

"href" : "/api/v1/calls/{callObserverId}", "templated" : true

},

"v1:callEventAccount" : {

"href" : "/api/v1/subscriptions/ws/{webSocketId}/subscriptionsets/{subscriptionSetId}/

calleventaccounts/{accountId}", "templated" : true

},

"v1:callGroup" : {

"href" : "/api/v1/tenants/{tenantId}/callinggroups/{callGroupId}", "templated" : true

},

"v1:callPermissionProfile" : {

"href" : "/api/v1/tenants/{tenantId}/callpermissionprofiles/{callPermissionProfileId}", "templated" : true

},

"v1:callpServer" : {

"href" : "/api/v1/callpservers/{callpId}", "templated" : true

},

"v1:carrier" : {


"href" : "/api/v1/carriers/{carrierId}", "templated" : true

},

"v1:codecSet" : {

"href" : "/api/v1/codecsets/{codecSetId}", "templated" : true

},

"v1:conferenceServer" : {

"href" : "/api/v1/conferenceservers/{conferenceServerId}", "templated" : true

},

"v1:crPlatform" : {

"href" : "/api/v1/crplatforms/{crPlatformId}", "templated" : true

},

"v1:deviceState" : {

"href" : "/api/v1/devicestates/{deviceId}", "templated" : true

},

"v1:dialPlan" : {

"href" : "/api/v1/dialplans/{dialPlanId}", "templated" : true

},

"v1:did" : {

"href" : "/api/v1/tenants/{tenantId}/dids/{didId}", "templated" : true

},

"v1:dynamicSite" : {

"href" : "/api/v1/tenants/{tenantId}/dynamicsites/{siteId}", "templated" : true

},

"v1:enterprise" : {

"href" : "/api/v1/enterprises/{enterpriseId}", "templated" : true

},

"v1:extension" : {

"href" : "/api/v1/tenants/{tenantId}/extensions/{extension}", "templated" : true

},

"v1:externalContact" : {

"href" : "/api/v1/tenants/{tenantId}/externalcontacts/{externalContactId}", "templated" : true

},

"v1:gateway" : {

"href" : "/api/v1/gateways/{gatewayId}", "templated" : true

},

"v1:keyProfile" : {

"href" : "/api/v1/tenants/{tenantId}/keyprofiles/{keyProfileId}", "templated" : true

},

"v1:location" : {

"href" : "/api/v1/tenants/{tenantId}/locations/{extension}", "templated" : true

},

"v1:mediaServer" : {

"href" : "/api/v1/mediaservers/{mediaServerId}", "templated" : true

},

"v1:parkLocationEventAccount" : {

"href" : "/api/v1/subscriptions/ws/{webSocketId}/subscriptionsets/{subscriptionSetId}/ parklocationeventaccounts/{accountId}",

"templated" : true

},

"v1:parkLocationStatus" : {

"href" : "/api/v1/presencestatus/parklocationstatus/{accountId}", "templated" : true

},

"v1:phone" : {

"href" : "/api/v1/tenants/{tenantId}/phones/{phoneId}",


"templated" : true

},

"v1:presenceEventAccount" : {

"href" : "/api/v1/subscriptions/ws/{webSocketId}/subscriptionsets/{subscriptionSetId}/ presenceeventaccounts/{accountId}",

"templated" : true

},

"v1:presenceStatusByExtension" : {

"href" : "/api/v1/presencestatus/tenants/{tenantId}/extensions/{extension}", "templated" : true

},

"v1:priGroup" : {

"href" : "/api/v1/prigroups/{priGroupId}", "templated" : true

},

"v1:route" : {

"href" : "/api/v1/routes/{routeId}", "templated" : true

},

"v1:rtpProxyServer" : {

"href" : "/api/v1/rtpproxyservers/{rtpProxyServerId}", "templated" : true

},

"v1:serviceProvider" : {

"href" : "/api/v1/serviceproviders/{serviceProviderId}", "templated" : true

},

"v1:staticSite" : {

"href" : "/api/v1/tenants/{tenantId}/staticsites/{siteId}", "templated" : true

},

"v1:subscriptionSets" : {

"href" : "/api/v1/subscriptions/ws/{webSocketId}/subscriptionsets/{subscriptionSetId}", "templated" : true

},

"v1:tenant" : {

"href" : "/api/v1/tenants/{tenantId}", "templated" : true

},

"v1:user" : {

"href" : "/api/v1/tenants/{tenantId}/users/{extension}", "templated" : true

},

"v1:voicemailServer" : {

"href" : "/api/v1/voicemailservers/{voicemailServerId}", "templated" : true

},

"v1:zone" : {

"href" : "/api/v1/zones/{zoneId}", "templated" : true

}

}

}


Enums List Resource

Table of Contents

This relation returns a list of enum values used by the API. Clients can use the items in the list to view possible values for enumerated properties used in the API.


Supported Operations


GET


View User List HEAD

Get just the header response


Permitted Authorities (as defined in API Guide)


Telco User


GET

Telco User with Tenant Scope


GET

TenantAdmin User


GET

User


GET

Location


GET


List Details


The Enum list resource provides a list of Enum resources.


Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission

Embedded Representations


Name

Description

Visibility

Expandable


parkLocationRange


Values for configuring the Tenant’s Park Location Range setting. See Tenant AdminSettings resource.


all


n


extensionType


Supported Extension types. See the Extension resource.


all


n


directorySearchType


Values for the tenant Directory Search Type setting. See Tenant Details resource.


all


n


subscriberClidType


The possible origins for setting the CLID for a User or Location.


all


n


parameterType


Used in error messages that contain substitutable parameters, this enum indicates the type of each parameter.


all


n


callparkLocation Algorithm


Values for the Tenant’s Callpark Location Algorithm setting. See Tenant Details resource.


all


n


signallingProtocol


Supported values for a phone’s signalling protocol.


all


n



Name

Description

Visibility

Expandable


autoAttendantAction Type


Actions that can be assigned to keys within an auto attendant.


all


n


callRequest


Supported values for making a request to handle a call. See Active Calls resource.


all


n


callForwardTarget Type


Supported values for specifying the Call Forward (Immediate) Target. See User/Location Features resource for details.


all


n


callTargetType


Supported values for configuring the Call Forward No Answer call target type. See the User/ Location Features or Call Group details resource for details.


all


n


callGroupType


Supported values for Call Group types. See the Tenant CallGroups resource for details.


all


n


ringBehaviourType


Possible values for the Ring Behaviour Type of broadcast and hunt call groups. See the Tenant Call Groups resource for details.


all


n


huntGroupType


Possible values for the Hunt Group Type for hunt call groups. See the Tenant Call Groups resource for details.


all


n


vvxBlfRingToneType


Possible values for configuring the BLF ring on a VVX phone. See the User/Location Polycom Ring Tones resource for details.


all


n



Name

Description

Visibility

Expandable


mitelRingToneType


Possible values for configuring the Ring Tones on a Mitel phone. See

the User/Location Mitel Ringtones resource for details.


all


n


deviceIdType


Supported values for making a request to handle a call. See Active Calls resource.


all


n


callDestinationType


Supported values for configuring the SCR call destination type. See the SCR related target resources for details.


all


n


clidMatchType


Supported values for configuring the SCR CLID condition match type. See the SCR related CLID condition resources for details.


all


n


keyFeatureDataType


Supported values for key feature data type. See the KeyFeature resource for details.


all


n


keyFeatureData Require


Supported values for key feature data require

type. See the KeyFeature resource for details.


all


n


pinNotification MethodType


Supported values PIN notification type. See the PinNotificationMethod resource for details.


all


n


routeType


Supported values of route type. See the Route resource for details.


all


n


classOfService


Supported values of class of service. See the DialPlan Entry resource for details.


all


n



Name

Description

Visibility

Expandable


numberOfDigitsType


Supported values of number of digits type. See the DialPlanEntry resource for details.


all


n


phoneSiteAssignment Type


Supported values of class of phone site assignment type. See the PhoneToSite resource for details.


all


n


sipPhoneNameDefault Type


User agent or custom.


all


n


codecType


The voice encoding types available on the system.


all


n


packetization IntervalType


The packetization intervals available on the system.

This is the number of speech frames per packet.


all


n


moreHelpLinkType


Possible values for the more help link type.


all


n


voicemailBoxState Type


Possible values for the voicemail box state type.


all


n


gatewayType


Possible values for the gateway type.


all


n


mediaServerType


Possible values for the media server type.


all


n


conferenceServerType


Possible values for the conference server type.


all


n


minetSiteIPAssign Type


Possible values for the minet site IP assign type.


all


n


supportLink VisibilityType


Possible values for the support link visibility type.


all


n



Name

Description

Visibility

Expandable


supportLinkType


Possible values for the support link type.


all


n


telcoGroupPermission Type


Possible values for permissions for Telco Groups and Users.


all


n


presenceStateRouting OverrideType


list of types available for Presence State Routing Override.


all


n


dhcpOptionValueType


Possible values for DHCP option value types.


all


n


alertPriority


Supported values for the priority of an alert message. See Send Message resource.


all


n


phoneMessageAlert Type


The options for Phone Message Alert Type.


all


n


runningTaskType


The options for Running Task Type.


all


n


runningTaskState


The options for Running Task State.


all


n


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 6894


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/enums"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/enums/{enumName}", "templated" : true

} ]

},

"_embedded" : { "pinNotificationMethodType" : [ {

"_links" : {

"self" : {


"href" : "/api/v1/enums/pinnotificationmethodtype"

}

}

} ],

"huntGroupType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/huntgrouptype"

}

}

} ],

"callTargetType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/calltargettype"

}

}

} ],

"deviceIdType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/deviceidtype"

}

}

} ],

"presenceStateRoutingOverrideType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/presencestateroutingoverridetype"

}

}

} ],

"callparkLocationAlgorithm" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/callparklocationalgorithm"

}

}

} ],

"callDestinationType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/calldestinationtype"

}

}

} ],

"alertPriority" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/alertpriority"

}

}

} ],

"codecType" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/enums/codectype"

}

}

} ],

"autoAttendantActionType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/autoattendantactiontype"

}

}

} ],

"gatewayType" : [ {

"_links" : {

"self" : {


"href" : "/api/v1/enums/gatewaytype"

}

}

} ],

"subscriberClidType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/subscriberclidtype"

}

}

} ],

"conferenceServerType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/conferenceservertype"

}

}

} ],

"voicemailBoxStateType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/voicemailboxstatetype"

}

}

} ],

"runningTaskState" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/runningtaskstate"

}

}

} ],

"telcoGroupPermissionType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/telcogrouppermissiontype"

}

}

} ],

"callGroupType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/callgrouptype"

}

}

} ],

"clidMatchType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/clidmatchtype"

}

}

} ],

"packetizationIntervalType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/packetizationintervaltype"

}

}

} ],

"routeType" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/enums/routetype"

}

}

} ],

"callForwardTargetType" : [ { "_links" : {

"self" : {


"href" : "/api/v1/enums/callforwardtargettype"

}

}

} ],

"numberOfDigitsType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/numberofdigitstype"

}

}

} ],

"classOfService" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/classofservice"

}

}

} ],

"ringBehaviourType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/ringbehaviourtype"

}

}

} ],

"signallingProtocol" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/signallingprotocol"

}

}

} ],

"parameterType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/parametertype"

}

}

} ],

"keyFeatureDataRequire" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/keyfeaturedatarequire"

}

}

} ],

"supportLinkType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/supportlinktype"

}

}

} ],

"directorySearchType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/directorysearchtype"

}

}

} ],

"vvxBlfRingToneType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/vvxblfringtonetype"

}

}

} ],

"keyFeatureDataType" : [ { "_links" : {

"self" : {


"href" : "/api/v1/enums/keyfeaturedatatype"

}

}

} ],

"dhcpOptionValueType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/dhcpoptionvaluetype"

}

}

} ],

"phoneSiteAssignmentType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/phonesiteassignmenttype"

}

}

} ],

"mitelRingToneType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/mitelringtonetype"

}

}

} ],

"minetSiteIPAssignType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/minetsiteipassigntype"

}

}

} ],

"moreHelpLinkType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/morehelplinktype"

}

}

} ],

"parkLocationRange" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/parklocationrange"

}

}

} ],

"extensionType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/extensiontype"

}

}

} ],

"supportLinkVisibilityType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/supportlinkvisibilitytype"

}

}

} ],

"sipPhoneNameDefaultType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/sipphonenamedefaulttype"

}

}

} ],

"callRequest" : [ {

"_links" : {

"self" : {


"href" : "/api/v1/enums/callrequest"

}

}

} ],

"phoneMessageAlertType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/phonemessagealerttype"

}

}

} ],

"mediaServerType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/mediaservertype"

}

}

} ],

"runningTaskType" : [ { "_links" : {

"self" : {

"href" : "/api/v1/enums/runningtasktype"

}

}

} ]

}

}

Modify List Request


This is a server-managed list and does not support element creation.


Enum Resource

Table of Contents

  • Description

  • Resource Details

    • Properties

    • Sample GET Response Description

      The Enum Resource provides a list of possible values for an enumerated type.


      For each property in the API that uses an enumerated type, the list of possible values for the property can be looked up in the enum dictionary. Each value list follows a consistent format, providing the real value that is used in the API as well as a suggested label for the value.


      Supported Operations


      GET


      View Enum Details HEAD

      Get just the header response


      Permitted Authorities (as defined in API Guide)


      Telco User


      GET

      Telco User with Tenant Scope


      GET

      TenantAdmin User


      GET

      User


      GET

      Location


      GET


      Resource Details

      Properties


      Path

      Type

      Description

      Visibility


      values[]


      Array


      Each element of the values array represents an enum value and a suggested label that clients can use to present to the end user.


      all


      values[].name


      String


      Name is the (enum) value that is used in the resource that is referencing the enum.


      all


      values[].default Label


      String


      The default label property provides a string that can be used for presenting to the user. Localization is not currently supported.


      all

      Sample GET Response

      HTTP/1.1 200 OK

      Content-Type: application/hal+json Content-Length: 441


      {

      "_links" : {

      "self" : {

      "href" : "/api/v1/enums/extensiontype"

      }

      },

      "values" : [ {

      "name" : "userExt", "defaultLabel" : "userExt"

      }, {

      "name" : "locationExt", "defaultLabel" : "locationExt"

      }, {

      "name" : "acdExt", "defaultLabel" : "acdExt"

      }, {

      "name" : "groupExt", "defaultLabel" : "groupExt"

      }, {

      "name" : "autoAttendantExt", "defaultLabel" : "autoAttendantExt"

      } ]

      }


      Event Management Resources

      Event Management resources include:


  • Event Subscription Sets List Resource—returns a list of Subscriptions Sets associated with a specific WebSocket belonging to the requesting user.

  • SubscriptionSets Resource—used to register for and manage the delivery of events on the WebSocket.

  • CallEventSubscriptions—exists within a Subscription Set, and manages the accounts for which Call Events are issued.

  • Call Event Account Resource—identifies an Account for subscribing to Call Events.

  • EmergencyCallAlertEventSubscriptions—exists within a Subscription Set, and manages subscriptions for the Emergency Call Alert Events.

  • PresenceEventSubscriptions—exists within a Subscription Set, and manages the accounts for which Presence Events are issued.

  • Presence Event Account Resource—returns a list of the Accounts for which there are Presence Event Subscriptions on this Subscription Set.

  • ParkLocationEventSubscriptions—exists within a Subscription Set, and manages the Park Locations for which ParkLocation Events are issued.

  • Park Location Event Account Resource—returns a list of the Park Locations for which there are ParkLocation Event Subscriptions on this Subscription Set.


    Event Subscription Sets List Resource

    Table of Contents

  • Description

  • List Details

  • Modify List Request

This resource returns a list of Subscriptions Sets associated with a specific WebSocket that belong to the requesting user, and is used to create a new Subscription Set to deliver events over the indicated WebSocket.


Subscription Sets exist and must be created in the context of a WebSocket. When a new subscription set is created a UUID will be generated to identify it. Once the Subscription Set is created, the client must register for the events it wishes to receive as part of the set.


Supported Operations


GET


View Subscription Set List HEAD

Get just the header response POST

Create a new Subscription Set


Permitted Authorities (as defined in API Guide)


Telco Call Control User with Tenant Scope


GET, POST

TenantAdmin Call Control User


GET, POST



Non-admin Call Control User


GET, POST


List Details


The Event Subscription Sets list returns a list of SubscriptionSets resources.


Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission

Embedded Representations


Name

Description

Visibility

Expandable


subscriptionSets


Each element of the subscriptionSets array represents a single subscriptionSet resource, and indicates the UUID and tenantId of the subscription Set.


ScopedTelco(CallControl), TenantAdmin, User


n

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 2085


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/subscriptionsets"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/subscriptionsets/

{subscriptionSetId}", "templated" : true

} ]

},

"_embedded" : { "subscriptionSets" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8"

},


"v1:callEventSubscriptions" : [ {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/calleventaccounts"

} ],

"v1:emergencyCallAlertEventSubscriptions" : [ {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/alertevent/emergencycall"

} ],

"v1:parkLocationEventSubscriptions" : [ {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/parklocationeventaccounts"

} ],

"v1:parkLocationStatusBySubscriptionSet" : [ {

"href" : "/api/v1/presencestatus/parklocationstatus/

ws/300f5121-17e0-477e-915a-830121cdc5d7/subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8"

} ],

"v1:presenceEventSubscriptions" : [ {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts"

} ],

"v1:presenceStatusBySubscriptionSet" : [ {

"href" : "/api/v1/presencestatus/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8"

} ]

},

"subscriptionSetId" : "5817dfce-61a8-4c37-ab6d-d72ec78219e8", "tenantId" : 21375

} ]

}

}

Modify List Request


Use a POST request to create a new SubscriptionSet.


POST Request Properties


No properties are required in the payload of the POST request.


Sample POST Request

POST /api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/subscriptionsets HTTP/1.1 Content-Type: application/x-www-form-urlencoded; charset=ISO-8859-1

Host: localhost:34989

Sample POST Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1582


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/

subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8"

},

"v1:callEventSubscriptions" : {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/calleventaccounts"

},

"v1:emergencyCallAlertEventSubscriptions" : {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/alertevent/emergencycall"

},

"v1:parkLocationEventSubscriptions" : {


"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/parklocationeventaccounts"

},

"v1:parkLocationStatusBySubscriptionSet" : {

"href" : "/api/v1/presencestatus/parklocationstatus/

ws/300f5121-17e0-477e-915a-830121cdc5d7/subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8"

},

"v1:presenceEventSubscriptions" : {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts"

},

"v1:presenceStatusBySubscriptionSet" : {

"href" : "/api/v1/presencestatus/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8"

}

},

"subscriptionSetId" : "5817dfce-61a8-4c37-ab6d-d72ec78219e8", "tenantId" : 21375

}


SubscriptionSets Resource

Table of Contents

Each Subscription Set resource is used to register for and manage the delivery of events on the WebSocket. It holds two collections of eventAccounts: one represents the subscribed accounts for call events, and one represents the subscribed accounts for presence events.


A Subscription Set is associated with the user who creates it, and also the tenant that the user is a member of. After creating the subscription set, the client must

explicitly register to receive the events that it is interested in by adding accounts to the appropriate list: the server does not automatically add any event subscriptions.


When creating event subscriptions within a set, all Accounts must be associated with the tenant associated with the subscription set. A TenantAdmin may subscribe to events for any Account (user) within the tenant, but a non-admin user may only subscribe to events related to his own extension.


Supported Operations


GET


View Subscription Set details HEAD

Get just the header response


Permitted Authorities (as defined in API Guide)


Telco Call Control User with Tenant Scope


GET, POST

TenantAdmin Call Control User


GET, POST

Non-admin Call Control User






GET, POST


Resource Details

Properties


Path

Type

Description

Visibility


subscriptionSetId


String


The UUID that uniquely identifies this Subscription Set.


TenantAdmin, User


tenantId


Number


The unique identifier of the Tenant for which subscriptions may be created within this SubscriptionSet.


TenantAdmin, User

Link Relations


Relation

Description

Visibility


v1:callEventSubscriptions


Use this link to query or modify the list of subscribed accounts for Call Events on this Subscription Set.


ScopedTelco(CallControl), Tenant Admin, User


v1:emergencyCallAlertEvent Subscriptions


Use this link to query or modify the subscription of Emergency Call Alert Event on this Subscription Set.


ScopedTelco(CallControl), Tenant Admin


v1:presenceEvent Subscriptions


Use this link to query or modify the list of subscribed accounts for

Presence Events on this Subscription Set.


ScopedTelco(CallControl), Tenant Admin, User


v1:presenceStatusBy SubscriptionSet


Use this link to query the current Presence Status of all accounts subscribed for Presence Events on this Subscription Set.


ScopedTelco(CallControl), Tenant Admin, User


v1:parkLocationEvent Subscriptions


Use this link to query or modify the list of subscribed accounts for Park Location Events on this Subscription Set.


ScopedTelco(CallControl), Tenant Admin, User



Relation

Description

Visibility


v1:parkLocationStatusBy SubscriptionSet


Use this link to query the current Park Location Status of all accounts subscribed for Park Location Events on this Subscription Set.


ScopedTelco(CallControl), Tenant Admin, User


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1582


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/

subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8"

},

"v1:callEventSubscriptions" : {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/calleventaccounts"

},

"v1:emergencyCallAlertEventSubscriptions" : {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/alertevent/emergencycall"

},

"v1:parkLocationEventSubscriptions" : {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/parklocationeventaccounts"

},

"v1:parkLocationStatusBySubscriptionSet" : {

"href" : "/api/v1/presencestatus/parklocationstatus/

ws/300f5121-17e0-477e-915a-830121cdc5d7/subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8"

},

"v1:presenceEventSubscriptions" : {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts"

},

"v1:presenceStatusBySubscriptionSet" : {

"href" : "/api/v1/presencestatus/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8"

}

},

"subscriptionSetId" : "5817dfce-61a8-4c37-ab6d-d72ec78219e8", "tenantId" : 21375

}


Call Events Subscriptions List

Table of Contents

This relation returns a list of the Accounts for which there are Call Event Subscriptions on this Subscription Set.


Supported Operations


GET


View Call Event Subscriptions HEAD

Get just the header response PUT

Replace the list of subscribed accounts on the server with the list provided in the request.


Permitted Authorities (as defined in API Guide)


Telco Call Control User with Tenant Scope


GET, PUT

TenantAdmin Call Control User


GET, PUT

Non-admin Call Control User


GET, PUT


List Details


The Call Events Subscriptions list returns a list of Call Event Account resources.


Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1:extensions


List of valid extensions for the tenant which can be used for presence status subscription.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User

Embedded Representations


Name

Description

Visibility

Expandable


eventAccount


Each Account representation in the event Account array reflects an extension for which events are generated.


TenantAdmin, User


n

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 995


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/

subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/calleventaccounts"

},

"v1:extensions" : [ {

"href" : "/api/v1/tenants/{tenantId}/extensions{?expand,filter,extensionType,agent}", "templated" : true

} ],

"v1:itemTemplate" : [ {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/calleventaccounts/{accountId}",

"templated" : true

} ]

},

"_embedded" : { "eventAccount" : [ {

"_links" : {

"self" : {


"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/calleventaccounts/3235@21375"

}

},

"accountId" : "3235@21375"

} ]

}

}

Modify Request


Use a PUT request specifying an array of AccountIds to create or fully replace the current set of call event subscriptions. Providing an empty list will have the effect of deleting all call event subscriptions on this subscription set.


PUT Request Properties


The following properties are processed as part of each element in the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


eventAccounts


Array


An array of Account Ids


TenantAdmin, User


Required. The value must be an array of valid Account Ids

in format <ext>@

<tenantId>. Empty array can be used to remove all current subscribed account.


scope


Null


used for Park Location events


TenantAdmin, User


Not Required for call events

Sample PUT Request

PUT /api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/calleventaccounts HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:34921 Content-Length: 58


{

"scope" : null,

"eventAccounts" : [ "3235@21375" ]

}

Sample PUT Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 995


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {


"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/calleventaccounts"

},

"v1:extensions" : [ {

"href" : "/api/v1/tenants/{tenantId}/extensions{?expand,filter,extensionType,agent}", "templated" : true

} ],

"v1:itemTemplate" : [ {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/calleventaccounts/{accountId}",

"templated" : true

} ]

},

"_embedded" : { "eventAccount" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/calleventaccounts/3235@21375"

}

},

"accountId" : "3235@21375"

} ]

}

}

Add Element Request


This list does not directly support adding an element. A new element can be created in the list by using a PUT request to create a Call Event Account resource.


Call Event Account Resource

Table of Contents

This relation returns a list of the Accounts for which there are Presence Event Subscriptions on this Subscription Set.


Supported Operations


GET


View Presence Event Subscriptions HEAD

Get just the header response PUT

Replace the list of subscribed accounts on the server with the list provided in the request.


Permitted Authorities (as defined in API Guide)


Telco Call Control User with Tenant Scope


GET, PUT

TenantAdmin Call Control User


GET, PUT

Non-admin Call Control User


GET, PUT


List Details


The Presence Events Subscriptions list returns a list of Presence Event Account resources.


Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1:extensions


List of valid extensions for the tenant which can be used for presence status subscription.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User

Embedded Representations


Name

Description

Visibility

Expandable


eventAccount


Each element in the event Account array reflects an account for which presence events are generated.


TenantAdmin, User


n

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1139


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/

subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts"

},

"v1:extensions" : [ {

"href" : "/api/v1/tenants/{tenantId}/extensions{?expand,filter,extensionType,agent}", "templated" : true

} ],

"v1:itemTemplate" : [ {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts/{accountId}",

"templated" : true

} ]

},

"_embedded" : { "eventAccount" : [ {

"_links" : {

"self" : {


"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts/3235@21375"

},

"v1:presenceStatusByExtension" : [ {

"href" : "/api/v1/presencestatus/tenants/21375/extensions/3235"

} ]

},

"accountId" : "3235@21375"

} ]

}

}

Modify Request


Use a PUT request specifying an array of AccountIds to initialize or fully replace the current set of presence event subscriptions. Providing an empty list will have the effect of the deleting all presence event subscriptions on this list.


PUT Request Properties


The following properties are processed as part of each element in the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


eventAccounts


Array


An array of Account Ids


TenantAdmin, User


Required. The value must be an array of valid Account Ids

in format <ext>@

<tenantId>. Empty array can be used to remove all current subscribed account.


scope


Null


used for Park Location events


TenantAdmin, User


Not Required for call events

Sample PUT Request

PUT /api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:38547 Content-Length: 58


{

"scope" : null,

"eventAccounts" : [ "3235@21375" ]

}

Sample PUT Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1139


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",


"templated" : true

} ],

"self" : {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts"

},

"v1:extensions" : [ {

"href" : "/api/v1/tenants/{tenantId}/extensions{?expand,filter,extensionType,agent}", "templated" : true

} ],

"v1:itemTemplate" : [ {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts/{accountId}",

"templated" : true

} ]

},

"_embedded" : { "eventAccount" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts/3235@21375"

},

"v1:presenceStatusByExtension" : [ {

"href" : "/api/v1/presencestatus/tenants/21375/extensions/3235"

} ]

},

"accountId" : "3235@21375"

} ]

}

}

Add Element Request


This list does not directly support adding an element. A new element can be created in the list by using a PUT request to create a Presence Event Account resource.


Presence Event Account Resource

Table of Contents

This resource identifies an Account for subscribing to Presence Events. Issue a PUT request to this resource, specifying the Account in the URI, in order to start subscribing to presence events for the account, or DELETE it to stop receiving presence events.


An account has the format "<ext>@<tenantId>". The extension represents a user or location extension. The tenantId is the unique identifier that is used during authentication using the "ID" domain, and is provided as a property in the response to the initial query to the API’s root resource at https://<address>/api.


Any account being subscribed to must belong to the same tenant that was used to create the subscription set. Permission to subscribe to events for a specific account depend upon the Authority of the requesting user: non-admin users may subscribe to presence events only for their own extension, while other users may subscribe to presence events for any extension within the tenant.

Those with permission can subscribe to multiple users at once using the format "ALL_USERS@<tenantId>". Similarly, multiple accounts can be subscribed to using the terms: ALL_CALL_GROUP_EXTENSIONS, ALL_AA_EXTENSIONS, and

ALL_ACD_EXTENSIONS. For for all users and locations, all broadcast/hunt/rollover groups, all AAs and all ACD queues within a tenant, register for ALL.


Supported Operations


PUT


Add or replace an existing Account in the Subscription list DELETE

Remove an Account from the Subscription list


Permitted Authorities (as defined in API Guide)


Telco Call Control User with Tenant Scope


PUT, DELETE

TenantAdmin Call Control User


PUT, DELETE

Non-admin Call Control User


PUT, DELETE

Resource Details

Properties


Path

Type

Description

Visibility


accountId


String


The accountId identifies an account which is registered for Presence Events within this Subscription Set.


TenantAdmin, User

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 462


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/

subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts/3235@21375"

},

"v1:presenceStatusByExtension" : {

"href" : "/api/v1/presencestatus/tenants/21375/extensions/3235"

}

},

"accountId" : "3235@21375"

}

Modify Request


This resource has no configuration properties, so the PUT request simply serves to create or refresh the presence events subscription for the account.


PUT Request Properties


The PUT request does not require a payload.


Sample PUT Request

PUT /api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/

subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts/3235@21375 HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:38547

Sample PUT Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 462


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/

subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts/3235@21375"

},

"v1:presenceStatusByExtension" : {

"href" : "/api/v1/presencestatus/tenants/21375/extensions/3235"

}

},

"accountId" : "3235@21375"

}


Park Location Events Subscriptions List

Table of Contents

This relation returns a list of the Park Location Accounts for which there are Park Location Event Subscriptions on this Subscription Set.


Supported Operations


GET


View Park Location Event Subscriptions HEAD

Get just the header response PUT

Replace the list of subscribed accounts on the server with the list provided in the request.


Permitted Authorities (as defined in API Guide)


Telco Call Control User with Tenant Scope


GET, PUT

TenantAdmin Call Control User


GET, PUT

Non-admin Call Control User


GET, PUT


List Details


The Park Location Events Subscriptions list returns a list of Park Location Event Account resources.


Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission

Embedded Representations


Name

Description

Visibility

Expandable


eventAccount


The updated set of accounts for which park location events are generated.


TenantAdmin, User


n

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 989


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/

subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/parklocationeventaccounts"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/parklocationeventaccounts/{accountId}",

"templated" : true

} ]

},

"_embedded" : { "eventAccount" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/parklocationeventaccounts/PL1@21375"

},

"v1:parkLocationStatus" : [ {

"href" : "/api/v1/presencestatus/parklocationstatus/PL1@21375"

} ]

},

"accountId" : "PL1@21375"

} ]

}


}

Modify Request


Use a PUT request to specify the Park Locations that should be included in the events on this subscription set. The "scope" field is used to specify the intent of the request.

If scope = "all", then all valid park locations for the tenant will be included. If scope = "none", then any current park locations will be removed. If the scope = "all", then an array of Park Location AccountIds of interest must be included.


PUT Request Properties


The following properties are processed as part of each element in the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


scope


String


used for Park


TenantAdmin, User


Required. The value



Location events to


must be all, none,



define whether the


or set. If the value



subscription is for


is all, an event will



all, none, or a subset


be reported any time



of available park


a call is parked or



locations


retrieved on this





tenant. A value of





none removes all





park locations from





the subscription set.





A value of set is





used to subscribe





for specific park





locations as defined





in the eventAccounts


eventAccounts


Array


An array of Account


TenantAdmin, User


Required only if



Ids


the scope = set.





The value must be





an array of valid





Account Ids in format





<PLnumber>@





<tenantId>.

Sample PUT Request

PUT /api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/parklocationeventaccounts HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:35029 Content-Length: 58


{

"scope" : "set",

"eventAccounts" : [ "PL1@21375" ]

}

Sample PUT Response

HTTP/1.1 200 OK


Content-Type: application/hal+json Content-Length: 989


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/

subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/parklocationeventaccounts"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/parklocationeventaccounts/{accountId}",

"templated" : true

} ]

},

"_embedded" : { "eventAccount" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/parklocationeventaccounts/PL1@21375"

},

"v1:parkLocationStatus" : [ {

"href" : "/api/v1/presencestatus/parklocationstatus/PL1@21375"

} ]

},

"accountId" : "PL1@21375"

} ]

}

}

Add Element Request


This list does not directly support adding an element. A new element can be created in the list by using a PUT request to create a Park Location Event Account resource.


Park Location Event Account Resource

Table of Contents

The ActiveCalls list returns a list of current calls for the requesting user, and is used to make a new call or retrieve a parked call.


Supported Operations


GET


View Call List HEAD

Get just the header response POST

Make a Call, Retrieve a parked call


Permitted Authorities (as defined in API Guide)


TenantAdmin Call Control User


GET, POST

Non-admin Call Control User


GET, POST

List Details


The ActiveCalls list resource provides a list of Call resources in summarized form.


Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1options:deviceIdType


List of valid device Id Types.


all

Embedded Representations


Name

Description

Visibility

Expandable


call


Each element of the active Calls list represents a single active call and includes information about the parties involved in the call.


TenantAdmin, User


n

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 816


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/calls"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/calls/{callObserverId}", "templated" : true

} ],

"v1options:deviceIdType" : [ {

"href" : "/api/v1/enums/deviceidtype"

} ]

},

"_embedded" : {

"call" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/calls/3501-0-1669924620258-3:4332@21375"

}

},

"callId" : "3501-0-1669924620258-3:4332@21375", "from" : "4332@21375",

"smdrCallId" : "3501-0-1669924620258-3-1",


"to" : "3235"

} ]

}

}

Modify List Request


Use POST to initiate a call from the requesting user.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints

Default

Value


request


String


The desired action for this call: makeCall or retrieveParked Call.


TenantAdmin, User


Optional


"makeCall"


from


String


The accountId requesting the call.


TenantAdmin, User


Required. Must be a valid account in format <ext>@

<tenantId>.


n/a


to


String


The digits to dial to place the call, including any prefixes required by the dial plan.


TenantAdmin, User


Required for MakeCall. Not used for retrieve ParkedCall


n/a


deviceId


String


The device which should be used for the call request.


TenantAdmin, User


Optional. If provided, must be the unique identifier of a device (phoneId) that the user is logged into, or a PSTN number, or the string literal "twinningDevice". Only device is supported for retrieve.


The user’s default Click-to-call device.



Path

Type

Description

Permission

Constraints

Default

Value


deviceIdType


String


Indicates the type of device that is originating the call.


TenantAdmin, User


Optional. If provided, must reflect the value provided in

the deviceId property.


device


playPrompt


String


If the deviceType Id is external, indicates if a prompt should be played on the

originating device before dialing the target.


TenantAdmin, User


Optional. If provided, must be true or false.


If not specified, the subscriber’s clickToCall ConfirmBefore Dial feature setting will be applied.


featureData


String


Used for the Park Location Number in a Park Retrieve.


TenantAdmin, User


Optional. Required for Park Retrieve. Not used for MakeCall


n/a


POST Response Properties


A successful POST returns the identifier of the newly-created Call resource.


Path

Type

Description

Visibility


callId


String


The CallObserverId for the call. This is the ID of the call as it appears in the Call Event stream.


TenantAdmin, User


smdrCallId


String


This is the smdr call id of the call and it appears in the Call Event stream.


TenantAdmin, User

Sample POST Request

POST /api/v1/calls HTTP/1.1

Content-Type: application/json; charset=UTF-8 Host: localhost:43089

Content-Length: 148


{

"request" : "makeCall", "from" : "4332@21375", "to" : "3235",

"deviceIdType" : "device", "deviceId" : "4564", "playPrompt" : "false"

}


Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/calls/1234-1486070433518-136:4332@21375 Content-Type: application/hal+json

Content-Length: 212


{

"_links" : {

"self" : {

"href" : "/api/v1/calls/1234-1486070433518-136:4332@21375"

}

},

"callId" : "1234-1486070433518-136:4332@21375", "smdrCallId" : "1234-1486070433518-136:4332@21375"

}


Call Resource

Table of Contents

The Call resource describes the current state of an active call, and supports the ability to answer a ringing call, hangup an active call, hold, resume, transfer, deflect and park.


A call is referenced by its callId. Note that each party in a call has a unique callId.


Supported Operations


GET


View call details HEAD

Get just the header response POST

Change the state of an existing call, e.g. answer or hangup.


Permitted Authorities (as defined in API Guide)


TenantAdmin Call Control User


GET, POST

Non-admin Call Control User


GET, POST


Resource Details

Properties


Path

Type

Description

Visibility


callId


String


The call observer id that uniquely identifies this participant’s leg of the call.


TenantAdmin, User


smdrCallId


String


The smdr call id that uniquely identifies smdr record of the call this participant’s involved.


TenantAdmin, User


from


String


The number of the call originator.


TenantAdmin, User


to


String


The number or accountId that the originator intended to call.


TenantAdmin, User


callState


String


The current state of the call.


TenantAdmin, User


startTime


String


The start time of the call, in ISO8601 format.


TenantAdmin, User


answerTime


String


The time that the call was answered, in ISO8601 format.


TenantAdmin, User


talkDuration


String


The current measured duration of the call, in ISO8601 format.


TenantAdmin, User


digitsDialed


String


The number that was dialed by the call originator.


TenantAdmin, User


redirected


Boolean


This property indicates whether the call reached its target directly, or whether it was directed to this target via another method.


TenantAdmin, User



Path

Type

Description

Visibility


transferred


Boolean


This property indicates whether the call reached its current target directly or whether it was transferred from another number.


TenantAdmin, User


callParties


Array


The callParties property provides a list of the current participants in the call.

Internal numbers are listed using their AccountId, external numbers are listed using their CLID.


TenantAdmin, User


Link Relations


Relation

Description

Visibility


v1options:callRequest


The POST request to modify a call requires a callRequest value. Options for this value can be obtained by following this link.


all

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 712


{

"_links" : {

"curies" : {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

},

"self" : {

"href" : "/api/v1/calls/3501-0-1669924617622-3:4332@21375"

},

"v1options:callRequest" : {

"href" : "/api/v1/enums/callrequest"

}

},

"answerTime" : "2022-12-01T14:57:38.630-05:00", "callId" : "3501-0-1669924617622-3:4332@21375",

"callParties" : [ { }, { } ], "callState" : "connected", "digitsDialed" : "3235", "from" : "4332@21375",

"redirected" : false,

"smdrCallId" : "3501-0-1669924617622-3-1", "startTime" : "2022-12-01T14:57:08.630-05:00",

"talkDuration" : "PT45S", "to" : "3235",

"transferred" : false

}


Modify Request


Use a POST request to modify the state of an existing call. An example of a hangup request is provided below.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints

Default

Value


callRequest


String


The desired action for this call: answer Call, hangup Call, deflect Call, holdCall, resumeHeldCall,

transfer, parkCall.


n/a


Required. Possible values are specified in the CallRequest Type enum.


n/a


myPartyId


String


The accountId requesting the call update.


n/a


Required for all requests with the exception of hangupCall.

Must be a valid account in format <ext>@

<tenantId>.


n/a


deviceId


String


The device which should be used for the call request.


n/a


Optional for Answer and ResumeHeld. Not checked for other requests. If provided, must be the unique identifier of a device that the user is logged into.


If not specified, the user’s default Click-to-Call phone will be used as the target device

for the request, or the device already in use for this call.


otherCallId


String


The callId of the second call to be used for the call request.


n/a


Required for transfer. Not checked for other requests.

If provided, must

be a callObserver


n/a



Path

Type

Description

Permission

Constraints

Default

Value





Id referencing

a different call involving the user



featureData


String


Data to be used for the call

feature request. .


n/a


For call park, it can be used for the park location number. If not provided for call park, the system chooses the park location.


n/a


POST Response Properties


The response to a hangupCall request returns a Call Resource object (see above). The reponse to any other Modify request will return an empty response.


Sample POST Request - Hangup Call

POST /api/v1/calls/3501-0-1669924617622-3%3A4332%4021375 HTTP/1.1

Content-Type: application/json; charset=UTF-8 Host: localhost:43817

Content-Length: 64


{

"callRequest" : "hangupCall", "myPartyId" : "4332@21375"

}

Sample POST Response - Hangup Call

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 626


{

"_links" : {

"curies" : {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

},

"self" : {

"href" : "/api/v1/calls/3501-0-1669924617622-3:4332@21375"

},

"v1options:callRequest" : {

"href" : "/api/v1/enums/callrequest"

}

},

"callId" : "3501-0-1669924617622-3:4332@21375",

"callParties" : [ { }, { } ], "dialingDeviceId" : "198",

"digitsDialed" : "3235",

"from" : "4332",

"redirected" : false,

"smdrCallId" : "1234-1486070433518-136", "startTime" : "2017-02-09T16:17:32.307-05:00", "to" : "3235",

"transferred" : false

}


Presence Status Resources

Presence Status resources include:


This relation returns a list of supported AutoAttendantLanguage of the system.


Supported Operations


GET


View list of AutoAttendantLanguages HEAD

Get just the header response


Permitted Authorities (as defined in API Guide)


Telco User


GET

TenantAdmin User


GET

List Details


The AutoAttendantLanguage list resource provides a list of AutoAttendantLanguage resources.


Request Parameters


Parameter

Description

Constraints


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request,


Optional, see details at Filter Support



Parameter

Description

Constraints


and the result will be filtered by all

filters based on the provided order in rhe query parameter.



Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


aaLanguage


Each element of the AutoAttendantLanguage list represents a single supported AutoAttendant Language of the system.


Telco(TenantBasicOr AdvanceManagement, SystemManagement), TenantAdmin


n


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 594


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/aalanguages"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/aalanguages/{langCode}", "templated" : true

} ]

},


"count" : { "aaLanguage" : 1

},

"total" : { "aaLanguage" : 1

},

"_embedded" : {

"aaLanguage" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/aalanguages/en"

}

},

"description" : "English", "langCode" : "en"

} ]

}

}


AccountCodes Resource

Table of Contents

If Account Codes are enabled for this tenant, this relation describes their configuration.


This relation only exists for the tenant if explicitly enabled by the Service Provider. If Account Codes have not been enabled for this tenant, attempts to query this resource will return a 404 error response with a silhouette error code of FeatureNotEnabled.


Supported Operations


GET


View Tenant Account Codes Settings HEAD

Get just the header response PUT

Modify Tenant Account Codes Settings


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin User


GET, PUT


Resource Details

Properties


Path

Type

Description

Visibility


accountCodesEnabled ByTenant


Boolean


Indicates whether the TenantAdmin has enabled account codes for their tenant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


accountCodesMin Length


Number


The minimum number of digits required for an Account Code for this tenant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


accountCodesMax Length


Number


The maximum number of digits allowed for an Account Code for this tenant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 199


{

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/accountcodes"

}

},

"accountCodesEnabledByTenant" : false, "accountCodesMaxLength" : 10,

"accountCodesMinLength" : 5

}

Modify Request


Use a PUT request with the following properties in the payload to modify the tenant’s account codes settings.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.




Path

Type

Description

Permission

Constraints

Default

Value


accountCodes EnabledBy Tenant


Boolean


Indicates whether the TenantAdmin would enable account codes for their tenant.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional


The value of current setting before update. When tenant creation, the value is false.


accountCodes MinLength


Number


The minimum number of digits required for an Account Code for this tenant.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, value should equal or greater than 1 and equal

or less than accountCodes MaxLength.


The value of current setting before update. When tenant creation, the value is 1.


accountCodes MaxLength


Number


The maximum number of digits allowed for an Account Code for this tenant.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, value should equal or less than 20 and equal or greater than account CodesMinLength.


The value of current setting before update. When tenant creation, the value is 20.


Sample PUT Request

PUT /api/v1/tenants/21375/accountcodes HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:40873

Content-Length: 105


{

"accountCodesEnabledByTenant" : true, "accountCodesMinLength" : 5,

"accountCodesMaxLength" : 10

}

Sample PUT Response


Same as "GET response"


ACD Resource

Table of Contents

The ACD resource provides information about a specific ACD Application. Deleting a ACD is supported.

Supported Operations


GET


View ACD Details HEAD

Get just the header response PUT

Modify ACD Details DELETE

Remove the ACD


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE

TenantAdmin User


GET





Non-admin User


GET

Location


GET


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


name


String


The name of the ACD. Read Only for Tenant Admin user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


extension


String


The extension to be used for the ACD. Read Only after created.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


acdId


Number


Identifier for the ACD. Read Only, system assigned.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User

Link Relations


Relation

Description

Visibility


v1:acdCallPermissionProfile


call permission profile management.


Telco(TenantBasicOrAdvance Management), TenantAdmin


Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


callPermission Profile


The CallPermissionProfile currently associated with the ACD.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 646


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/acds/136"

},

"v1:acdCallPermissionProfile" : {

"href" : "/api/v1/tenants/21375/acds/136/callpermissionprofile"

}

},

"acdId" : 136,

"extension" : "5001",

"name" : "Sales ACD", "_embedded" : {

"callPermissionProfile" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/callpermissionprofiles/116"

}

},

"callPermissionProfileId" : 116, "name" : "Call Permission - Sales"

}

}

}

Modify Request


Use a PUT request to modify the properties of a ACD.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.



Path

Type

Description

Permission

Constraints


name


String


The name of the ACD. Only Telco User can make change.


Telco(Tenant BasicOrAdvance Management)


Max 50 chars.


Sample PUT Request

PUT /api/v1/tenants/21375/acds/136 HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:46873

Content-Length: 26


{

"name" : "Sales ACD"

}

Sample PUT Response


Same as "GET response"


ACD List Resource

Table of Contents

This relation returns a list of configured ACDs for the tenant.


Supported Operations


GET


View list of ACDs HEAD

Get just the header response POST

Add new ACD


Permitted Authorities (as defined in API Guide)


Telco User


GET, POST

TenantAdmin User


GET

List Details


The ACD list resource provides a list of ACD resources in summarized form.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1:extensions


List of existing extensions of the tenant. This is useful to find the a not used extension if the client want specify one.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


acd


Each element of the ACD list represents a single ACD, and indicates the ACD extension and name.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 758


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/acds"

},

"v1:extensions" : [ {

"href" : "/api/v1/tenants/21375/extensions{?expand,filter,extensionType,agent}", "templated" : true

} ],

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/acds/{acdId}", "templated" : true

} ]

},

"count" : {

"acd" : 1

},

"total" : {

"acd" : 1

},

"_embedded" : {

"acd" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/acds/136"

}

},

"acdId" : 136,

"extension" : "5001", "name" : "Sales ACD"

} ]

}

}

Modify List Request


Use a POST request to add a new ACD.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.




Path

Type

Description

Permission

Constraints

Default

Value


name


String


The name of the ACD.


Telco(Tenant BasicOrAdvance Management)


Required. Max 50 chars.


None


extension


String


The extension to be used for the ACD.


Telco(Tenant BasicOrAdvance Management)


Optional. If specified, it must be a valid extension for a ACD and not be in use.


Next unused value in range.( Same range as User or Location)


POST Response


A successful POST returns a 201 (Created). A link to the newly added ACD can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/tenants/21375/acds HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:46873

Content-Length: 50


{

"extension" : "5001", "name" : "Sales ACD"

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/acds/34


ACDCallPermissionProfile Resource

Table of Contents

The ACDCallPermissionProfile resource provides information about the assigned call permission profile of the ACD.


Supported Operations


GET


View ACD Call Permission Profile setting HEAD

Get just the header response PUT

Modify the ACD Call Permission Profile setting.


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin User


GET, PUT


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


callPermission ProfileId


Number


Identifier the call permission profile currently associated with the ACD.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin

Link Relations


Relation

Description

Visibility


v1:callPermissionProfiles


List of call permission profiles for the tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


callPermission Profile


The CallPermissionProfile currently associated with the ACD.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 670


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/acds/136/callpermissionprofile"

},

"v1:callPermissionProfiles" : {


"href" : "/api/v1/tenants/21375/callpermissionprofiles{?expand,filter}", "templated" : true

}

},

"callPermissionProfileId" : 116, "_embedded" : {

"callPermissionProfile" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/callpermissionprofiles/116"

}

},

"callPermissionProfileId" : 116, "name" : "Call Permission - Sales"

}

}

}

Modify Request


Use a PUT request to modify the ACD Call Permission Profile setting.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.



Path

Type

Description

Permission

Constraints

Default

Value


call Permission ProfileId


Number


Identifier of the call permission profile going to associate with the ACD.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Must be a valid call permission profile identifier of the tenant, could be the ' Unassigned' call permission profile.


n/a


Sample PUT Request

PUT /api/v1/tenants/21375/acds/136/callpermissionprofile HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:46873 Content-Length: 37


{

"callPermissionProfileId" : 116

}


Sample PUT Response


"Same as GET response"


Address Resource

Table of Contents

The Address resource provides the street address information about a site.


Supported Operations


GET


View Site Address Details HEAD

Get just the header response PUT

Update Site Address Details


Permitted Authorities (as defined in API Guide)


Telco User


GET. PUT

Resource Details

Properties


Path

Type

Description

Visibility


address1


String


Street address, first line


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin



Path

Type

Description

Visibility


address2


String


Street address, second line


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin


city


String


City


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin


state


String


State/Province/Region


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin


country


String


Country


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin


postalCode


String


Postal/Zip Code


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin


phoneNumber


String


Contact Phone number for site


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin


faxNumber


String


Contact Fax number for site


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 321


{

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/staticsites/5/address"

}


},

"address1" : "1 Hines Road", "address2" : "Suite 310", "city" : "Kanata",

"country" : "Canada", "faxNumber" : "6132802030",

"phoneNumber" : "6132802000", "postalCode" : "K2M 3PC", "state" : "Ontario"

}

Modify Request


Use a PUT request to modify the properties of a address.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.



Path

Type

Description

Permission

Constraints

Default

Value


address1


String


Street address, first line


Telco(SiteBasic Management)


Optional. if not provided will keep current value unchanged.


If not provided, will keep current setting unchanged.


address2


String


Street address, second line


Telco(SiteBasic Management)


Optional. if not provided will keep current value unchanged.


If not provided, will keep current setting unchanged.


city


String


City


Telco(SiteBasic Management)


Optional. if not provided will keep current value unchanged.


If not provided, will keep current setting unchanged.


state


String


State/Province/ Region


Telco(SiteBasic Management)


Optional. if not provided will keep current value unchanged.


If not provided, will keep current setting unchanged.



Path

Type

Description

Permission

Constraints

Default

Value


country


String


Country


Telco(SiteBasic Management)


Optional. if not provided will keep current value unchanged.


If not provided, will keep current setting unchanged.


postalCode


String


Postal/Zip Code


Telco(SiteBasic Management)


Optional. if not provided will keep current value unchanged.


If not provided, will keep current setting unchanged.


phoneNumber


String


Contact Phone number for site


Telco(SiteBasic Management)


Optional. if not provided will keep current value unchanged.


If not provided, will keep current setting unchanged.


faxNumber


String


Fax number for site


Telco(SiteBasic Management)


Optional. if not provided will keep current value unchanged.


If not provided, will keep current setting unchanged.


Sample PUT Request

PUT /api/v1/tenants/21375/staticsites/5/address HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:37381 Content-Length: 219


{

"address1" : "1 Hines Road", "address2" : "Suite 310", "city" : "Kanata",

"state" : "Ontario",

"country" : "Canada", "faxNumber" : "6132802030",

"phoneNumber" : "6132802000", "postalCode" : "K2M 3PC"

}

Sample PUT Response


Same as "GET response"


AdminSettings Resource

Table of Contents

The AdminSettings resource contains the User/Location settings that are typically managed by an administrator.


Some properties of this resource are applicable only to User Resources, and are not included in the response when the subject of the query is a location.


Supported Operations


GET


View user/location Admin Settings HEAD

Get just the header response PUT

Modify user/location Admin Settings


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin


GET, PUT


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


active


Boolean


Indicates whether the user/location is active. An inactive user cannot use the phone system.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


adminUser


Boolean


Indicates whether the user has TenantAdmin privileges within the WebAdmin and the API.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


queueGroupAgent


Boolean


Indicates whether the user/ location is a Queue Group Agent.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


dialableFromAAByExt


Boolean


If true, the user/location can be dialed directly by extension from the Auto Attendant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


inAANameDirectory


Boolean


If true, the user/location’s name and extension are searchable in the Auto Attendant directory.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


lockedToPhone


Boolean


If true, the user/location is tied to a single phone and is not permitted to manually log themselves in or out of a phone.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


emergencyCallMessage Alert


Boolean


If true, the user/location will receive instant message alert when emergency call occurs in its tenant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin



Path

Type

Description

Visibility


maxLoggedInDevices


Number


Some tenants support allowing a user to log into multiple phones

concurrently. This property indicates the maximum number of phones that the user can log into. Locations do not support this feature.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


subscriberClidType


String


Identifies the origin of the user/location’s CLID: Site, Private(no CLID), or DID. Read Only.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


failedLoginAttempts


Number


The number of failed WebAdmin login attempts since the last successful WebAdmin login for this user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


webLoginLocked


Boolean


If true, indicates that this user has been locked out of WebAdmin (after exceeding the maximum number of failed login attempts).


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


enterpriseUser


Boolean


If true, Indicates whether the user has Enterprise Admin privileges within the WebAdmin UI.


Telco(TenantBasicOr AdvanceManagement)


Link Relations


Relation

Description

Visibility


v1:clid


Can be used to view the user/ location’s CLID settings.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:dynamicSiteSettings


Follow this link to view the user’s Dynamic Site Settings. Note that this is not the same as viewing the user’s Dynamic Site.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:dids


Link to get a list of available DIDs of the tenant.


Telco(TenantBasicOrAdvance Management)



Relation

Description

Visibility


v1:zones


Link to get a list of available Zones of the system.


Telco(TenantBasicOrAdvance Management)


v1:manageCLID


This relation is being replaced by the "v1:clid" relation, and will be removed in a future release.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:manageDynamicSite Settings


This relation is being replaced by the "v1:dynamicSiteSettings" relation, and will be removed in a future release.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1options:subscriberClid Type


List of possible values of subscriber CLID type for admin settings.


Telco(TenantBasicOrAdvance Management), TenantAdmin


Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


dynamicSiteSettings


Describes the configuration the system uses when creating a new dynamic site for this user. The representation is present only if Dynamic Site Permission has been enabled for this user.

Locations do not support this feature.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


clid


This representation describes the Calling Line Id information for this user/ location.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1782


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true


}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/adminsettings"

},

"v1:clid" : {

"href" : "/api/v1/tenants/21375/users/4332/clid"

},

"v1:dids" : {

"href" : "/api/v1/tenants/21375/dids{?expand,filter,assigned}", "templated" : true

},

"v1:dynamicSiteSettings" : {

"href" : "/api/v1/tenants/21375/users/4332/dynamicsitesettings"

},

"v1:manageCLID" : {

"href" : "/api/v1/tenants/21375/users/4332/clid"

},

"v1:manageDynamicSiteSettings" : {

"href" : "/api/v1/tenants/21375/users/4332/dynamicsitesettings"

},

"v1:zones" : {

"href" : "/api/v1/zones{?expand,filter}", "templated" : true

},

"v1options:subscriberClidType" : {

"href" : "/api/v1/enums/subscriberclidtype"

}

},

"active" : true, "adminUser" : false,

"dialableFromAAByExt" : true, "emergencyCallMessageAlert" : false, "enterpriseUser" : false, "failedLoginAttempts" : 0, "inAANameDirectory" : true, "lockedToPhone" : false, "maxLoggedInDevices" : 2, "queueGroupAgent" : true, "subscriberClidType" : "DID", "webLoginLocked" : false, "_embedded" : {

"clid" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/clid"

}

}

},

"dynamicSiteSettings" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/dynamicsitesettings"

}

},

"clid" : "6132802000",

"defaultZoneId" : 3,

"maxCallCount" : 4

}

}

}

Modify Request


Use a PUT request to modify user/location Admin Settings.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.



Path

Type

Description

Permission

Constraints

Default

Value


active


Boolean


Indicates if the User or Location is active.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, possible values are 'true' or 'false'.


The value of current setting before update.


dialableFromA AByExt


Boolean


Indicates if the User or Location’s extension is dialable from

AutoAttendant.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, possible values are 'true' or 'false'.


The value of current setting before update.


inAAName Directory


Boolean


Indicates if the User or Location is listed in the AutoAttendant’s name directory.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, possible values are 'true' or 'false'.


The value of current setting before update.


lockedToPhone


Boolean


Indicates if the User or Location is locked to phone(can not logout its phone).


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, possible values are 'true' or 'false'.


The value of current setting before update.


emergencyCall MessageAlert


Boolean


Indicates if the User or Location will receive instant message alert

when emergency call occurs.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, possible values are 'true' or 'false'.


Default to false when user/ location is created.



Path

Type

Description

Permission

Constraints

Default

Value


queueGroup Agent


Boolean


Indicates if the User or

Location could be agent of Queue CallGroup.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, possible values are 'true' or 'false'.


The value of current setting before update.


adminUser


Boolean


Indicates if the User is a Tenant Admin user.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, possible values are 'true' or 'false'.


The value of current setting before update.


maxLoggedIn Devices


Number


Indicates the max number of logged in phones of the User.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, possible values are 'true' or 'false'.


The value of current setting before update.


webLogin Locked


Boolean


Indicates if the user web UI login is locked.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, possible values are 'true' or 'false'.


The value of current setting before update.


failedLogin Attempts


Number


Indicates counted failed web UI login attempts of the User


Telco(Tenant BasicOrAdvance Management)


Optional.


The value of current setting before update.


enterprise User


Boolean


Indicates if the User is a

Enterprise Admin user.


Telco(Tenant BasicOrAdvance Management)


Optional.


The value of current setting before update.


Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/adminsettings HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:45463 Content-Length: 312


{

"active" : true, "queueGroupAgent" : true, "lockedToPhone" : false, "inAANameDirectory" : true, "dialableFromAAByExt" : true,

"emergencyCallMessageAlert" : true, "adminUser" : false, "maxLoggedInDevices" : 2, "webLoginLocked" : false, "failedLoginAttempts" : 0, "enterpriseUser" : false

}


Sample PUT Response


Same as "GET response"


AfternoonGreeting File

Table of Contents

The Announcement resource provides information about a Announcement, include System Announcement and Tenant Announcement.


Supported Operations


GET


View Announcement Details HEAD

Get just the header response PUT

Modify hold announcement Details DELETE

Remove the hold announcement


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE

TenantAdmin User


GET


Resource Details

Properties


Path

Type

Description

Visibility


announcementId


Number


Identifier for the Announcement.


Telco(SystemManagement, TenantBasicOrAdvance Management), Tenant Admin


name


String


The name of the Announcement. For tenant announcement, does not include tenant webloginUrl.


Telco(SystemManagement, TenantBasicOrAdvance Management), Tenant Admin


fileName


String


The file name on disk for the Announcement.


Telco(SystemManagement)

Link Relations


Relation

Description

Visibility


v1:customAnnouncementFiles


Lists all existing custom announcement files.


Telco(SystemManagement)


v1:defaultAnnouncementFiles


Lists all existing default announcement files.


Telco(SystemManagement)


v1mediafile:custom AnnouncementFile


Custom announcement file for this announcement.


Telco(SystemManagement, Tenant BasicOrAdvanceManagement), TenantAdmin


v1mediafile:default AnnouncementFile


Default announcement file for this announcement.


Telco(SystemManagement, Tenant BasicOrAdvanceManagement), TenantAdmin

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1125


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1mediafile/rels/{rel}", "name" : "v1mediafile",

"templated" : true

} ],

"self" : {


"href" : "/api/v1/announcements/18"

},

"v1:customAnnouncementFiles" : {

"href" : "/api/v1/customannouncementfiles/{langCode}{?filter}", "templated" : true

},

"v1:defaultAnnouncementFiles" : {

"href" : "/api/v1/defaultannouncementfiles/{langCode}{?filter}", "templated" : true

},

"v1mediafile:customAnnouncementFile" : {

"href" : "/api/v1/customannouncementfiles/{langCode}/companyGreeting.wav", "templated" : true

}

},

"announcementId" : 18,

"fileName" : "companyGreeting.wav", "name" : "Company Greeting", "_embedded" : {

"tenant" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375"

}

},

"deleting" : false, "tenantId" : 21375,

"tenantName" : "Dave's Moose Hunting Supply", "webLoginUrl" : "/mooseByDave"

}

}

}

Modify Request


Use a PUT request to modify the properties of Announcement.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


name


String


The name of the Announcement. Only Telco User can make change.


Telco(System Management)


Max 50 chars. Allow alphanumeric character including underscore and space.


fileName


String


The fileName of the Announcement. Only Telco User can make change.


Telco(System Management)


Max 50 chars. This must be a file in the announcement file directory

Sample PUT Request

PUT /api/v1/announcements/18 HTTP/1.1

Content-Type: application/json; charset=UTF-8 Host: localhost:42499


Content-Length: 71


{

"name" : "Company Greeting", "fileName" : "companyGreeting.wav"

}

Sample PUT Response


include the sample generated http-response snippet, or (if identical to GET response) reference GET response above Same as "GET response"


AnnouncementSetting Resource

Table of Contents

The AnnouncementSetting resource provides information about the announcement setting of the User or Location.


Supported Operations


GET


View User or Location Announcement Setting HEAD

Get just the header response PUT

Modify User or Location Announcement Setting.


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin User


GET, PUT


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


useDefault


Boolean


Indicates whether use the default announcement of this tenant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


announcementId


Number


ID of the announcement being set as announcement of this User or Location.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin

Link Relations


Relation

Description

Visibility


v1:systemAnnouncements


Acceptable announcement values from System Announcement.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:tenantAnnouncements


Acceptable announcement values from Tenant Announcement of this tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


announcement


The announcement detail which is currently used as the announcement of this User or Location.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


n

Sample GET Response

HTTP/1.1 200 OK


Content-Type: application/hal+json Content-Length: 742


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/announcementsetting"

},

"v1:systemAnnouncements" : {

"href" : "/api/v1/systemannouncements{?expand,filter}", "templated" : true

},

"v1:tenantAnnouncements" : {

"href" : "/api/v1/tenants/21375/announcements{?expand,filter}", "templated" : true

}

},

"announcementId" : 2, "useDefault" : false, "_embedded" : {

"announcement" : { "_links" : {

"self" : {

"href" : "/api/v1/announcements/2"

}

},

"announcementId" : 2, "name" : "Comfort Tone"

}

}

}

Modify Request


Use a PUT request to modify the User or Location Announcement Setting.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.



Path

Type

Description

Permission

Constraints

Default

Value


useDefault


Boolean


Indicates if using default announcement of the tenant as announcement of the User


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional


false



Path

Type

Description

Permission

Constraints

Default

Value



or Location.

If this set to true, then the 'announcement

Id' will be ignored if provided in request.





announcement Id


Number


Indicates using the specified announcement as the tenant default announcement. The value could be a ID of system announcement or tenant announcement of the same tenant.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, must be a valid

ID of system announcement or tenant announcement from same tenant.


n/a


Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/announcementsetting HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:45463 Content-Length: 50


{

"useDefault" : false, "announcementId" : 2

}

Sample PUT Response


"Same as GET response"


AutoAttendant Resource

Table of Contents

The AutoAttendant resource provides information about a specific Auto Attendant.


Supported Operations


GET


View AutoAttendant Details HEAD

Get just the header response PUT

Update the AutoAttendant DELETE

Delete an AutoAttendant


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE

TenantAdmin User


GET, PUT, DELETE

Non-admin User






GET

Location


GET


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


name


String


The name of the Auto Attendant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


extension


String


The extension to be used for the AutoAttendant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


autoAttendantId


Number


Identifier for the Auto Attendant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


autoAttendant GreetingSettings


The greetings settings for the auto attendant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


n



Name

Description

Visibility

Expandable


autoAttendantMenu


The menu associated with this level of the auto attendant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 976


{

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/autoattendants/186"

}

},

"autoAttendantId" : 186,

"extension" : "7001",

"name" : "Support Auto Attendant", "_embedded" : {

"autoAttendantGreetingSettings" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/autoattendants/186/greetingsettings"

}

},

"afternoonGreeting" : { "recorded" : false,

"greetingText" : "Good afternoon"

},

"eveningGreeting" : { "recorded" : false,

"greetingText" : "Good evening"

},

"morningGreeting" : { "recorded" : false,

"greetingText" : "Good morning"

},

"timeOfDayGreetingEnabled" : false

},

"autoAttendantMenu" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/autoattendants/186/autoattendantmenus/187"

}

},

"menuId" : 187,

"name" : "OurAA"

}

}

}

Modify Request


Use a PUT request to modify the properties of an AutoAttendant.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.



Path

Type

Description

Permission

Constraints


name


String


The name of the Auto Attendant.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required.


extension


String


The extension for the auto attendant.

Assigned by system if not provided.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional.


Sample PUT Request

PUT /api/v1/tenants/21375/autoattendants/186 HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:42629 Content-Length: 50


{

"extension" : "103", "name" : "Shotgun AA"

}

Sample PUT Response


Same as "GET response"


AutoAttendant List Resource

Table of Contents

This relation returns a list of configured AutoAttendants for the tenant.


Supported Operations


GET


View list of AutoAttendants HEAD

Get just the header response POST

Add a new AutoAttendant


Permitted Authorities (as defined in API Guide)


Telco User


GET, POST

TenantAdmin User


GET, POST

List Details


The AutoAttendant list resource provides a list of AutoAttendant resources in summarized form.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1:extensions


List of existing extensions of the tenant. This is useful to find the a not used extension if the client want specify one.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).




Name

Description

Visibility

Expandable


autoAttendant


Each element of the Auto Attendant list represents a single AutoAttendant, and indicates the AutoAttendant extension and name.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 851


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/autoattendants"

},

"v1:extensions" : [ {

"href" : "/api/v1/tenants/21375/extensions{?expand,filter,extensionType,agent}", "templated" : true

} ],

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/autoattendants/{autoAttendantId}", "templated" : true

} ]

},

"count" : { "autoAttendant" : 1

},

"total" : { "autoAttendant" : 1

},

"_embedded" : { "autoAttendant" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/autoattendants/186"

}

},

"autoAttendantId" : 186,

"extension" : "7001",

"name" : "Support Auto Attendant"

} ]

}

}

Modify List Request


Use a POST request to add a new AutoAttendant.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.



The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


name


String


The name of the AutoAttendant.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required.


None


extension


String


The extension for the auto attendant.

Assigned by system if not provided.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional.



POST Response


A successful POST returns a 201 (Created). A link to the newly added AutoAttendant can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/tenants/21375/autoattendants HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:42629

Content-Length: 50


{

"extension" : "103", "name" : "Shotgun AA"

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/autoattendants/14


AutoAttendantAction Resource

Table of Contents

The AutoAttendantAction resource provides information about a specific Auto Attendant Action when press a menu key.


Supported Operations


GET


View AutoAttendantAction Details HEAD

Get just the header response PUT

Update the AutoAttendantAction


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin User


GET, PUT


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


key


String


The key on the phone associated with the action. T is used for the action if there is no user response.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


autoAttendantAction Type


String


The action type. See auto AttendantActionType for possible values.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


actionData


String


Data associated with the action, if any. This is only useful for AutoAttendant ActionType: AutoAttendant, ACD, CallGroup, User.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


promptWording


String


The wording of the prompt associated with the key, such as 'press 5 for sales'.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin

Link Relations


Relation

Description

Visibility


v1options:autoAttendant ActionType


List of action types for a Auto AttendantAction.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:extensions


List of extension of the tenant which can be used as actionData for the AutoAttendantAction if applicable.


Telco(TenantBasicOrAdvance Management), TenantAdmin


Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


autoAttendantMenu


Optional, the sub menu associated with this action, only exist when the action type is


subMenu

.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 932


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/autoattendants/186/autoattendantmenus/187/actions/5"

},

"v1:extensions" : {

"href" : "/api/v1/tenants/21375/extensions{?expand,filter,extensionType,agent}", "templated" : true

},

"v1options:autoAttendantActionType" : {

"href" : "/api/v1/enums/autoattendantactiontype"

}

},

"autoAttendantActionType" : "SubMenu", "key" : "1",

"promptWording" : "Sub Menu", "_embedded" : {

"autoAttendantMenu" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/autoattendants/186/autoattendantmenus/188"

}

},

"menuId" : 0,

"name" : "SubMenu"

}

}

}


Modify Request


Use a PUT request to modify the properties of an AutoAttendantAction.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


autoAttendant ActionType


String


The action. See auto AttendantActionType for possible values. For the no response action (key T), the only valid actions are Disconnect, CallGroup or User


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional.


actionData


String


Data associated with the action, if any.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional.


promptWording


String


The wording of the prompt associated with the key, such as 'press 5 for sales'.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional.

Sample PUT Request

PUT /api/v1/tenants/21375/autoattendants/186/autoattendantmenus/187/actions/5 HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:42629 Content-Length: 110


{

"autoAttendantActionType" : "CallGroup", "actionData" : "603",

"promptWording" : "Press 4 for Sales"

}

Sample PUT Response


Same as "GET response"


AutoAttendantGreetingSettings Resource

Table of Contents

The AutoAttendantGreetingSettings resource provides information about the greetings for a menu within an AutoAttendant.


Supported Operations


GET


View AutoAttendant greetings settings PUT

Update the AutoAttendant greetings settings HEAD

Get just the header response


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, POST

TenantAdmin User


GET, PUT, POST


Resource Details

Properties


Path

Type

Description

Visibility


afternoonGreeting. greetingText


String


The text of the afternoon AutoAttendant greeting.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


afternoonGreeting. recorded


Boolean


True if the afternoon greeting has been recorded.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


morningGreeting. greetingText


String


The text of the morning AutoAttendant greeting.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


morningGreeting. recorded


Boolean


True if the morning greeting has been recorded.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


eveningGreeting. greetingText


String


The text of the evening AutoAttendant greeting.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


eveningGreeting. recorded


Boolean


True if the evening greeting has been recorded.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


timeOfDayGreeting Enabled


Boolean


If true then these greeting prompts are played.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin

Link Relations


Relation

Description

Visibility


v1:morningGreetingRecording


Link where user can record morning greeting via phone by POST request.


TenantAdmin


v1:afternoonGreeting Recording


Link where user can record afternoon greeting via phone by POST request.


TenantAdmin


v1:eveningGreetingRecording


Link where user can record evening greeting via phone by POST request.


TenantAdmin



Relation

Description

Visibility


v1mediafile:morningGreeting File


Link to the audio file for the morning greeting.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1mediafile:afternoon GreetingFile


Link to the audio file for the afternoon greeting.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1mediafile:eveningGreeting File


Link to the audio file for the evening greeting.


Telco(TenantBasicOrAdvance Management), TenantAdmin


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1454


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1mediafile/rels/{rel}", "name" : "v1mediafile",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/autoattendants/186/greetingsettings"

},

"v1:afternoonGreetingRecording" : {

"href" : "/api/v1/tenants/21375/autoattendants/186/greetingsettings/afternoonrecording"

},

"v1:eveningGreetingRecording" : {

"href" : "/api/v1/tenants/21375/autoattendants/186/greetingsettings/eveningrecording"

},

"v1:morningGreetingRecording" : {

"href" : "/api/v1/tenants/21375/autoattendants/186/greetingsettings/morningrecording"

},

"v1mediafile:afternoonGreetingFile" : {

"href" : "/api/v1/tenants/21375/autoattendants/186/greetingfiles/afternoon"

},

"v1mediafile:eveningGreetingFile" : {

"href" : "/api/v1/tenants/21375/autoattendants/186/greetingfiles/evening"

},

"v1mediafile:morningGreetingFile" : {

"href" : "/api/v1/tenants/21375/autoattendants/186/greetingfiles/morning"

}

},

"afternoonGreeting" : { "recorded" : false,

"greetingText" : "Good afternoon"

},

"eveningGreeting" : { "recorded" : false,

"greetingText" : "Good evening"

},

"morningGreeting" : { "recorded" : false,

"greetingText" : "Good morning"

},

"timeOfDayGreetingEnabled" : false

}


Modify Request


Use a PUT request to modify the properties of Greeting Settings for an AutoAttendant.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.



Path

Type

Description

Permission

Constraints

Default

Value


afternoon Greeting. greetingText


String


The text of the afternoon AutoAttendant greeting.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional.


None


morning Greeting. greetingText


String


The text of the morning AutoAttendant greeting.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional.



evening Greeting. greetingText


String


The text of the evening AutoAttendant greeting.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional.



timeOfDay Greeting Enabled


Boolean


If true then these greeting prompts are played.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional.



Sample PUT Request

PUT /api/v1/tenants/21375/autoattendants/186/greetingsettings HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:42629 Content-Length: 251


{

"timeOfDayGreetingEnabled" : false, "morningGreeting" : {

"greetingText" : "Morning Greeting"

},

"afternoonGreeting" : {

"greetingText" : "Afternoon Greeting"

},


"eveningGreeting" : {

"greetingText" : "Evening Greeting"

}

}

Sample PUT Response


Same as "GET response"


AutoAttendantMenu Resource

Table of Contents

The AutoAttendantMenu resource provides information about a single menu within an AutoAttendant.


Supported Operations


GET


View AutoAttendantMenu Details HEAD

Get just the header response PUT

Update the AutoAttendantMenu


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin User


GET, PUT


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


introductoryPrompt


String


The text introductory prompt for the Auto Attendant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


language


String


The language for prompts for this menu.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


menuId


Number


The identifier for the menu.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


menuPromptPlayTimes


Number


The number of times this menu it to be played to users before taking the default action.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


name


String


The name of this menu.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


promptRecorded


Boolean


True if the introductory prompt is recorded.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin

Link Relations


Relation

Description

Visibility


v1:aaLanguages


Provide a list of Supported auto attendant languages of the system which can be used as menu language.


Telco(TenantBasicOrAdvance Management, SystemManagement), TenantAdmin



Relation

Description

Visibility


v1:autoAttendantMenu Recording


Link where user can record menu prompt via phone by POST request.


TenantAdmin


v1mediafile:autoAttendant MenuFile


The audio file for the current menu of hte AutoAttendant.


Telco(TenantBasicOrAdvance Management), TenantAdmin


Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


autoAttendantAction


Actions for each of the digit button on the phones, the * and # buttons and T which represents the action if there is not user response.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1341


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1mediafile/rels/{rel}", "name" : "v1mediafile",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/autoattendants/186/autoattendantmenus/187"

},

"v1:aaLanguages" : {

"href" : "/api/v1/aalanguages{?filter}", "templated" : true

},

"v1:autoAttendantMenuRecording" : {

"href" : "/api/v1/tenants/21375/autoattendants/186/autoattendantmenus/187/menurecording"

},

"v1mediafile:autoAttendantMenuFile" : {

"href" : "/api/v1/tenants/21375/autoattendants/186/autoattendantmenus/187/menufile"

}

},

"introductoryPrompt" : "Hello, hello, hello", "language" : "en",

"menuId" : 187,


"menuPromptPlayTimes" : 2, "name" : "OurAA", "promptRecorded" : false, "_embedded" : {

"autoAttendantAction" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/autoattendants/186/autoattendantmenus/187/actions/1"

}

},

"actionData" : "6001", "autoAttendantActionType" : "CallGroup", "key" : "1",

"promptWording" : "prompt"

}

}

}

Modify Request


Use a PUT request to modify the properties of an AutoAttendantMenu.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


introductory Prompt


String


The text introductory prompt for the Auto Attendant.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional.


language


String


The language for prompts for this menu. Must be a valid and supported auto attendant language of the system.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional.


menuPromptPlay Times


Number


The number of times this menu it to be played to users before taking the default action.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional.


name


String


The name of this menu.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional.

Sample PUT Request

PUT /api/v1/tenants/21375/autoattendants/186/autoattendantmenus/187 HTTP/1.1


Content-Type: application/json; charset=UTF-8 Host: localhost:42629

Content-Length: 105


{

"name" : "AA Name", "introductoryPrompt" : "HI", "language" : "en", "menuPromptPlayTimes" : 3

}

Sample PUT Response


Same as "GET response"


AutoAttendantMenu File

Table of Contents

Resources that are associated with the relationship between a Business Hours Profile and the DIDs that use it. The relationships can be managed.


Supported Operations


GET


View the list of DIDs that using the business hour profile HEAD

Get just the header response POST

Add a new DID to the list using the business hour profile


Permitted Authorities (as defined in API Guide)


Telco User


GET, POST

TenantAdmin User


GET, POST


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1:dids


Link to the tenant’s DIDs.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


didBusinessHours


The list of the tenant’s DIDs and the business hours associated with each


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 796


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/businesshours/2/didmembers"

},

"v1:dids" : [ {

"href" : "/api/v1/tenants/21375/dids{?expand,filter,assigned}", "templated" : true

} ],

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/didbusinesshours/{didId}", "templated" : true

} ]

},

"count" : { "didBusinessHours" : 1

},

"total" : { "didBusinessHours" : 1

},

"_embedded" : { "didBusinessHours" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/didbusinesshours/3"

}

},

"businessHoursProfileId" : 2,

"didId" : 3

} ]

}

}

Modify List Request


Use a POST request to add a new set of business hours.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.




Path

Type

Description

Permission

Constraints

Default

Value


businessHours ProfileId


Number


The business hours profile identifier.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


This is ignored


NA


didId


Number


The identifier being added to the business hours.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Must be the identifier of an existing DID


None


POST Response Properties


A successful POST returns a 201 (Created). A link to the newly added did member relationship can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/tenants/21375/businesshours/2/didmembers HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:36915 Content-Length: 49


{

"businessHoursProfileId" : 2,

"didId" : 3

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/businesshours/2/didmembers


BusinessHoursSiteMembers Resource

Table of Contents

Resources that are associated with Business Hours Site Members include an embedded representation of the sites that use the Business Hour Profile. This includes the ability the manage the list.


Supported Operations


GET


View the list of sites that using the business hour profile HEAD

Get just the header response POST

Add a new site to the list using the business hour profile


Permitted Authorities (as defined in API Guide)


Telco User


GET, POST

TenantAdmin User


GET, POST


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1:staticSites


Link to the tenant’s sites.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


siteBusinessHours


Each element of the list represents a relationship between a business hour profile and a static site. In


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y



Name

Description

Visibility

Expandable


each case the business

hours profile will be the same.




Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 820


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/businesshours/2/sitemembers"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/sitebusinesshours/{siteId}", "templated" : true

} ],

"v1:staticSites" : [ {

"href" : "/api/v1/tenants/21375/staticsites{?expand,filter,siteTypeId}", "templated" : true

} ]

},

"count" : { "siteBusinessHours" : 1

},

"total" : { "siteBusinessHours" : 1

},

"_embedded" : { "siteBusinessHours" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/sitebusinesshours/5"

}

},

"businessHoursProfileId" : 2,

"siteId" : 5

} ]

}

}

Modify List Request


Use a POST request to add a new set of business hours.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.




Path

Type

Description

Permission

Constraints

Default

Value


businessHours ProfileId


Number


The business hours profile identifier.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


This is ignored


NA


siteId


Number


The identifier being added to the business hours.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Must be the identfier of an existing static site


None


POST Response Properties


A successful POST returns a 201 (Created). A link to the newly added site member relationship can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/tenants/21375/businesshours/2/sitemembers HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:36915 Content-Length: 50


{

"businessHoursProfileId" : 2,

"siteId" : 5

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/businesshours/2/sitemembers


BusinessHoursProfile Resource

Table of Contents

This resource shows the information for a single Business Hour Profile. Included are links to the list of sites and DIDs that use this profile.


Supported Operations


GET


View a single Business Hour Profile for Tenant HEAD

Get just the header response PUT

Update a Business Hour Profile for the tenant DELETE

Delete a Business Hour Profile


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE

TenantAdmin User


GET, PUT, DELETE


Resource Details

Properties


Path

Type

Description

Visibility


businessHoursProfile Name


String


The name of the business hours set.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


businessHoursProfile Id


Number


The identifier for the new business hours. Read Only.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


tenantDefault


Boolean


True for the default business hours for the tenant. Cannot be changed to false. Can be set to true in another business hour.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


monday


Object


The configuration for Mondays.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


monday.open


Boolean


Indicates whether or not the business is open at all on this day.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


monday.openHoursFrom


String


Indicates the opening time on this day.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


monday.openHoursTo


String


The start time for lunch time call handling on this day.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


monday.lunchFrom


String


The end time for lunch time call handling on this day.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


monday.lunchTo


String


Indicates the opening time on this day.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


monday.specialFrom


String


The start time for special call handling on this day.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin



Path

Type

Description

Visibility


monday.specialTo


String


The end time for special call handling on this day.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


tuesday


Object


The configuration for Tuesdays. See Mondays for details.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


wednesday


Object


The configuration for Wednesdays. See Mondays for details.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


thursday


Object


The configuration for Thursdays. See Mondays for details.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


friday


Object


The configuration for Fridays. See Mondays for details.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


saturday


Object


The configuration for Saturdays. See Mondays for details.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


sunday


Object


The configuration for Sundays. See Mondays for details.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


Link Relations


Relation

Description

Visibility


v1:bhDidMembers


The DIDs that use this business hour.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:bhSiteMembers


The sites that use this business hour.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 2056


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true


},

"self" : {

"href" : "/api/v1/tenants/21375/businesshours/2"

},

"v1:bhDidMembers" : {

"href" : "/api/v1/tenants/21375/businesshours/2/didmembers{?expand,filter}", "templated" : true

},

"v1:bhSiteMembers" : {

"href" : "/api/v1/tenants/21375/businesshours/2/sitemembers{?expand,filter}", "templated" : true

}

},

"businessHoursProfileId" : 2, "businessHoursProfileName" : "Standard Business Hours", "friday" : {

"lunchTo" : "13:00",

"lunchFrom" : "12:00",

"openHoursFrom" : "01:00",

"specialTo" : "17:00",

"specialFrom" : "16:00",

"openHoursTo" : "23:00", "open" : true

},

"monday" : {

"lunchTo" : "13:00",

"lunchFrom" : "12:00",

"openHoursFrom" : "01:00",

"specialTo" : "17:00",

"specialFrom" : "16:00",

"openHoursTo" : "23:00", "open" : true

},

"saturday" : { "lunchTo" : "13:00",

"lunchFrom" : "12:00",

"openHoursFrom" : "01:00",

"specialTo" : "17:00",

"specialFrom" : "16:00",

"openHoursTo" : "23:00", "open" : true

},

"sunday" : {

"lunchTo" : "13:00",

"lunchFrom" : "12:00",

"openHoursFrom" : "01:00",

"specialTo" : "17:00",

"specialFrom" : "16:00",

"openHoursTo" : "23:00", "open" : true

},

"tenantDefault" : false, "thursday" : {

"lunchTo" : "13:00",

"lunchFrom" : "12:00",

"openHoursFrom" : "01:00",

"specialTo" : "17:00",

"specialFrom" : "16:00",

"openHoursTo" : "23:00", "open" : true

},

"tuesday" : { "lunchTo" : "13:00",

"lunchFrom" : "12:00",

"openHoursFrom" : "01:00",

"specialTo" : "17:00",

"specialFrom" : "16:00",

"openHoursTo" : "23:00", "open" : true

},


"wednesday" : { "lunchTo" : "13:00",

"lunchFrom" : "12:00",

"openHoursFrom" : "01:00",

"specialTo" : "17:00",

"specialFrom" : "16:00",

"openHoursTo" : "23:00", "open" : true

}

}

Modify Request


Use a PUT request to modify the properties of a BusinessHoursProfile.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


businessHours ProfileName


String


The name of the business hours set.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. if not provided will keep current value unchanged, if provided, Max 50 chars.


monday


Object


The configuration for Mondays.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional.


monday.open


Boolean


Indicates whether or not the business is open at all on this day


Telco(Tenant BasicOrAdvance Management), TenantAdmin


True or False


monday.openHours From


String


Indicates the start of opening time on this day.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, if provided, the format should

be HH:MM where HH is value of hours and MM is value of minutes.


monday.openHours To


String


Indicates the end of opening time on this day.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, if provided, the format should

be HH:MM where HH is value of hours and MM is value of



Path

Type

Description

Permission

Constraints





minutes, must be

greater than start time.


monday.lunchFrom


String


The start time for lunch time call handling on this day.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, if provided, the format should

be HH:MM where HH is value of hours and MM is value of minutes.


monday.lunchTo


String


The end time for lunch time call handling on this day.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, if provided, the format should

be HH:MM where HH is value of hours and MM is value of minutes, must be greater than start time.


monday.special From


String


The start time for special call handling on this day.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, if provided, the format should

be HH:MM where HH is value of hours and MM is value of minutes.


monday.specialTo


String


The end time for special call handling on this day.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, if provided, the format should

be HH:MM where HH is value of hours and MM is value of minutes, must be greater than start time.


tuesday


Object


The configuration for Tuesdays. See Mondays for details


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as Monday.


wednesday


Object


The configuration for Wednesdays. See Mondays for details


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as Monday.


thursday


Object


The configuration for Thursdays. See Mondays for details


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as Monday.



Path

Type

Description

Permission

Constraints


friday


Object


The configuration for Fridays. See Mondays for details


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as Monday.


saturday


Object


The configuration for Saturdays. See Mondays for details


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as Monday.


sunday


Object


The configuration for Sundays. See Mondays for details


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as Monday.


Sample PUT Request

PUT /api/v1/tenants/21375/businesshours/2 HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:36915

Content-Length: 1505


{

"businessHoursProfileName" : "SummerHuntingHours", "monday" : {

"open" : true, "openHoursFrom" : "07:00",

"openHoursTo" : "18:00",

"lunchFrom" : "12:00",

"lunchTo" : "13:00",

"specialFrom" : "13:00",

"specialTo" : "14:00"

},

"tuesday" : {

"open" : true, "openHoursFrom" : "07:00",

"openHoursTo" : "18:00",

"lunchFrom" : "12:00",

"lunchTo" : "13:00",

"specialFrom" : "13:00",

"specialTo" : "14:00"

},

"wednesday" : {

"open" : true, "openHoursFrom" : "07:00",

"openHoursTo" : "18:00",

"lunchFrom" : "12:00",

"lunchTo" : "13:00",

"specialFrom" : "13:00",

"specialTo" : "14:00"

},

"thursday" : {

"open" : true, "openHoursFrom" : "07:00",

"openHoursTo" : "18:00",

"lunchFrom" : "12:00",

"lunchTo" : "13:00",

"specialFrom" : "13:00",

"specialTo" : "14:00"

},

"friday" : {

"open" : true,


"openHoursFrom" : "07:00",

"openHoursTo" : "18:00",

"lunchFrom" : "12:00",

"lunchTo" : "13:00",

"specialFrom" : "13:00",

"specialTo" : "14:00"

},

"saturday" : {

"open" : true, "openHoursFrom" : "07:00",

"openHoursTo" : "18:00",

"lunchFrom" : "12:00",

"lunchTo" : "13:00",

"specialFrom" : "13:00",

"specialTo" : "14:00"

},

"sunday" : {

"open" : true, "openHoursFrom" : "07:00",

"openHoursTo" : "18:00",

"lunchFrom" : "12:00",

"lunchTo" : "13:00",

"specialFrom" : "13:00",

"specialTo" : "14:00"

}

}

Sample PUT Response


Same as "GET response"


BusinessHoursProfiles Resource

Table of Contents

This relation returns a list of configured BusinessHoursProfiles for the tenant.


Supported Operations


GET


View Business Hours for Tenant HEAD

Get just the header response POST

Add a new set of business hours for the tenant


Permitted Authorities (as defined in API Guide)


Telco User


GET, POST

TenantAdmin User


GET, POST

List Details


The BusinessHoursProfile list resource provides a list of BusinessHoursProfile resources in summarized form.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


businessHoursProfile


Each element of the list represents a single set of business hours for the tenant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 717


{


"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/businesshours"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/businesshours/{businessHourId}", "templated" : true

} ]

},

"count" : { "businessHoursProfile" : 1

},

"total" : { "businessHoursProfile" : 1

},

"_embedded" : { "businessHoursProfile" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/businesshours/2"

}

},

"businessHoursProfileId" : 2, "businessHoursProfileName" : "Standard Business Hours"

} ]

}

}

Modify List Request


Use a POST request to add a new BusinessHoursProfile.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


businessHours ProfileName


String


The name of the business hours set.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required. Max 50 chars.


None



Path

Type

Description

Permission

Constraints

Default

Value


monday


Object


The configuration for Mondays.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional.


Open from 00:00

to 24:00, see detail in open, lunch, special hour settings.


monday.open


Boolean


Indicates whether or not the business is open at all on this day.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


True or False.


true


monday.open HoursFrom


String


Indicates the start of opening time on this day.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, if provided, the format should be HH:MM where HH is value of hours and MM is value of minutes.


00:00


monday.open HoursTo


String


Indicates the end of opening time on this day.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, if provided, the format should be HH:MM where HH is value of hours and MM is value of minutes, must be greater than start time.


24:00


monday.lunch From


String


The start time for lunch time call handling on this day.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, if provided, the format should be HH:MM where HH is value of hours and MM is value of minutes.



monday.lunch To


String


The end time for lunch time call handling on this day.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, if provided, the format should be HH:MM where HH is value of hours and MM is value of minutes, must be greater than start time.




Path

Type

Description

Permission

Constraints

Default

Value


monday. specialFrom


String


The start time for special call handling on this day.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, if provided, the format should be HH:MM where HH is value of hours and MM is value of minutes.



monday. specialTo


String


The end time for special call handling on this day.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, if provided, the format should be HH:MM where HH is value of hours and MM is value of minutes, must be greater than start time.



tuesday


Object


The configuration for Tuesdays.

See Mondays for details.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as Monday.


Same as Monday.


wednesday


Object


The configuration for Wednesdays. See Mondays for details.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as Monday.


Same as Monday.


thursday


Object


The configuration for Thursdays.

See Mondays for details.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as Monday.


Same as Monday.


friday


Object


The configuration for Fridays. See Mondays for details.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as Monday.


Same as Monday.


saturday


Object


The configuration for Saturdays.

See Mondays for details.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as Monday.


Not open on this day.


sunday


Object


The configuration for Sundays.

See Mondays for details.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as Monday.


Not open on this day.


POST Response Properties


A successful POST returns a 201 (Created). A link to the newly added business hours can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/tenants/21375/businesshours HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:36915

Content-Length: 1505


{

"businessHoursProfileName" : "SummerHuntingHours", "monday" : {

"open" : true, "openHoursFrom" : "07:00",

"openHoursTo" : "18:00",

"lunchFrom" : "12:00",

"lunchTo" : "13:00",

"specialFrom" : "13:00",

"specialTo" : "14:00"

},

"tuesday" : {

"open" : true, "openHoursFrom" : "07:00",

"openHoursTo" : "18:00",

"lunchFrom" : "12:00",

"lunchTo" : "13:00",

"specialFrom" : "13:00",

"specialTo" : "14:00"

},

"wednesday" : {

"open" : true, "openHoursFrom" : "07:00",

"openHoursTo" : "18:00",

"lunchFrom" : "12:00",

"lunchTo" : "13:00",

"specialFrom" : "13:00",

"specialTo" : "14:00"

},

"thursday" : {

"open" : true, "openHoursFrom" : "07:00",

"openHoursTo" : "18:00",

"lunchFrom" : "12:00",

"lunchTo" : "13:00",

"specialFrom" : "13:00",

"specialTo" : "14:00"

},

"friday" : {

"open" : true, "openHoursFrom" : "07:00",

"openHoursTo" : "18:00",

"lunchFrom" : "12:00",

"lunchTo" : "13:00",

"specialFrom" : "13:00",

"specialTo" : "14:00"

},

"saturday" : {

"open" : true, "openHoursFrom" : "07:00",

"openHoursTo" : "18:00",

"lunchFrom" : "12:00",

"lunchTo" : "13:00",

"specialFrom" : "13:00",

"specialTo" : "14:00"

},

"sunday" : {


"open" : true, "openHoursFrom" : "07:00",

"openHoursTo" : "18:00",

"lunchFrom" : "12:00",

"lunchTo" : "13:00",

"specialFrom" : "13:00",

"specialTo" : "14:00"

}

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/businesshours/4


CallCoverage Resource

Table of Contents

The Call Forwarding resource indicates whether the User/Location has configured and activated Call Forwarding.


Call Forwarding is also known as "Call Forward - Always". It causes incoming calls to be redirected to the fowarding target without ringing the user’s extension. The configuration of this feature defines where calls will be directed.


If the Call Forwarding target is another User or Location, an embedded representation of the extension will be included in the query response.


Supported Operations


GET


View Call Forwarding feature state HEAD

Get just the header response PUT

Modify Call Forwarding feature state


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT



TenantAdmin


GET, PUT

User


GET, PUT (self only)

Location


GET, PUT (self only)


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Link Relations


Relation

Description

Visibility


v1:extensions


Provides a list of available extensions which can be used for the Call Forward Target Number value.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1options:callForwardTarget Type


Provides a list of the options available for the Call Forward Target Type value.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User

Properties


Path

Type

Description

Visibility


active


Boolean


Indicates whether Call Forwarding is currently active for this user/location.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


callForwardTarget Type


String


Specifies the Call Forwarding type, as not all targets have explicit number associated with

them, for example, Prompt, Coverage.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User



Path

Type

Description

Visibility


targetNumber


String


Indicates the Call Forwarding target for calls to this user/location.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


extension


When the callForward TargetType is 'coworker', this object represents the extension to which calls are being forwarded. This embedded representation is not provided when the callForwardTargetType is other than 'coworker'.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 968


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/callforward"

},

"v1:extensions" : {

"href" : "/api/v1/tenants/21375/extensions{?expand,filter,extensionType,agent}", "templated" : true

},

"v1options:callForwardTargetType" : {

"href" : "/api/v1/enums/callforwardtargettype"

}

},

"active" : true, "callForwardTargetType" : "coworker", "targetNumber" : "3235",

"_embedded" : {

"extension" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/extensions/3235"

}


},

"accountId" : "3235@21375", "enabled" : true, "extension" : "3235",

"extensionType" : "locationExt", "name" : "Kitchen"

}

}

}

Modify Request


Use a PUT request to modify the properties of Call Forwarding feature state.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


active


Boolean


Indicates whether the Call Forward feature is currently active for this user/location.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


True or False.


callForward TargetType


String


Indicates the type for the targetNumber for this user/location.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


For possible values see the callForward TargetType link relation.


targetNumber


String


Only used when call ForwardTargetType set to autoattendant, coworker, external or prompt. The value is the number or extension to which calls will be forwarded for this user/location.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Numeric

Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/callforward HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:45463 Content-Length: 88


{

"active" : true, "targetNumber" : "3235",

"callForwardTargetType" : "coworker"

}


Sample PUT Response


Same as "GET response"


CallForwardNoAnswer Resource

Table of Contents

The CallForwardNoAnswer resource describes how an unanswered call to a specific extension is to be handled. This feature can be configured for User, Location and Call Group extensions where the Call Group Type supports it.


Configuration properties include the target type the call should be forwarded to (another extension, an extension’s voicemail, or an external number), the target number, and the number of rings the system should wait for the call to be answered before forwarding it.


In the case of User and Location extensions, this resource replaces the deprecated callCoverage resource. Clients should use this resource in place of that one.


Supported Operations


GET


View Call Forward No Answer configuration details HEAD

Get just the header response PUT

Modify the feature details. This operation is supported only on CallGroup extensions.


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT



TenantAdmin User


GET, PUT

Non-Admin User


GET, PUT (self only)

Location


GET, PUT (self only)


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


callTargetType


String


The target type of User or Call Group’s Call Forward No Answer (call coverage) feature.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


callTarget


String


The target to which unanswered calls will be forwarded. If the call

TargetType is Subscriber VM, the callTarget value it the voicemail account

extension. For CallGroups, if the callTargetType is Call GroupVM, no callTarget value.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


numberOfRings


Number


The number of rings


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


Link Relations


Relation

Description

Visibility


v1options:callTargetType


List of valid values for the target type of the Call Forward No Answer (Call Coverage) feature.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


extension


Optional, details of the extension that the target is associated with when the callTarget is an extension.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 713


{

"_links" : {

"curies" : {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/callfwdnoanswers/6001"

},

"v1options:callTargetType" : {

"href" : "/api/v1/enums/calltargettype"

}

},

"callTarget" : "4332", "callTargetType" : "SubscriberVM", "numberOfRings" : 4,

"_embedded" : {

"extension" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/extensions/4332"

}

},

"accountId" : "4332@21375", "enabled" : true, "extension" : "4332", "extensionType" : "userExt", "name" : "Smith, Dave"

}

}

}


Modify Request


Use a PUT request to modify the CallForwardNoAnswer configuration for an extension.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.



Path

Type

Description

Permission

Constraints

Default

Value


callTarget Type


String


The target type for the user’s or group’s Call Forward No

Answer feature.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Required. Must be one of the types listed in callTargetType options link. Call GroupVM type is not supported for Users. For Users, if SubscriberVM is specified then the callTarget

is ignored. For CallGroup, if CallGroupVM is specified then the callTarget is ignored, and if SubscriberV M is specified,

the callTarget is required.An error is generated if the type specified is not compatible with the call Target.


"None"


callTarget


String


The external number or extension

to which unanswered calls are to be routed.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Required if the callTargetType is Subscriber Extension, AutoAttendant Extension or OtherNumber. If provided, it must be a valid


An empty string.



Path

Type

Description

Permission

Constraints

Default

Value





extension for

the defined call TargetType. For CallGroups, if the callTargetType

is Subscriber VM, this value indicates the extension

that owns the voicemail box, and if the call TargetType is CallGroupVM, no callTarget value required.



numberOfRings


Number


The number of rings to allow before the call is deemed "unaswered".


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Required if the callTargetType is not None. An integer between 1 and 20.


0


Sample PUT Request

PUT /api/v1/tenants/21375/callfwdnoanswers/6001 HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:45761 Content-Length: 87


{

"callTarget" : "4332", "callTargetType" : "SubscriberVM", "numberOfRings" : 4

}

Sample PUT Response


Same as "GET response"


CallGroup Resource

Table of Contents

The CallGroup resource provides information about a specific group, including links to the group’s coverage and members. Of note the configuration of queuing information associated with groups is currently read only.


Deleting a group is supported. Deleting a group will fail if there are any members in the group. Of course "Call Group Members" can be removed from groups.


Supported Operations


GET


View Call Group Details HEAD

Get just the header response PUT

Modify call Group Details DELETE

Remove the Call Group


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE



TenantAdmin User


GET, PUT, DELETE


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


name


String


The name of the callgroup.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


extension


String


The extension to be used for the call group.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


callGroupType


String


The type of the call group.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


ringBehaviour


String


For a broadcast or hunt group, this property indicates whether calls should ring all phones, or only phones not in use. If queuing is enabled on the group, this field will be set to RingPhonesNotInUse. It does not apply to other call group types and will not be included in the response.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


huntGroupSettings. huntGroupType


class java.lang.String


Required for Hunt Groups. Not applicable for other group types. For possible values see huntGroupType.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin



Path

Type

Description

Visibility


huntGroupSettings. memberAnswerTimeout


int


The number of rings to wait before timing out a hunt group member.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


membersLocked


Boolean


If true then members of the group cannot log out of the group.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


allowGroupCallsTo TwinningTargets


Boolean


If true then members of the group can have calls ring their twinned devices.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


queueEnabled


Boolean


Only available when system have Queue Agent license and tenant have queue and agent allocations. If true then queuing is enabled for this group. Queue and Agent support must be enabled for the tenant.

Queuing can be configured for broadcast, hunt and rollover groups and only if the call behavior is to ring phones not in use.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


voicemailEnabled


Boolean


Only available when tenant have call group voicemail allocations. If true then voicemail is enabled for this group. Voicemail can be configured for broadcast, hunt and rollover groups.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


callGroupId


Number


Identifier for the group being updated.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


Link Relations


Relation

Description

Visibility


v1options:ringBehaviourType


List of valid call group ring behaviour types that can be set for groups.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1options:callGroupType


List of valid call group types.


Telco(TenantBasicOrAdvance Management), TenantAdmin



Relation

Description

Visibility


v1options:huntGroupType


List of valid sub types for hunt groups.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:callGroupMemberMgmt


List members of the group.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:queueSettings


Group parameters associated with queues for the group. This link is only included in the response if the system have Queue Agent license, tenant must has the queue agent allocation, call group type must be

broadcast, hunt or rollover and queue Enabled is true.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:callGroupPresenceState Routing


Call Group Presence State Routing configuration. This is available for Broadcast, Hunt, and Rollover group types.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:callGroupVoicemail Settings


Call Group vociemail settings.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:callGroupVoicemailPin Reset


Link location where accept POST request for setting new voicemail PIN.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:callGroupPin


Link location where accept POST request for setting new Call Group PIN.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:callGroupPermission Profile


Link location where accept POST request for setting new Call Group Permission Profile.


Telco(TenantBasicOrAdvance Management), TenantAdmin


Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.



Name

Description

Visibility

Expandable


queueSettings


The setting for queuing associated with the group. This resource is only included in the response if the system have Queue Agent license, tenant must has the queue agent allocation, call group type

must be broadcast, hunt or rollover and queueEnabled is true.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


callForwardNoAnswer


Describes how unanswered calls to the group are handled. Note that Pickup and Page Groups do

not support this feature, so this resource will

not be included in the representation.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


voicemailBox


The allocated voicemail box of this user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


callPermission Profile


The allocated permission Profile of this user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 2731


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/callinggroups/3"

},

"v1:callGroupMemberMgmt" : {

"href" : "/api/v1/tenants/21375/callinggroups/3/members{?expand,filter}", "templated" : true

},

"v1:callGroupPermissionProfile" : {

"href" : "/api/v1/tenants/21375/callinggroups/3/callpermissionprofile"

},

"v1:callGroupPin" : {

"href" : "/api/v1/tenants/21375/callinggroups/3/pin"

},


"v1:callGroupPresenceStateRouting" : {

"href" : "/api/v1/tenants/21375/callinggroups/3/presencestaterouting"

},

"v1:callGroupVoicemailPinReset" : {

"href" : "/api/v1/tenants/21375/callinggroups/3/voicemailpinreset"

},

"v1:callGroupVoicemailSettings" : {

"href" : "/api/v1/tenants/21375/callinggroups/3/voicemailsettings"

},

"v1:queueSettings" : {

"href" : "/api/v1/tenants/21375/callinggroups/3/queue"

},

"v1options:callGroupType" : {

"href" : "/api/v1/enums/callgrouptype"

},

"v1options:ringBehaviourType" : {

"href" : "/api/v1/enums/ringbehaviourtype"

}

},

"allowGroupCallsToTwinningTargets" : false, "callGroupId" : 3,

"callGroupType" : "BroadcastGroup", "extension" : "6001", "membersLocked" : false,

"name" : "Moose Call Horn Sales Team", "queueEnabled" : true,

"ringBehaviour" : "RingPhonesNotInUse", "voicemailEnabled" : true,

"_embedded" : { "callForwardNoAnswer" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/callfwdnoanswers/6001"

}

},

"callTarget" : "4332", "callTargetType" : "SubscriberVM", "numberOfRings" : 4

},

"queueSettings" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/callinggroups/3/queue"

}

},

"announcementDurationMins" : 10,

"positionAnnouncementInterval" : 30, "positionEnabled" : false,

"rings" : 2

},

"callPermissionProfile" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/callpermissionprofiles/0"

}

},

"callPermissionProfileId" : 0, "name" : "Call Permission - Sales"

},

"voicemailBox" : { "_links" : {

"self" : {

"href" : "/api/v1/voicemailservers/101/voicemailboxes/23"

}

},

"releaseDate" : "12/1/22, 2:46 p.m.", "voicemailBoxAccount" : "243805000496001",

"voicemailBoxId" : 23, "voicemailBoxState" : "Released"

}


}

}

Modify Request


Use a PUT request to modify the properties of a call group.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


name


String


The name of the call group.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Max 50 chars.


ringBehaviour


String


Must be a valid call group ring

behaviour. Only used for broadcast and hunt groups, it will be ignored for all other group types.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


For possible values see the ring BehaviourType link relation. If queuing is enabled on the

group, this field only allowed to be set to RingPhonesNotIn Use.


huntGroup Settings.hunt GroupType


String


Only valid for hunt groups which can be Linear or Circular.

For all other group types it will be ignored if provided.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


For possible values see the huntGroup Type link relation.


huntGroup Settings.member AnswerTimeout


Number


The number of rings to wait before timing out a hunt group member and moving on to the next. Only applies to hunt groups.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Must be a positive number


membersLocked


Boolean


If true then members of the group cannot log out of the group. Not applicable for page groups. This field can only be


Telco(Tenant BasicOrAdvance Management), TenantAdmin


True or False



Path

Type

Description

Permission

Constraints



set to true if there

are members in the group.




allowGroupCalls ToTwinning Targets


Boolean


If true then members of the group can have calls ring their twinned devices. Not applicable for page and pickup groups. This field can only be set to true if there are members in the group.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


True or False


queueEnabled


Boolean


Indicate if the Queuing is enabled for this Call Group.


When change from true to false, all current queue settings will be reset and lost.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


True or False. When set to true, all members of this call group must be

agent, must not reach the queue group allocation limit of this tenant, otherwise, will fail.


voicemailEnabled


Boolean


Indicate if the Voicemail is enabled for this Call Group.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


True or False. When set to true, must not reach the call group voicemail allocation limit of this tenant, otherwise, will fail.


Sample PUT Request

PUT /api/v1/tenants/21375/callinggroups/3 HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:39407

Content-Length: 304


{

"name" : "Moose Call Horn Sales Team", "ringBehaviour" : "RingPhonesNotInUse", "huntGroupSettings" : {

"huntGroupType" : "Linear", "memberAnswerTimeout" : 10

},

"membersLocked" : true, "allowGroupCallsToTwinningTargets" : true, "queueEnabled" : true,

"voicemailEnabled" : true

}

Sample PUT Response


Same as "GET response"


CallGroups List Resource

Table of Contents

This relation returns a list of configured call groups for the tenant.


Supported Operations


GET


View list of call groups HEAD

Get just the header response POST

Add new call group


Permitted Authorities (as defined in API Guide)


Telco User


GET, POST

TenantAdmin User


GET, POST

List Details


The Call Group list resource provides a list of CallGroup resources in summarized form.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1:extensions


List of existing extensions of the tenant. This is useful to find the a not used extension if the client want specify one.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1options:ringBehaviourType


List of valid call behaviours for ringing group members devices.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1options:callGroupType


List of valid call group types that can be set for groups.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1options:huntGroupType


List of valid sub types for hunt groups.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.



The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


callGroup


Each element of the call group list represents a single call group, and indicates the call group extension and type.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1316


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/callinggroups"

},

"v1:extensions" : [ {

"href" : "/api/v1/tenants/21375/extensions{?expand,filter,extensionType,agent}", "templated" : true

} ],

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/callinggroups/{callGroupId}", "templated" : true

} ],

"v1options:callGroupType" : [ {

"href" : "/api/v1/enums/callgrouptype"

} ],

"v1options:huntGroupType" : [ {

"href" : "/api/v1/enums/huntgrouptype"

} ],

"v1options:ringBehaviourType" : [ {

"href" : "/api/v1/enums/ringbehaviourtype"

} ]

},

"count" : { "callGroup" : 1

},

"total" : { "callGroup" : 1

},

"_embedded" : {

"callGroup" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/callinggroups/3"

}

},

"callGroupId" : 3,

"callGroupType" : "BroadcastGroup",


"extension" : "6001",

"name" : "Moose Call Horn Sales Team", "queueEnabled" : true, "voicemailEnabled" : true

} ]

}

}

Modify List Request


Use a POST request to add a new call group.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


name


String


The name of the call group.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required. Max 50 chars.


None


extension


String


The extension to be used for the call group.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


If specified, it must be a valid extension for a group and not be in use.


Next unused value in range.


callGroupType


String


The call group type.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required. For possible values see callGroup Type.


None


ringBehaviour


String


The desired ring behaviour for the group: ring all phones, or only ring phones not in use.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Only applies to broadcast and hunt groups, and will be ignored for all other call group types.

If queuing is enabled on the group, this field will be set to Ring PhonesNotIn


RingPhonesNotIn Use



Path

Type

Description

Permission

Constraints

Default

Value





Use. For possible

values see ring BehaviourType.



huntGroup Settings.hunt GroupType


String


The hunt group sub-type.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required for Hunt Groups. Not applicable for other group types. For possible values see huntGroup Type.


Linear


huntGroup Settings. memberAnswer Timeout


Number


The number of rings to wait before timing

out a hunt group member.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Must be a positive number


1


membersLocked


Boolean


If true then members of the group cannot log out of the group.

While this field is present when adding a new

group, it can only be set if there are members in the group.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


True or False


false


allowGroup CallsTo Twinning Targets


Boolean


If true then members of the group can have calls ring their twinned devices. While this field is present when adding a new

group, it can only be set if there are members in the group.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


True or False


false


queueEnabled


Boolean


Indicate if the Queuing is enabled for this Call Group.


When change from true to false, all current


Telco(Tenant BasicOrAdvance Management), TenantAdmin


True or False. When set to true, all members of this call group must be agent, must not reach the queue group allocation limit


false



Path

Type

Description

Permission

Constraints

Default

Value



queue settings

will be reset and lost.


of this tenant,

otherwise, will fail.



voicemail Enabled


Boolean


Indicate if the Voicemail is enabled for this Call Group.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


True or False. When set to true, must not reach the call group voicemail allocation limit of this tenant, otherwise, will fail.


false


POST Response


A successful POST returns a 201 (Created). A link to the newly added group can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/tenants/21375/callinggroups HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:39407

Content-Length: 362


{

"callGroupType" : "HuntGroup",

"name" : "Moose Call Horn Sales Team", "extension" : "6001",

"ringBehaviour" : "RingPhonesNotInUse", "huntGroupSettings" : {

"huntGroupType" : "Linear", "memberAnswerTimeout" : 10

},

"membersLocked" : true, "allowGroupCallsToTwinningTargets" : true, "queueEnabled" : false,

"voicemailEnabled" : true

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/callinggroups/4


CallGroupMember Resource

Table of Contents

The CallGroupMember resource provides information about a specific member of a group. This includes whether the user/location is logged into the group and their extension.


Supported Operations


GET


View Call Group Member Details HEAD

Get just the header response PUT

Modify the details about the member of the Call Group DELETE

Remove the member from the Call Group


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE

TenantAdmin User


GET, PUT, DELETE



Non-admin User


GET, PUT (only their own data)

Location


GET, PUT (only their own data)


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


loggedIn


Boolean


True if the user/location is currently logged into the group. This is inapplicable to Page Group.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


extension


String


The extension of the user/ location.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


twinningEnabled


Boolean


True if the user’s/location’s twinned device is to be called for group calls. This is inapplicable to Page Group or Pickup Group.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.



Name

Description

Visibility

Expandable


callGroup


The call group


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


extension


The extension


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 935


{

"_links" : {

"curies" : {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/callinggroups/3/members/4332"

}

},

"extension" : "4332", "loggedIn" : true, "twinningEnabled" : true, "_embedded" : {

"extension" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/extensions/4332"

}

},

"accountId" : "4332@21375", "enabled" : true, "extension" : "4332", "extensionType" : "userExt", "name" : "Smith, Dave"

},

"callGroup" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/callinggroups/3"

}

},

"callGroupId" : 3,

"callGroupType" : "BroadcastGroup", "extension" : "6001",

"name" : "Moose Call Horn Sales Team", "voicemailEnabled" : true

}

}

}

Modify Request


Use a PUT request to modify the properties of a Call Group Member.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.



Path

Type

Description

Permission

Constraints

Default

Value


loggedIn


Boolean


True if the user/location is currently logged into the group.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional.


True


twinning Enabled


Boolean


True if the user’s/ location’s twinned device is to be rung for calls to this group.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. This value can only be set to true if the call group supports group twinning, and the user/location has the twinning feature. It cannot be set to true for locations.


False


Sample PUT Request

PUT /api/v1/tenants/21375/callinggroups/3/members HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:39407 Content-Length: 51


{

"loggedIn" : true, "twinningEnabled" : true

}

Sample PUT Response


"Same as GET response"


CallGroup CallPermissionProfile Resource

Table of Contents

The CallGroup CallPermissionProfile resource provides information about the assigned call permission profile of the CallGroup.


Supported Operations


GET


View Call Group Call Permission Profile setting HEAD

Get just the header response PUT

Modify the Call Group Call Permission Profile setting.


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin User


GET, PUT


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


callPermission ProfileId


Number


Identifier the call permission profile currently associated with the CallGroup.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin

Link Relations


Relation

Description

Visibility


v1:callPermissionProfiles


List of call permission profiles for the tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


callPermission Profile


The CallPermissionProfile currently associated with the CallGroup.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 671


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/callinggroups/3/callpermissionprofile"


},

"v1:callPermissionProfiles" : {

"href" : "/api/v1/tenants/21375/callpermissionprofiles{?expand,filter}", "templated" : true

}

},

"callPermissionProfileId" : 0, "_embedded" : {

"callPermissionProfile" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/callpermissionprofiles/0"

}

},

"callPermissionProfileId" : 0, "name" : "Call Permission - Sales"

}

}

}

Modify Request


Use a PUT request to modify the Call Group Call Permission Profile setting.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.



Path

Type

Description

Permission

Constraints

Default

Value


call Permission ProfileId


Number


Identifier of the call permission profile going to associate with the Call Group.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Must be a valid call permission profile identifier of the tenant, could be the ' Unassigned' call permission profile.


n/a


Sample PUT Request

PUT /api/v1/tenants/21375/callinggroups/3/callpermissionprofile HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:39407 Content-Length: 35


{

"callPermissionProfileId" : 0

}


Sample PUT Response


"Same as GET response"


Call Group PIN Resource

Table of Contents

The Call Group Presence State Routing resource provides information about the Presence State Routing configuration of the supporting group types: Broadcast, Hunt, and Rollover.


Supported Operations


GET


View Call Group Presence State Routing detail HEAD

Get just the header response PUT

Modify Call Group Presence State Routing


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin User


GET, PUT


Resource Details

Properties


Path

Type

Description

Visibility


awayHoursNumber


String


The Number that the call group routes to during Away Hours. The call

is routed to call group members if the number is empty.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


inOfficeHoursNumber


String


The Number that the call group routes to during

In Office Hours. The call is routed to call group members if the number is empty.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


lunchHoursNumber


String


The Number that the call group routes to during Lunch Hours. The call

is routed to call group members if the number is empty.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


vacationNumber


String


The Number that the call group routes to when Vacation routing override is selected. The call is routed to call group members if the number is empty.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


routingOverrideType


String


The override type is used for presence state routing.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


timezone


String


The time zone is used for presence state routing. Readonly for now.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


monday


Object


The configuration for Mondays.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


monday.inOffice


Boolean


Indicates whether In Office at all on this day.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin



Path

Type

Description

Visibility


monday.inOfficeHours From


String


The start time of In Office hours on this day.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


monday.inOfficeHours To


String


The end time of In Office hours on this day.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


monday.lunchFrom


String


The start time of Lunch hours on this day.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


monday.lunchTo


String


The end time of Lunch hours on this day.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


tuesday


Object


The configuration for Tuesdays. See Mondays for details.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


wednesday


Object


The configuration for Wednesdays. See Mondays for details.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


thursday


Object


The configuration for Thursdays. See Mondays for details.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


friday


Object


The configuration for Fridays. See Mondays for details.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


saturday


Object


The configuration for Saturdays. See Mondays for details.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


sunday


Object


The configuration for Sundays. See Mondays for details.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


Link Relations


Relation

Description

Visibility


v1options:presenceState RoutingOverrideType


List of valid Routing Override types that can be set for Presence State Routing.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1613


{

"_links" : {

"curies" : {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/callinggroups/3/presencestaterouting"

},

"v1options:presenceStateRoutingOverrideType" : {

"href" : "/api/v1/enums/presencestateroutingoverridetype"

}

},

"awayHoursNumber" : "", "friday" : {

"lunchTo" : "", "inOffice" : true, "lunchFrom" : "",

"inOfficeHoursTo" : "24:00",

"inOfficeHoursFrom" : "00:00"

},

"inOfficeHoursNumber" : "", "lunchHoursNumber" : "", "monday" : {

"lunchTo" : "", "inOffice" : true, "lunchFrom" : "",

"inOfficeHoursTo" : "24:00",

"inOfficeHoursFrom" : "00:00"

},

"routingOverrideType" : "None", "saturday" : {

"lunchTo" : "", "inOffice" : true, "lunchFrom" : "",

"inOfficeHoursTo" : "24:00",

"inOfficeHoursFrom" : "00:00"

},

"sunday" : { "lunchTo" : "", "inOffice" : true, "lunchFrom" : "",

"inOfficeHoursTo" : "24:00",

"inOfficeHoursFrom" : "00:00"

},

"thursday" : { "lunchTo" : "", "inOffice" : true, "lunchFrom" : "",

"inOfficeHoursTo" : "24:00",

"inOfficeHoursFrom" : "00:00"

},

"timezone" : "America/New_York",


"tuesday" : { "lunchTo" : "", "inOffice" : true, "lunchFrom" : "",

"inOfficeHoursTo" : "24:00",

"inOfficeHoursFrom" : "00:00"

},

"vacationNumber" : "", "wednesday" : {

"lunchTo" : "", "inOffice" : true, "lunchFrom" : "",

"inOfficeHoursTo" : "24:00",

"inOfficeHoursFrom" : "00:00"

}

}

Modify Request


Use a PUT request to modify Presence State Routing of Call Group.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.



Path

Type

Description

Permission

Constraints

Default

Value


awayHours Number


String


The Number that the call group routes to during Away Hours.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. The call is routed to call group members

if the number is empty.


If not provided, will keep current setting unchanged.


inOfficeHours Number


String


The Number that the call group routes to during In Office Hours.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. The call is routed to call group members

if the number is empty.


If not provided, will keep current setting unchanged.


lunchHours Number


String


The Number that the call group routes to during Lunch Hours.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. The call is routed to call group members

if the number is empty.


If not provided, will keep current setting unchanged.



Path

Type

Description

Permission

Constraints

Default

Value


vacation Number


String


The Number that the call group routes to when Vacation routing override is selected.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. The call is routed to call group members

if the number is empty.


If not provided, will keep current setting unchanged.


routing OverrideType


String


The override type is used for presence state routing.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional.


If not provided, will keep current setting unchanged.


monday


Object


The configuration for Mondays.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional.


If not provided, will keep current setting unchanged.


monday.in Office


Boolean


Indicates whether In Office at all on this day.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


True or False


If not provided, will keep current setting unchanged.


monday.in OfficeHours From


String


The start time of In Office hours on this day.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, if provided, the format should be HH:MM where HH is value of hours and MM is value of minutes.


If not provided, will keep current setting unchanged.


monday.in OfficeHoursTo


String


The end time of In Office hours on this day.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, if provided, the format should be HH:MM where HH is value of hours and MM is value of minutes.


If not provided, will keep current setting unchanged.


monday.lunch From


String


The start time of Lunch hours on this day.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, if provided, the format should be HH:MM where HH is value of hours and MM is value of minutes.


If not provided, will keep current setting unchanged.



Path

Type

Description

Permission

Constraints

Default

Value


monday.lunch To


String


The end time of Lunch hours on this day.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, if provided, the format should be HH:MM where HH is value of hours and MM is value of minutes.


If not provided, will keep current setting unchanged.


tuesday


Object


The configuration for Tuesdays.

See Mondays for details


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as Monday.


Same as Monday.


wednesday


Object


The configuration for Wednesdays. See Mondays for details


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as Monday.


Same as Monday.


thursday


Object


The configuration for Thursdays.

See Mondays for details


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as Monday.


Same as Monday.


friday


Object


The configuration for Fridays. See Mondays for details


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as Monday.


Same as Monday.


saturday


Object


The configuration for Saturdays.

See Mondays for details


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as Monday.


Same as Monday.


sunday


Object


The configuration for Sundays.

See Mondays for details


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as Monday.


Same as Monday.


Sample PUT Request

PUT /api/v1/tenants/21375/callinggroups/3/presencestaterouting HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:37217 Content-Length: 1318


{

"monday" : { "inOffice" : true,

"inOfficeHoursFrom" : "07:00",

"inOfficeHoursTo" : "18:00",

"lunchFrom" : "12:00",

"lunchTo" : "13:00"


},

"tuesday" : { "inOffice" : true,

"inOfficeHoursFrom" : "07:00",

"inOfficeHoursTo" : "18:00",

"lunchFrom" : "12:00",

"lunchTo" : "13:00"

},

"wednesday" : { "inOffice" : true,

"inOfficeHoursFrom" : "07:00",

"inOfficeHoursTo" : "18:00",

"lunchFrom" : "12:00",

"lunchTo" : "13:00"

},

"thursday" : { "inOffice" : true,

"inOfficeHoursFrom" : "07:00",

"inOfficeHoursTo" : "18:00",

"lunchFrom" : "12:00",

"lunchTo" : "13:00"

},

"friday" : { "inOffice" : true,

"inOfficeHoursFrom" : "07:00",

"inOfficeHoursTo" : "18:00",

"lunchFrom" : "12:00",

"lunchTo" : "13:00"

},

"saturday" : { "inOffice" : true,

"inOfficeHoursFrom" : "07:00",

"inOfficeHoursTo" : "18:00",

"lunchFrom" : "12:00",

"lunchTo" : "13:00"

},

"sunday" : { "inOffice" : true,

"inOfficeHoursFrom" : "07:00",

"inOfficeHoursTo" : "18:00",

"lunchFrom" : "12:00",

"lunchTo" : "13:00"

},

"inOfficeHoursNumber" : "2000",

"lunchHoursNumber" : "1000",

"awayHoursNumber" : "6132345678",

"vacationNumber" : "6135557777", "routingOverrideType" : "Vacation"

}

Sample PUT Response


Same as "GET response"


Call Group Voicemail PIN Reset Resource

Table of Contents

The Call Group Voicemail Settings resource provides information about the voicemail settings of the Call Group.


Supported Operations


GET


View Call Group Voicemail Settings detail HEAD

Get just the header response PUT

Modify Call Group Voicemail Settings


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin User


GET, PUT


Resource Details

Properties


Path

Type

Description

Visibility


useMWI


Boolean


Indicates whether the call group uses MWI for voicemail.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


notificationEmails


String


One or multiple email addresses where to send notification, separated by semi-colon.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


copyToEmails


String


One of multiple email addresses where to send a copy of the voicemail, separated by semi-colon.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


deleteAfterCopy


Boolean


Indicates whether delete the voicemail after sent out a copy to specified email address.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


dial0Enabled


Boolean


Indicates whether the dial0 option is enabled for voicemail.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


dial0Extension


String


When dial0 option enabled, the target extension when 0 is dialed, could be user or location extension, call group extension or auto attendant extension.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


timeStampTimeZone


String


TimeZone for the time stamp in notification or copy emails.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


vmLanguage


String


Prefer language for voicemail prompts.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin

Link Relations


Relation

Description

Visibility


v1:vmLanguages


Link to get a list of available Voicemail Languages in system.


Telco(TenantBasicOrAdvance Management), TenantAdmin


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 601


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/callinggroups/3/voicemailsettings"

},

"v1:vmLanguages" : {

"href" : "/api/v1/vmlanguages{?filter}", "templated" : true

}

},

"copyToEmails" : "[email protected]", "deleteAfterCopy" : false,

"dial0Enabled" : true, "dial0Extension" : "7001",

"notificationEmails" : "[email protected]; [email protected]", "timeStampTimeZone" : "US/Eastern",

"useMWI" : true, "vmLanguage" : "en"

}

Modify Request


Use a PUT request to modify voicemail settings of Call Group.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.



Path

Type

Description

Permission

Constraints

Default

Value


useMWI


Boolean


Indicates whether the call group uses MWI for voicemail.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. If provided, must be True or False.


If not provided, will keep the current setting.


notification Emails


String


One or more email addresses to send


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. If provided, must be a valid email address; if more than one,


If not provided, will keep the current setting.



Path

Type

Description

Permission

Constraints

Default

Value



notification to.

Maximum 3 emails.


addresses must

separated by semi-colons.



copyToEmails


String


One of multiple email addresses where to send

a copy of the voicemail.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. If provided, must be a valid email address; if more than one, addresses must separated by semi-colons.


If not provided, will keep the current setting.


deleteAfter Copy


Boolean


Indicates whether to delete the voicemail after

a copy is sent out to specified the email address(es). If copyToEmails is empty, it is reset to True.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. If provided, must be True or False.


If not provided, will keep the current setting.


dial0Enabled


Boolean


Indicates whether the dial0 option

is enabled for voicemail.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. If provided, must be True or False.


If not provided, will keep the current setting.


dial0 Extension


String


The target extension when 0 is dialed, could be user or location extension, call group extension

or auto attendant extension. If dial0Enabled is false, this value is ignored.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. If provided, must be valid user or location extension, call

group extension or auto attendant extension of this tenant.


If not provided, will keep the current setting.


timeStampTime Zone


String


TimeZone for the time stamp in notification or copy emails.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. If provided, must be an valid time zone name.


If not provided, will keep the current setting.


vmLanguage


String


Preferred language for voicemail prompts.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. If provided, must be an valid Voicemail


If not provided, will keep the current setting.



Path

Type

Description

Permission

Constraints

Default

Value





Language code

available in system.



Sample PUT Request

PUT /api/v1/tenants/21375/callinggroups/3/voicemailsettings HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:37289 Content-Length: 275


{

"useMWI" : true,

"notificationEmails" : "[email protected]; [email protected]", "copyToEmails" : "[email protected]",

"deleteAfterCopy" : true, "dial0Enabled" : true, "dial0Extension" : "7001", "timeStampTimeZone" : "US/Eastern", "vmLanguage" : "en"

}

Sample PUT Response


Same as "GET response"


CallGroupMemberMgmt List Resource

Table of Contents

This relation returns a list of member of a specific call group. These members can be users or locations.


The list of members is ordered. The client can manage the order of the list by either POSTing individual new members in the correct order (new members are added to the end of the list), or by using a PUT request to replace the entire list with a new one.


Most CallGroups can have a maximum of 100 members. Pickup Groups are limited to a maximum of 50 members across all groups of that type.


Supported Operations


GET


View list of call group members HEAD

Get just the header response POST

Add a new member to the end of the call group PUT

Replace the call group with a new list


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, POST





TenantAdmin User


GET, PUT, POST


List Details


The CallGroupMember list resource provides a list of CallGroupMember resources for the specified CallGroup.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1:extensions


List of all extensions for the tenant that are in use. It is a template that allows filtering so that, for example, only user extensions can be seen.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.



The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


callGroupMember


A list of members of the call group. Each element indicates the member’s logged in and personal group twinning status.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 970


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/callinggroups/3/members"

},

"v1:extensions" : [ {

"href" : "/api/v1/tenants/21375/extensions{?expand,filter,extensionType,agent}", "templated" : true

} ],

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/callinggroups/3/members/{extension}", "templated" : true

} ]

},

"count" : { "callGroupMember" : 1

},

"total" : { "callGroupMember" : 1

},

"_embedded" : { "callGroupMember" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/callinggroups/3/members/4332"

}

},

"extension" : "4332", "loggedIn" : true, "twinningEnabled" : true

} ]

}

}


Modify List Request

POST Request


Use a POST request to add or move a CallGroupMember to the end of the call group membership list. If the extension is already a group member, it will be moved to the bottom of the list. If the extension is not already a member, it will be added to the bottom of the list.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


loggedIn


Boolean


Indicates if logged into the group for this member.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. True or False.


twinningEnabled


Boolean


Indicates if twinning is enabled for this member.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. True or False.


extension


String


The extension of the user/location.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


This must be a valid extension.

POST Response Properties


A successful POST returns a successful response with an empty payload. If the extension was added to the list, the response is a 201 Created and the Location header indicates the URI of the new member. If the extension was moved to the bottom of the list, the response is a 200 OK.


Sample POST Request

POST /api/v1/tenants/21375/callinggroups/3/members HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:39407 Content-Length: 75


{

"loggedIn" : true, "extension" : "4111", "twinningEnabled" : true

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/callinggroups/3/members/4111 Content-Length: 0


PUT Request


Use a PUT request to replace the existing member list with a new list of members. This request also supports setting the member’s loggedIn and twinningEnabled statuses at the same time.


PUT Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


callGroup Member[]. loggedIn


Boolean


True if the user/location is currently logged into the group.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


True or False


True


callGroup Member[]. extension


String


The extension of the user/location.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


This must be a valid extension.


None


callGroup Member[]. twinning Enabled


Boolean


If True then the user’s/location’s twinned device will ring for group calls.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


True or False


False


PUT Response Properties


The response to a successful PUT request is the new resource representation, as defined in the GET Response.


Sample PUT Request

PUT /api/v1/tenants/21375/callinggroups/3/members HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:39407 Content-Length: 113


{

"callGroupMember" : [ { "loggedIn" : true, "extension" : "4332", "twinningEnabled" : true

} ]


}

Sample PUT Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 970


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/callinggroups/3/members"

},

"v1:extensions" : [ {

"href" : "/api/v1/tenants/21375/extensions{?expand,filter,extensionType,agent}", "templated" : true

} ],

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/callinggroups/3/members/{extension}", "templated" : true

} ]

},

"count" : { "callGroupMember" : 1

},

"total" : { "callGroupMember" : 1

},

"_embedded" : { "callGroupMember" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/callinggroups/3/members/4332"

}

},

"extension" : "4332", "loggedIn" : true, "twinningEnabled" : true

} ]

}

}


CallPermissionProfile Resource

Table of Contents

The CallPermissionProfile resource provides information about a specific Call Permission Profile.


Deleting a CallPermissionProfile is supported.


Supported Operations


GET


View CallPermissionProfile Details HEAD

Get just the header response PUT

Modify CallPermissionProfile Details DELETE

Remove the CallPermissionProfile


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE

TenantAdmin User


GET, PUT, DELETE



Non-admin User


GET

Location


GET


Resource Details

Properties


Path

Type

Description

Visibility


name


String


The name of the Call PermissionProfile.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


callPermission ProfileId


Number


Identifier for the Call PermissionProfile. Read Only, system assigned.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


international


Object


International Call Permission of the Call PermissionProfile. Include setting for Open, Lunch, Close and Special hours.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


international.allow OpenHour


Boolean


Permission for open hours of International Call Permission of the Call PermissionProfile.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


international.allow CloseHour


Boolean


Permission for close hours of International Call Permission of the Call PermissionProfile.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


international.allow LunchHour


Boolean


Permission for lunch hours of International Call Permission of the Call PermissionProfile.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


international.allow SpecialHour


Boolean


Permission for special hours of International Call Permission of the Call PermissionProfile.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User



Path

Type

Description

Visibility


local


Object


Local Call Permission of the CallPermissionProfile. Include setting for Open, Lunch, Close and Special hours. See International Call Permission for details.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


longDistance


Object


Long Distance Call Permission of the Call PermissionProfile. Include setting for Open, Lunch, Close and Special hours. See International Call Permission for details.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


operatorAssisted


Object


Operator Assisted Call Permission of the Call PermissionProfile. Include setting for Open, Lunch, Close and Special hours. See International Call Permission for details.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


regional


Object


Regional Call Permission of the CallPermissionProfile. Include setting for Open, Lunch, Close and Special hours. See International Call Permission for details.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


tollFree


Object


Toll Free Call Permission of the CallPermissionProfile. Include setting for Open, Lunch, Close and Special hours. See International Call Permission for details.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


tollPremium


Object


Toll Premium Call Permission of the Call PermissionProfile. Include setting for Open, Lunch, Close and Special hours. See International Call Permission for details.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


redirectInboundTo External


Object


Redirect Inbound To External Call Permission of the CallPermissionProfile. Include setting for Open,


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User



Path

Type

Description

Visibility



Lunch, Close and Special

hours. See International Call Permission for details.



selectLongDistance Provider


Object


Select Long Distance Provider Call Permission of the CallPermissionProfile. Include setting for Open, Lunch, Close and Special hours. See International Call Permission for details.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


selectRegional Provider


Object


Select Regional Provider Call Permission of the Call PermissionProfile. Include setting for Open, Lunch, Close and Special hours. See International Call Permission for details.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


Link Relations


Relation

Description

Visibility


v1:callPermissionProfile Members


List members of the call permission profile.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1920


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/callpermissionprofiles/116"

},

"v1:callPermissionProfileMembers" : {

"href" : "/api/v1/tenants/21375/callpermissionprofiles/116/members{?expand,filter}", "templated" : true

}

},

"callPermissionProfileId" : 116, "international" : {

"allowLunchHour" : true, "allowCloseHour" : false, "allowSpecialHour" : false, "allowOpenHour" : true

},

"local" : { "allowLunchHour" : true, "allowCloseHour" : false,

"allowSpecialHour" : false, "allowOpenHour" : true


},

"longDistance" : { "allowLunchHour" : true, "allowCloseHour" : false, "allowSpecialHour" : false, "allowOpenHour" : true

},

"name" : "Call Permission - Sales", "operatorAssisted" : {

"allowLunchHour" : true, "allowCloseHour" : false, "allowSpecialHour" : false, "allowOpenHour" : true

},

"redirectInboundToExternal" : { "allowLunchHour" : true, "allowCloseHour" : false, "allowSpecialHour" : false, "allowOpenHour" : true

},

"regional" : { "allowLunchHour" : true, "allowCloseHour" : false, "allowSpecialHour" : false, "allowOpenHour" : true

},

"selectLongDistanceProvider" : { "allowLunchHour" : true, "allowCloseHour" : false, "allowSpecialHour" : false, "allowOpenHour" : true

},

"selectRegionalProvider" : { "allowLunchHour" : true, "allowCloseHour" : false, "allowSpecialHour" : false, "allowOpenHour" : true

},

"tollFree" : { "allowLunchHour" : true, "allowCloseHour" : false, "allowSpecialHour" : false, "allowOpenHour" : true

},

"tollPremium" : { "allowLunchHour" : true, "allowCloseHour" : false, "allowSpecialHour" : false, "allowOpenHour" : true

}

}

Modify Request


Use a PUT request to modify the properties of a CallPermissionProfile.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.



Path

Type

Description

Permission

Constraints


name


String


The name of the Call PermissionProfile.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. Max 50 chars.


international


Object


The permission setting of international calls.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional.


international. allowOpenHour


Boolean


The permission setting for open hours for international calls.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. True or False.


international. allowCloseHour


Boolean


The permission setting for close hours for international calls.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. True or False.


international. allowLunchHour


Boolean


The permission setting for lunch hours for international calls.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. True or False.


international. allowSpecialHour


Boolean


The permission setting for special hours for international calls.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. True or False.


local


Object


The permission setting of local calls. See international calls setting for details.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as permission setting of international calls.


longDistance


Object


The permission setting of long distance calls. See international calls setting for details.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as permission setting of international calls.


operatorAssisted


Object


The permission setting of operator assisted calls. See international calls setting for details.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as permission setting of international calls.



Path

Type

Description

Permission

Constraints


regional


Object


The permission setting of regional calls. See international calls setting for details.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as permission setting of international calls.


tollFree


Object


The permission setting of toll free calls. See

international calls setting for details.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as permission setting of international calls.


tollPremium


Object


The permission setting of toll premium calls. See international calls setting for details.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as permission setting of international calls.


redirectInbound ToExternal


Object


The permission setting of redirect inbound calls to external. See international calls setting for details.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as permission setting of international calls.


selectRegional Provider


Object


The permission setting of select regional provider for calls. See international calls setting for details.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as permission setting of international calls.


selectLong DistanceProvider


Object


The permission setting of select long distance

provider for calls. See international calls setting for details.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as permission setting of international calls.


Sample PUT Request

PUT /api/v1/tenants/21375/callpermissionprofiles/116 HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:39923 Content-Length: 1486


{

"name" : "Call Permission - Sales", "international" : {

"allowOpenHour" : true, "allowCloseHour" : true, "allowLunchHour" : true, "allowSpecialHour" : true

},


"local" : { "allowOpenHour" : true, "allowCloseHour" : true, "allowLunchHour" : true,

"allowSpecialHour" : true

},

"longDistance" : { "allowOpenHour" : true, "allowCloseHour" : true, "allowLunchHour" : true, "allowSpecialHour" : true

},

"operatorAssisted" : { "allowOpenHour" : true, "allowCloseHour" : true, "allowLunchHour" : true, "allowSpecialHour" : true

},

"regional" : { "allowOpenHour" : true, "allowCloseHour" : true, "allowLunchHour" : true, "allowSpecialHour" : true

},

"tollFree" : { "allowOpenHour" : true, "allowCloseHour" : true, "allowLunchHour" : true, "allowSpecialHour" : true

},

"tollPremium" : { "allowOpenHour" : true, "allowCloseHour" : true, "allowLunchHour" : true, "allowSpecialHour" : true

},

"redirectInboundToExternal" : { "allowOpenHour" : true, "allowCloseHour" : true, "allowLunchHour" : true, "allowSpecialHour" : true

},

"selectLongDistanceProvider" : { "allowOpenHour" : true, "allowCloseHour" : true, "allowLunchHour" : true, "allowSpecialHour" : true

},

"selectRegionalProvider" : { "allowOpenHour" : true, "allowCloseHour" : true, "allowLunchHour" : true, "allowSpecialHour" : true

}

}

Sample PUT Response


Same as "GET response"


CallPermissionProfile List Resource

Table of Contents

This relation returns a list of configured CallPermissionProfiles for the tenant.


Supported Operations


GET


View list of CallPermissionProfiles HEAD

Get just the header response POST

Add new CallPermissionProfile


Permitted Authorities (as defined in API Guide)


Telco User


GET, POST

TenantAdmin User


GET, POST

List Details


The CallPermissionProfile list resource provides a list of CallPermissionProfile resources in summarized form.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


callPermission Profile


Each element of the CallPermissionProfile list represents a single CallPermissionProfile, and indicates the Call

PermissionProfile identifier, name and permissions.

The 'Unassigned' call permission is not included in the list.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y



Name

Description

Visibility

Expandable


callPermission ProfileForUnassigned


The 'Unassigned' Call PermissionProfile is created with the tenant, can not be deleted, name can not be changed, members can not be managed. While the permission setting can be managed.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1083


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/callpermissionprofiles"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/callpermissionprofiles/{callPermissionProfileId}", "templated" : true

} ]

},

"count" : { "callPermissionProfile" : 1,

"callPermissionProfileForUnassigned" : 1

},

"total" : { "callPermissionProfile" : 1,

"callPermissionProfileForUnassigned" : 1

},

"_embedded" : { "callPermissionProfileForUnassigned" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/callpermissionprofiles/110"

}

},

"callPermissionProfileId" : 110, "name" : "Unassigned"

} ],

"callPermissionProfile" : [ { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/callpermissionprofiles/116"

}

},

"callPermissionProfileId" : 116, "name" : "Call Permission - Sales"

} ]

}

}

Modify List Request


Use a POST request to add a new CallPermissionProfile.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


name


String


The name of the CallPermission Profile.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required. Max 50 chars.


None


international


Object


The permission setting of international calls.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional.


If not specified, will be not allowed for Open, Lunch, Close and Special hours.


international. allowOpenHour


Boolean


The permission setting for open hours for international calls.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. True or False.


false


international. allowClose Hour


Boolean


The permission setting for close hours for international calls.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. True or False.


false


international. allowLunch Hour


Boolean


The permission setting for lunch hours for international calls.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. True or False.


false


international. allowSpecial Hour


Boolean


The permission setting for special hours for international calls.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. True or False.


false



Path

Type

Description

Permission

Constraints

Default

Value


local


Object


The permission setting of local calls. See international calls setting for details.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as permission setting of international calls.


Same as permission setting of international calls.


longDistance


Object


The permission setting of long distance calls. See international calls setting for details.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as permission setting of international calls.


Same as permission setting of international calls.


operator Assisted


Object


The permission setting of operator assisted calls. See international calls setting for details.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as permission setting of international calls.


Same as permission setting of international calls.


regional


Object


The permission setting of regional calls. See international calls setting for details.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as permission setting of international calls.


Same as permission setting of international calls.


tollFree


Object


The permission setting of toll free calls. See

international calls setting for details.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as permission setting of international calls.


Same as permission setting of international calls.


tollPremium


Object


The permission setting of toll premium calls. See international calls setting for details.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as permission setting of international calls.


Same as permission setting of international calls.


redirect InboundTo External


Object


The permission setting of redirect inbound calls to external. See international calls setting for details.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as permission setting of international calls.


Same as permission setting of international calls.



Path

Type

Description

Permission

Constraints

Default

Value


select Regional Provider


Object


The permission setting of select regional provider for calls. See international calls setting for details.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as permission setting of international calls.


Same as permission setting of international calls.


selectLong Distance Provider


Object


The permission setting of select long distance provider for calls. See international calls setting for details.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Same as permission setting of international calls.


Same as permission setting of international calls.


POST Response


A successful POST returns a 201 (Created). A link to the newly added CallPermissionProfile can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/tenants/21375/callpermissionprofiles HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:39923 Content-Length: 1486


{

"name" : "Call Permission - Sales", "international" : {

"allowOpenHour" : true, "allowCloseHour" : true, "allowLunchHour" : true, "allowSpecialHour" : true

},

"local" : { "allowOpenHour" : true, "allowCloseHour" : true, "allowLunchHour" : true,

"allowSpecialHour" : true

},

"longDistance" : { "allowOpenHour" : true, "allowCloseHour" : true, "allowLunchHour" : true, "allowSpecialHour" : true

},

"operatorAssisted" : { "allowOpenHour" : true, "allowCloseHour" : true, "allowLunchHour" : true, "allowSpecialHour" : true

},

"regional" : { "allowOpenHour" : true, "allowCloseHour" : true, "allowLunchHour" : true, "allowSpecialHour" : true

},

"tollFree" : {


"allowOpenHour" : true, "allowCloseHour" : true, "allowLunchHour" : true, "allowSpecialHour" : true

},

"tollPremium" : { "allowOpenHour" : true, "allowCloseHour" : true, "allowLunchHour" : true, "allowSpecialHour" : true

},

"redirectInboundToExternal" : { "allowOpenHour" : true, "allowCloseHour" : true, "allowLunchHour" : true, "allowSpecialHour" : true

},

"selectLongDistanceProvider" : { "allowOpenHour" : true, "allowCloseHour" : true, "allowLunchHour" : true, "allowSpecialHour" : true

},

"selectRegionalProvider" : { "allowOpenHour" : true, "allowCloseHour" : true, "allowLunchHour" : true, "allowSpecialHour" : true

}

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/callpermissionprofiles/34


CallPermissionProfileMember Resource

Table of Contents

The CallPermissionProfileMember resource provides information about a specific member of a call permission profile.


Supported Operations


GET


View Call Permission Profile Member Details HEAD

Get just the header response PUT

Add/Modify a member of the Call Permission Profile DELETE

Remove the member from the Call Permission Profile


Permitted Authorities (as defined in API Guide)


Telco User


GET, DELETE

TenantAdmin User


GET, DELETE


Member of the "Unassigned" Call Permission Profile cannot be managed, thus PUT and DELETE is not supported.



Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


extension


String


The extension of the Call PermissionProfileMember.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


extension


Extension of the Call PermissionProfileMember, could be a User or Location or ACD extension.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 582


{

"_links" : {

"curies" : {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/callpermissionprofiles/116/members/4332"

}

},

"extension" : "4332", "_embedded" : {

"extension" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/extensions/4332"

}

},


"accountId" : "4332@21375", "enabled" : true, "extension" : "4332", "extensionType" : "userExt", "name" : "Smith, Dave"

}

}

}


CallPermissionProfileMember List Resource

Table of Contents

This relation returns a list of member of a specific call permission profile. These members can be extension of users, locations or ACD.


The client can manage the order of the list by using a PUT request to replace the entire list with a new list.


Supported Operations


GET


View list of call permission profile members HEAD

Get just the header response PUT

Replace current call permission profile members with a new list POST

Add a new call permission profile member to the list


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, POST

TenantAdmin User


GET, PUT, POST




Members of the "Unassigned" Call Permission Profile cannot be managed, thus PUT is not supported.



List Details


The CallPermissionProfileMember list resource provides a list of CallPermissionProfileMember resources for the specified CallPermissionProfile.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1:extensions


List of existing extensions of the tenant. This is useful to get a list of User, Location, ACD extensions

which can be used for manage call permission profile members.


Telco(TenantBasicOrAdvance Management), TenantAdmin


Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


callPermission ProfileMember


Each element of the Call PermissionProfileMember list represents a Call PermissionProfileMember.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1052


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/callpermissionprofiles/116/members"

},

"v1:extensions" : [ {

"href" : "/api/v1/tenants/21375/extensions{?expand,filter,extensionType,agent}", "templated" : true

} ],

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/callpermissionprofiles/116/members/{extension}", "templated" : true

} ]

},

"count" : { "callPermissionProfileMember" : 2

},

"total" : { "callPermissionProfileMember" : 2

},

"_embedded" : { "callPermissionProfileMember" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/callpermissionprofiles/116/members/4332"

}

},

"extension" : "4332"

}, {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/callpermissionprofiles/116/members/5001"

}


},

"extension" : "5001"

} ]

}

}

Modify List Request

POST Request


Use a POST request to add a CallPermissionProfileMember to the membership list. If the extension is already a group member, it will be kept in the list. If the extension is not already a member, it will be added to the list.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


extension


String


The extension of the CallPermissionProfile Member.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required. Must be a valid extension of User, Location or ACD.

POST Response Properties


A successful POST returns a successful response with an empty payload. If the extension was added to the list, the response is a 201 Created and the Location header indicates the URI of the new member. If the extension was moved to the bottom of the list, the response is a 200 OK.


Sample POST Request

POST /api/v1/tenants/21375/callpermissionprofiles/116/members HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:39923 Content-Length: 26


{

"extension" : "4332"

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/callpermissionprofiles/116/members/4332

PUT Request


Use a PUT request to replace the existing member list with a new list of members.


PUT Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


call Permission Profile Member[]. extension


String


The extension of the User or

Location or ACD.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


This must be a valid extension.


None


PUT Response Properties


The response to a successful PUT request is the new resource representation, as defined in the GET Response.


Sample PUT Request

PUT /api/v1/tenants/21375/callpermissionprofiles/116/members HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:39923 Content-Length: 104


{

"callPermissionProfileMember" : [ { "extension" : "4332"

}, {

"extension" : "5001"

} ]

}

Sample PUT Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1052


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/callpermissionprofiles/116/members"

},

"v1:extensions" : [ {

"href" : "/api/v1/tenants/21375/extensions{?expand,filter,extensionType,agent}", "templated" : true

} ],

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/callpermissionprofiles/116/members/{extension}",


"templated" : true

} ]

},

"count" : { "callPermissionProfileMember" : 2

},

"total" : { "callPermissionProfileMember" : 2

},

"_embedded" : { "callPermissionProfileMember" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/callpermissionprofiles/116/members/4332"

}

},

"extension" : "4332"

}, {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/callpermissionprofiles/116/members/5001"

}

},

"extension" : "5001"

} ]

}

}


CallWaitingTone Resource

Table of Contents

The CallWaitingTone resource indicates whether the User/Location has activated the Call Waiting Tone feature.


When active, this feature causes the the speaker to hear a tone when they are on the phone and another incoming call is received.


Supported Operations


GET


View Call Waiting Tone feature state HEAD

Get just the header response PUT

Modify Call Waiting Tone feature state


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin


GET, PUT

User


GET, PUT (self only)



Location


GET, PUT (self only)


Resource Details

Properties


Path

Type

Description

Visibility


active


Boolean


Indicates whether the Call Waiting Tone feature is Active for this user/location.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 117


{

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/cwt"

}

},

"active" : false

}

Modify Request


Use a PUT request to modify the properties of Call Waiting Tone.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


active


Boolean


Indicates whether Call Waiting Tone is currently active for this user/location.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


True or False.

Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/cwt HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:45463

Content-Length: 21


{

"active" : true

}


Sample PUT Response


Same as "GET response"


ClickToCallConfirmBeforeDial Resource

Table of Contents

The CLID resource provides a link to view the User/Location’s Calling Line ID Settings for outgoing calls.


The CLID for a User/Location may be inherited from the Site that their phone is on, it may be configured to a specific DID, or it may be set to Private. If it is a DID, the associated DID representation is embedded in this representation.


Supported Operations


GET


View Calling Line ID settings HEAD

Get just the header response PUT

Modify Calling Line ID settings


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin


GET, PUT


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


subscriberClidType


String


Indicates how the user/location’s CLID is determined: either

PRIVATE, inherited from phone Site, or statically assigned a specific DID.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


didId


Number


Indicates the ID of the DID which is used as CLID, only present when the 'subscriberClidType' value is 'DID'.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin

Link Relations


Relation

Description

Visibility


v1:dids


Retrieves a list of DIDs associated with this tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1options:subscriberClid Type


Provides a list of the options available for the CLID assignment.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


did


Represents the assigned DID when the user/ location’s SubscriberClid


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y



Name

Description

Visibility

Expandable


Type is DID. Only present

when the SubscriberClid Type is DID.




Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 808


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/clid"

},

"v1:dids" : {

"href" : "/api/v1/tenants/21375/dids{?expand,filter,assigned}", "templated" : true

},

"v1options:subscriberClidType" : {

"href" : "/api/v1/enums/subscriberclidtype"

}

},

"didId" : 3, "subscriberClidType" : "DID", "_embedded" : {

"did" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/dids/3"

}

},

"assigned" : false, "didId" : 3,

"phoneNumber" : "6132802000"

}

}

}

Modify Request


Use a PUT request to modify the properties of Calling Line ID settings.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.



Path

Type

Description

Permission

Constraints


subscriberClid Type


String


Indicates CLID type of the User or

Location. If this is not set to 'DID', then the 'didId' will be ignored if provided in request.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, possible values are 'Site', 'Private' and 'DID'.


didId


Number


Indicates using the specified DID as CLID of the User or Location. If provided, the value must be ID of a valid DID of the same tenant.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required only if the 'subscriberClidType' set to 'DID'.


Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/clid HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:45463

Content-Length: 49


{

"subscriberClidType" : "DID", "didId" : 3

}

Sample PUT Response


Same as "GET response"


CLID Condition Resource

Table of Contents

The CLID Condition resource provides detail information about a CLID Condition.


Supported Operations


GET


View CLID Condition Details HEAD

Get just the header response PUT

Modify a CLID Condition Details DELETE

Remove the CLID Condition


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE

TenantAdmin User


GET, PUT, DELETE

Non-admin User


GET, PUT, DELETE (only their own data)





Location


GET, PUT, DELETE (only their own data)


Resource Details

Properties


Path

Type

Description

Visibility


condId


Number


The identifier of CLID Condition.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


label


String


The label of CLID Condition.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


matchingType


String


The matching type of CLID Condition.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


digitPattern


String


The digit pattern is used for the CLID matching.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User

Link Relations


Relation

Description

Visibility


v1:extensions


List of extensions for the tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1options:clidMatchType


The available options for CLID matchingType.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 672


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],


"self" : {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/1001/clidconditions/1001"

},

"v1:extensions" : {

"href" : "/api/v1/tenants/21375/extensions{?expand,filter,extensionType,agent}", "templated" : true

},

"v1options:clidMatchType" : {

"href" : "/api/v1/enums/clidmatchtype"

}

},

"condId" : 1001,

"digitPattern" : "100", "label" : "Ext100", "matchingType" : "Extension"

}

Modify Request


Use a PUT request to modify the properties of a CLID Condition.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


label


String


The label of new CLID Condition.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Required. Max 50 chars.


matchingType


String


The matching type for the CLID Condition.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Required.


digitPattern


String


The digit pattern is used for CLID matching.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Required.

Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/scrrules/1001/clidconditions/1001 HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:38297 Content-Length: 93


{

"label" : "StartsWith-1800", "matchingType" : "StartsWith", "digitPattern" : "1800"

}


Sample PUT Response


Same as "GET response"


CLID Condition List Resource

Table of Contents

This relation returns a list of CLID Conditions configured for the specified SCR Rule.


Supported Operations


GET


View CLID Condition List HEAD

Get just the header response PUT

Replace the existing list with a new list content POST

Add a CLID Condition in the list


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, POST

Tenant-scoped Telco User


GET, PUT, POST



TenantAdmin User


GET, PUT, POST

Non-admin User


GET, PUT, POST (only their own data)

Location


GET, PUT, POST (only their own data)


List Details


The CLID Condition list resource provides a list of CLID Condition resources.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1options:clidMatchType


The available options for CLID matchingType.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


clidCondition


Each element of the list represents a single CLID Condition.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 982


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/1001/clidconditions"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/1001/clidconditions/{condId}", "templated" : true

} ],

"v1options:clidMatchType" : [ {

"href" : "/api/v1/enums/clidmatchtype"

} ]

},

"count" : { "clidCondition" : 1

},

"total" : { "clidCondition" : 1

},

"_embedded" : { "clidCondition" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/1001/clidconditions/1001"

}

},

"condId" : 1001,

"digitPattern" : "100", "label" : "Ext100", "matchingType" : "Extension"


} ]

}

}

POST Request


Use a POST request to add a new CLID Condition.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


label


String


The label of new CLID Condition.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Required. Max 50 chars.


None


matchingType


String


The matching type of the CLID Condition.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Required.


None.


digitPattern


String


The digit pattern is used for matching a CLID.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Required.


None.


POST Response


A successful POST returns a 201 (Created). A link to the newly added CLID Condition can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/tenants/21375/users/4332/scrrules/1001/clidconditions HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:38297 Content-Length: 93


{

"label" : "StartsWith-1800", "matchingType" : "StartsWith",


"digitPattern" : "1800"

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/users/4332/scrrules/1001/clidconditions/4

PUT Request


This CLID Condition list resource supports the use of PUT to replace the list. This request also supports adding/removing condition(s) at the same time.


PUT Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


clid Condition[]. condId


Number


Identifier of a CLID Condition. If it doesn’t present, a new CLID Condition is added into the list.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional.It must be a valid CLID Condition ID if presents


None


clid Condition[]. label


String


The label of CLID condition.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Reqquired. Max 50 chars.


None


clid Condition[]. matchingType


String


The matching type for the CLID Condition.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Requried.


None


clid Condition[]. digitPattern


String


The digit pattern is used for the CLID matching.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Required


None


PUT Response Properties


The response to a successful PUT request is the new resource representation, as defined in the GET Response.


Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/scrrules/1001/clidconditions HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:38297 Content-Length: 144


{

"clidCondition" : [ { "condId" : 1001, "label" : "New label",

"matchingType" : "StartsWith", "digitPattern" : "1888"

} ]

}

Sample PUT Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 987


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/1001/clidconditions"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/1001/clidconditions/{condId}", "templated" : true

} ],

"v1options:clidMatchType" : [ {

"href" : "/api/v1/enums/clidmatchtype"

} ]

},

"count" : { "clidCondition" : 1

},

"total" : { "clidCondition" : 1

},

"_embedded" : { "clidCondition" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/1001/clidconditions/1001"

}

},

"condId" : 1001,

"digitPattern" : "1888", "label" : "New label", "matchingType" : "StartsWith"

} ]

}

}


CustomAnnouncement File

Table of Contents

The DefaultBusinessHoursProfile resource describes the BusinessHoursProfile resource which has been configured as the tenant’s default.


The tenant may designate a specific Business Hours Profile to be their default. Once a profile is chosen to be the default, new resource associated with Time-of-Day functions, such as incoming call routing or outgoing call permissions, will be associated with this profile unless explcitly overridden.


The management of the default and all other aspects of Business Hours are manageable via API.


Supported Operations


GET


View the default Business Hours Profile for the tenant HEAD

Get just the header response PUT

Change the Business Hour Profile default


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT





TenantAdmin User


GET, PUT


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


businessHoursProfile Id


Number


Identifier for the default business hours.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


businessHoursProfile Name


String


The name of the business hours set. Read Only.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin

Link Relations


Relation

Description

Visibility


v1:businessHoursProfiles


Link to list of available business HoursProfile for the Tenant which can be set to default.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


businessHoursProfile


Current default business hours for the tenant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 710


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/defaultbusinesshours"

},

"v1:businessHoursProfiles" : {

"href" : "/api/v1/tenants/21375/businesshours{?expand,filter}", "templated" : true

}

},

"businessHoursProfileId" : 2, "businessHoursProfileName" : "Standard Business Hours", "_embedded" : {

"businessHoursProfile" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/businesshours/2"

}

},

"businessHoursProfileId" : 2, "businessHoursProfileName" : "Standard Business Hours"

}

}

}

Modify Request


Use a PUT request to add a new set of business hours.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.



Path

Type

Description

Permission

Constraints

Default

Value


businessHours ProfileId


Number


The identifier for the new business hours. Do not set.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Will be ignored if provided.

Assigned by the system.


None


PUT Response Properties


A successful PUT returns a 200 (OK) and the new default Business Hours.


Sample PUT Request

PUT /api/v1/tenants/21375/defaultbusinesshours HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:40873 Content-Length: 34


{

"businessHoursProfileId" : 2

}

Sample PUT Response


Same as "GET response"


Default System Announcement Resource

Table of Contents

The DefaultSystemAnnouncement resource describes current setting of a Announcement which is being set as the system’s default announcement. The default announcement of a system must be a System Announcement, not a Tenant Announcement.


Supported Operations


GET


View Default System Announcement Settings HEAD

Get just the header response PUT

Modify Default System Announcement Settings


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


announcementId


Number


Identifier for the Announcement which is currently set as Default System Announcement.


Telco(SystemManagement, TenantBasicOrAdvance Management)

Link Relations


Relation

Description

Visibility


v1:systemAnnouncements


Acceptable announcement values from System Announcement which can be set as Default System Announcement.


Telco(SystemManagement, Tenant BasicOrAdvanceManagement)

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


announcement


The announcement which is currently set as Default System Announcement.


Telco(SystemManagement, TenantBasicOrAdvance Management), Tenant Admin


y

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 564


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true


},

"self" : {

"href" : "/api/v1/defaultsystemannouncement"

},

"v1:systemAnnouncements" : {

"href" : "/api/v1/systemannouncements{?expand,filter}", "templated" : true

}

},

"announcementId" : 2, "_embedded" : {

"announcement" : { "_links" : {

"self" : {

"href" : "/api/v1/announcements/2"

}

},

"announcementId" : 2, "name" : "Comfort Tone"

}

}

}

Modify Request


Use a PUT request to modify the setting of DefaultSystemAnnouncement.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


announcementId


Number


The ID of the


Telco(System


Must be a



announcement set

Management)

valid system



as default. Only


announcement ID.



Telco User can make





change.



Sample PUT Request

PUT /api/v1/defaultsystemannouncement HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:34865

Content-Length: 26


{

"announcementId" : 2

}

Sample PUT Response


Same as "GET response"


DID Resource

Table of Contents

Each DID (aka Incoming Call Routing) resource provides the tenant’s routing configuration for a specific phone number.


Supported Operations


GET


View DID routing details HEAD

Get just the header response PUT

Modify DID Details DELETE

Remove the DID


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE

TenantAdmin User


GET, PUT


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


phoneNumber


String


The DID phone number.


Telco, TenantAdmin


didId


Number


The unique identifier for this DID.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


incomingName


String


A user-assigned identifier that can be applied to the DID.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


assigned


Boolean


True if Incoming Call Routing or Emergency Override routing has been configured for this DID.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


businessHoursFrom TenantDefault


Boolean


True if the Business Hours Profile associated with this DID is automatically inherited from the tenant’s default Business Hours.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


timezone


String


The timezone associated with the DID. 'DEFAULT' means using tenant default timezone. In conjunction with the Business Hours Profile, this affects the

time calls switch from one routing to another.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


openHoursExtension


String


The extension that the DID routes to during Open Hours (as defined in the

associated Business Hours Profile).


Telco(TenantBasicOr AdvanceManagement), TenantAdmin



Path

Type

Description

Visibility


closedHoursExtension


String


The extension that the DID routes to during Closed Hours.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


lunchHoursExtension


String


The extension that the DID routes to during Lunch Hours.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


specialHours Extension


String


The extension that the DID routes to during Special (or 'Other') Hours.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


Link Relations


Relation

Description

Visibility


v1:didBusinessHoursMgmt


Use this link to change the business hours associated with this Did.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


openHoursExtension


The extension that the DID routes to during Open Hours. This section is only

present if the extension is a User or Location extension.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


closedHoursExtension


The extension that the DID routes to during Closed Hours. This section is only present if the extension is a User or Location extension.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


lunchHoursExtension


The extension that the DID routes to during Lunch Hours. This section is only present if the extension is a User or Location extension.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y



Name

Description

Visibility

Expandable


specialHours Extension


The extension that the DID routes to during Special Hours. This section is only present if the extension is a User or Location extension.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


emergencyOverride


Defines the Emergency Override configuration for the DID, and indicates whether it is active.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


businessHoursProfile


Identifies the Business HoursProfile associated with the DID.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 2466


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/dids/3"

},

"v1:didBusinessHoursMgmt" : {

"href" : "/api/v1/tenants/21375/dids/3/businesshourmgmt"

}

},

"assigned" : false, "businessHoursFromTenantDefault" : false, "closedHoursExtension" : "4332",

"didId" : 3,

"incomingName" : "Main Number", "lunchHoursExtension" : "4332",

"openHoursExtension" : "4332",

"phoneNumber" : "6132802000",

"specialHoursExtension" : "4332", "timezone" : "America/New_York", "_embedded" : {

"businessHoursProfile" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/businesshours/2"

}

},

"businessHoursProfileId" : 2, "businessHoursProfileName" : "Standard Business Hours"

},

"emergencyOverride" : { "_links" : {

"self" : {


"href" : "/api/v1/tenants/21375/dids/3/emergencyoverride"

}

},

"active" : true,

"name" : "Emergency Number", "number" : "16132802000"

},

"lunchHoursExtension" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/extensions/4332"

}

},

"accountId" : "4332@21375", "enabled" : true, "extension" : "4332", "extensionType" : "userExt", "name" : "Smith, Dave"

},

"specialHoursExtension" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/extensions/4332"

}

},

"accountId" : "4332@21375", "enabled" : true, "extension" : "4332", "extensionType" : "userExt", "name" : "Smith, Dave"

},

"closedHoursExtension" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/extensions/4332"

}

},

"accountId" : "4332@21375", "enabled" : true, "extension" : "4332", "extensionType" : "userExt", "name" : "Smith, Dave"

},

"openHoursExtension" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/extensions/4332"

}

},

"accountId" : "4332@21375", "enabled" : true, "extension" : "4332", "extensionType" : "userExt", "name" : "Smith, Dave"

}

}

}

Modify Request


Use a PUT request to modify the properties of a DID.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


phoneNumber


String


The phone number of the DID. Only Telco User can make change.


Telco(Tenant Advance Management)


Must be a valid phone number and must be unique across the system.


timezone


String


The timezone of the DID. Only Telco User can make change.


Telco(TenantBasic Management)


Must be a valid timezone name, or 'DEFAULT' means using tenant default timezone.


incomingName


String


The name of the DID.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Max 50 Chars.


openHours Extension


String


The extension will be routed to when

DID get called during open hours.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, if provided, must be a valid extension of User, Location, CallGroup, AutoAttendant or ACD, and cannot be a disabled extension.


lunchHours Extension


String


The extension will be routed to when

DID get called during lunch hours.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, if provided, must be a valid extension of User, Location, CallGroup, AutoAttendant or ACD, and cannot be a disabled extension.


closedHours Extension


String


The extension will be routed to when

DID get called during closed hours.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, if provided, must be a valid extension of User, Location, CallGroup, AutoAttendant or ACD, and cannot be a disabled extension.



Path

Type

Description

Permission

Constraints


specialHours Extension


String


The extension will be routed to when

DID get called during special hours.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, if provided, must be a valid extension of User, Location, CallGroup, AutoAttendant or ACD, and cannot be a disabled extension.


Sample PUT Request

PUT /api/v1/tenants/21375/dids/3 HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:34413

Content-Length: 285


{

"phoneNumber" : "6132802000", "incomingName" : "Main Number", "timezone" : "America/New_York", "businessHoursFromTenantDefault" : false, "openHoursExtension" : "4332",

"lunchHoursExtension" : "4332",

"closedHoursExtension" : "4332",

"specialHoursExtension" : "4332"

}

Sample PUT Response


Same as "GET response"


DID List Resource

Table of Contents

Routed to an Extension



Supported Operations


GET


View DID list HEAD

Get just the header response POST


Add new DID


Permitted Authorities (as defined in API Guide)


Telco User


GET, POST

TenantAdmin User


GET

List Details


The DID list resource provides a list of DID resources in summarized form.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support


assigned


Use this parameter to request a list of either assigned or unassigned DIDs: 'true' for assigned, or 'false' for unassigned. This parameter have higher priority than filter parameter.


Optional. 'true' or 'false'.


routedTo


Use this parameter to request a list of DIDs which all openHoursExtension, lunchHoursExtension, closeHours Extension and otherHoursExtension routed to the specified extension;

if provided the assigned parameter will be ignored. This parameter have higher priority than filter parameter.


Optional. The value should be a routable extension.


Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


did


Each element of the dids list represents a single did, providing the phone number and indicating whether the DID has configured routing.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin


y


Sample GET Request


This sample request demonstrates the usage of the optional ?assigned query parameter to filter the response to include only those DIDs which are assigned.


GET /api/v1/tenants/21375/dids?assigned=true HTTP/1.1 Host: localhost:34413

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 626


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/dids?assigned=true"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/dids/{didId}", "templated" : true


} ]

},

"count" : {

"did" : 1

},

"total" : {

"did" : 1

},

"_embedded" : {

"did" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/dids/3"

}

},

"assigned" : true, "didId" : 3,

"phoneNumber" : "6132802000"

} ]

}

}

Modify List Request


Use a POST request to add a new DID.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


phoneNumber


String


The phone


Telco(Tenant


Required. Must


None



number of the

BasicAnd

be valid phone




DID.

Advance

number and must





Management)

be unique across






the system.



timezone


String


The timezone of


Telco(Tenant


Required. Must


None



the DID.

BasicAnd

be valid timezone





Advance

name or 'DEF





Management)

AULT'(will use






tenant default






timezone).




Path

Type

Description

Permission

Constraints

Default

Value


incomingName


String


The name of the DID.


Telco(Tenant BasicAnd Advance Management)


Required. Max 50 chars


None


POST Response


A successful POST returns a 201 (Created). A link to the newly added DID can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/tenants/21375/dids HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:34413

Content-Length: 147


{

"phoneNumber" : "6132802000", "incomingName" : "Main Number", "timezone" : "America/New_York", "businessHoursFromTenantDefault" : false

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/dids/41


DidBusinessHours Resource

Table of Contents

This resource allows the relationship between the DID and its Business Hour Profile to be managed.


Supported Operations


GET


View a the relationship between the DID and its Business Hour Profile. HEAD

Get just the header response PUT

Update the Business Hour Profile associated with the DID. That is the profile can be changed to another existing profile.


DELETE


Removes the Business Hour Profile associated with the DID. Following the delete, the tenant’s default Business Hour Profile will be used for the DID.


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE

TenantAdmin User






GET, PUT, DELETE


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


businessHoursProfile Id


Number


Identifier of the business hours profile.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


didId


Number


Identifier for the DID.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin

Link Relations


Relation

Description

Visibility


v1:businessHoursProfiles


Link to list of available business HoursProfile for the Tenant which can be assigned to the DID.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


did


Information about the DID.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y



Name

Description

Visibility

Expandable


businessHoursProfile


Information about the business hours.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 873


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/didbusinesshours/3"

},

"v1:businessHoursProfiles" : {

"href" : "/api/v1/tenants/21375/businesshours{?expand,filter}", "templated" : true

}

},

"businessHoursProfileId" : 2,

"didId" : 3,

"_embedded" : { "businessHoursProfile" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/businesshours/2"

}

},

"businessHoursProfileId" : 2, "businessHoursProfileName" : "Standard Business Hours"

},

"did" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/dids/3"

}

},

"assigned" : false, "didId" : 3,

"phoneNumber" : "6132802000"

}

}

}

PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.




Path

Type

Description

Permission

Constraints

Default

Value


businessHours ProfileId


Number


The identifier for the new business hours.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Must be the identifier of an existing business hour profile.


The value of current setting before update. When tenant DID creation, the value is None


PUT Response Properties


A successful PUT returns a 200 (OK) and the updated Did Business Hour Profile relationship.


Sample PUT Request

PUT /api/v1/tenants/21375/didbusinesshours/3 HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:40873 Content-Length: 34


{

"businessHoursProfileId" : 2

}

Sample PUT Response


Same as "GET response"


DidBusinessHoursMgmt Resource

Table of Contents

This resource shows the Business Hour Profile associated with the DID.


Supported Operations


GET


View a single Business Hour Profile for Tenant HEAD

Get just the header response POST

Add an existing Business Hour Profile to the DID. The DID must currently be using the default profile.


Permitted Authorities (as defined in API Guide)


Telco User


GET, POST

TenantAdmin User


GET, POST


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1:businessHoursProfiles


Link to list of available business HoursProfile for the Tenant which can be assigned to the DID.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


didBusinessHours


The business hours for the DID.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 778


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}",


"name" : "v1", "templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/dids/3/businesshourmgmt"

},

"v1:businessHoursProfiles" : [ {

"href" : "/api/v1/tenants/21375/businesshours{?expand,filter}", "templated" : true

} ],

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/didbusinesshours/3"

} ]

},

"count" : { "didBusinessHours" : 1

},

"total" : { "didBusinessHours" : 1

},

"_embedded" : { "didBusinessHours" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/didbusinesshours/3"

}

},

"businessHoursProfileId" : 2,

"didId" : 3

} ]

}

}

POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


businessHours ProfileId


Number


The business hours profile identifier.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Profile must exist and the DID must not

have an assigned business hours.


None


POST Response Properties


A successful POST returns a 201 (created) and the added Business Hour Profile


Sample POST Request

POST /api/v1/tenants/21375/dids/3/businesshourmgmt HTTP/1.1 Content-Type: application/json; charset=UTF-8


Host: localhost:34413 Content-Length: 34


{

"businessHoursProfileId" : 2

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/didbusinesshours/3


DND Resource

Table of Contents

Each DynamicSite resource describes an existing User Dynamic Site. Dynamic Site resources are transiently created by individual users as required, and deleted after a period of inactivity.


This resource should not be confused with the User’s Dynamic Site Settings resource, which specifies the preferences that the system should use when creating a new Dynamic Site for the User.


Supported Operations


GET


View Dynamic Site Details HEAD

Get just the header response


Permitted Authorities (as defined in API Guide)


Telco User


GET

TenantAdmin User


GET

User


GET


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


ipAddress


String


IP Address of the Dynamic Site.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin, User


callingLineIdNumber


String


The CLID used for outgoing calls initiated from this Dynamic Site.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin


siteId


Number


The unique identifier for this Dynamic Site.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin, User


siteName


String


The name of the Dynamic Site, auto-generated by the system to reflect the identity of the user who owns the site.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin, User


maxCallCount


Number


The maximum number of simultaneous calls that the user can establish from this Dynamic Site.


Telco, TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.



Name

Description

Visibility

Expandable


user


Representation of the user that created the Dynamic Site.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin


y


businessHoursProfile


Describes the Business Hours used for this site. Each site is associated with Business Hours.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin


y


zone


Describes the zone associated with this site.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management)


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1047


{

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/dynamicsites/44"

}

},

"callingLineIdNumber" : "6132802000",

"ipAddress" : "10.150.155.1",

"maxCallCount" : 0,

"siteId" : 44,

"siteName" : "DS4332: Dynamic Site for user 4332", "_embedded" : {

"businessHoursProfile" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/businesshours/2"

}

},

"businessHoursProfileId" : 2, "businessHoursProfileName" : "Standard Business Hours"

},

"zone" : {

"_links" : {

"self" : {

"href" : "/api/v1/zones/3"

}

},

"timezone" : "Canada/Eastern", "zoneId" : 3,

"zoneName" : "Standard Zone"

},

"user" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332"

}

},

"accountId" : "4332@21375", "deleting" : false,


"extension" : "4332",

"firstName" : "Dave",

"lastName" : "Smith", "subscriberId" : 156

}

}

}


DynamicSites List Resource

Table of Contents

This relation returns a list of existing Dynamic Sites in the tenant. The elements of the list will be added and removed as Dynamic Sites are created by users and subsequently expire.


Supported Operations


GET


View Dynamic Site List HEAD

Get just the header response


Permitted Authorities (as defined in API Guide)


Telco User


GET

TenantAdmin User


GET

List Details


The DynamicSite list resource provides a list of Dynamic Site resources in summarized form.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


dynamicSite


Each element of the dynamicSite array represents a single user dynamic site resource, and provides the site’s name.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 660


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/dynamicsites"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/dynamicsites/{siteId}", "templated" : true

} ]

},

"count" : { "dynamicSite" : 1

},

"total" : { "dynamicSite" : 1

},

"_embedded" : {

"dynamicSite" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/dynamicsites/44"

}

},

"siteId" : 44,

"siteName" : "DS4332: Dynamic Site for user 4332"

} ]

}

}

Modify List Request


This list does not support element creation.


DynamicSiteSettings Resource

Table of Contents

The DynamicSiteSettings resource provides the ability to manage the User’s Dynamic Site Settings.


The purpose of this resource is to represent the default settings that the system will use when creating a new Dynamic Site for this user. This resource does not indicate whether the User currently has a Dynamic Site, nor does it reflect the configuration that an existing Dynamic Site might have.


If Dynamic Site permission has not been enabled for this user, querying this resource will return a 404 Error Response with an application error code of FeatureNotEnabled. PUT request can be used to enable and configure the Dynamic Site Settings.


DELETE is supported for disabling and remove dynamic site settings.


Supported Operations


GET


View Dynamic Site Settings HEAD

Get just the header response PUT

Enable and configure Dynamic Site Settings DELETE


Disable and remove Dynamic Site Settings


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE

TenantAdmin


GET

Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


clid


String


The CLID (Calling Line Id) used for calls made from the user’s Dynamic Site phone.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


maxCallCount


Number


The maximum number of concurrent calls this user is permitted to have on their Dynamic Site.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


defaultZoneId


Number


The ID of the default Zone will be used when creating the dynamic site.


Telco(TenantBasicOr AdvanceManagement)

Link Relations


Relation

Description

Visibility


v1:dids


Link to get a list of available DIDs of the tenant.


Telco(TenantBasicOrAdvance Management)



Relation

Description

Visibility


v1:zones


Link to get a list of available Zones of the system.


Telco(TenantBasicOrAdvance Management)


Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


dynamicSite


If the user currently has an active Dynamic Site, the relation is included in the Dynamic Site settings query payload.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


defaultZone


The default zone used for calls from the user’s Dynamic Site.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 968


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/dynamicsitesettings"

},

"v1:dids" : {

"href" : "/api/v1/tenants/21375/dids{?expand,filter,assigned}", "templated" : true

},

"v1:zones" : {

"href" : "/api/v1/zones{?expand,filter}", "templated" : true

}

},

"clid" : "6132802000",

"defaultZoneId" : 3,

"maxCallCount" : 4, "_embedded" : {

"dynamicSite" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/dynamicsites/44"

}

},

"siteId" : 44,

"siteName" : "DS4332: Dynamic Site for user 4332"


},

"defaultZone" : { "_links" : {

"self" : {

"href" : "/api/v1/zones/3"

}

},

"timezone" : "Canada/Eastern", "zoneId" : 3,

"zoneName" : "Standard Zone"

}

}

}

Modify Request


Use a PUT request to enable and modify user dynamic site settings.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


clid


String


The CLID (Calling


Telco(Tenant


Required when



Line Id) used for calls

BasicOrAdvance

initialize(enable)



made from the user’s

Management)

the dynamic site



Dynamic Site phone.


settings, Optional





when modifying





exist settings. When





provided, must be a





valid DID number.


maxCallCount


Number


The maximum


Telco(Tenant


Required when



number of concurrent

BasicOrAdvance

initialize(enable)



calls this user is

Management)

the dynamic site



permitted to have on


settings, Optional



their Dynamic Site.


when modifying





exist settings. When





provided, must be a





number greater than





0.


defaultZoneId


Number


The ID of the default


Telco(Tenant


Required when



Zone will be used

BasicOrAdvance

initialize(enable)



when creating the

Management)

the dynamic site



dynamic site.


settings, Optional





when modifying





exist settings. When





provided, must be





a valid zoneId of a





Zone in system.

Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/dynamicsitesettings HTTP/1.1


Content-Type: application/json; charset=UTF-8 Host: localhost:45463

Content-Length: 72


{

"clid" : "6132802000",

"maxCallCount" : 0,

"defaultZoneId" : 3

}

Sample PUT Response


Same as "GET response"


E.164 Calls Display Resource

Table of Contents

The EmergencyOverride Resource describes the telephone number that calls to the DID are sent to when the override is activated.


Supported Operations


GET


View Emergency Override configuration for the DID HEAD

Get just the header response PUT

Modify Emergency Override configuration for the DID


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin User


GET, PUT


Resource Details

Properties


Path

Type

Description

Visibility


active


Boolean


Indicates whether the Emergency Override routing for this DID is active.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


number


String


The target number for the Emergency Override

routing. May be an internal or external number. Must contain only digits, *, # or


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


name


String


A user-provided name for the override target number.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 185


{

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/dids/3/emergencyoverride"

}

},

"active" : true,

"name" : "Emergency Number", "number" : "16132802000"

}

Modify Request


Use a PUT request to modify the properties of Emergency Override configuration for the DID.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.




Path

Type

Description

Permission

Constraints

Default

Value


active


Boolean


If true will enable the emergency override of the DID.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, true or false.


n/a, if not provided will not change current setting value.


number


String


The number or extension will be routed to when DID get called when emergency override enabled.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional when active=false, mandatory when active=true; when provided, must be a valid extension of User, Location, CallGroup, Auto Attendant, ACD or a valid dialable number.


n/a, if not provided will not change current setting value.


name


String


If number is set to a dialable number not a extension, a name could be provided for the number.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, Max 50 Char.


n/a, if not provided will not change current setting value.


Sample PUT Request

PUT /api/v1/tenants/21375/dids/3/emergencyoverride HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:34413 Content-Length: 80


{

"active" : true,

"number" : "16132802000",

"name" : "Emergency Number"

}

Sample PUT Response


Same as "GET response"


EveningGreeting File

Table of Contents

The extension resource indicates the extension type, the naming property of the underlying resource (User, Location, etc), and the accountId for the extension which can be used in subsequent requests to manage calls or subscriptions using the API.


Supported Operations


GET


View Extension Details HEAD

Get just the header response


Permitted Authorities (as defined in API Guide)


Telco User


GET

TenantAdmin User


GET

User


GET

Location


GET


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


accountId


String


The Extension’s Account Identifier, required for subscribing to events and managing calls through the API.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


enabled


Boolean


Indicates whether the extension is currently Enabled (Active). Calls to Disabled (Inactive) extensions will fail.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


extension


String


The extension. Extensions are necessarily unique within a tenant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


extensionType


String


This property indicates the underlying type of the extension.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


name


String


The (Display) Name associated with the extension. For a user, this is in the format "last, first"; for all others it is their name value


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User

Link Relations


Relation

Description

Visibility


v1:user


If the extension’s underlying type is a user, this link is provided to point to the User resource.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User



Relation

Description

Visibility


v1:location


If the extension’s underlying type is a location, this link is provided to point to the Location resource.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:acd


If the extension’s underlying type is a ACD, this link is provided to point to the ACD resource.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:callGroup


If the extension’s underlying type is a call group, this link is provided to point to the CallGroup resource.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:autoAttendant


If the extension’s underlying type is a auto attendant, this link is provided to point to the AutoAttendant resource.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1options:extensionType


List of valid values for the extension type.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


user


Present only if the underlying resource is a User. Provides basic

information about the user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


location


Present only if the underlying resource is a Location. Provides basic information about the location.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


acd


Present only if the underlying resource is a ACD. Provides basic

information about the ACD.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y



Name

Description

Visibility

Expandable


callGroup


Present only if the underlying resource is a CallGroup. Provides basic information about the call group.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


autoAttendant


Present only if the underlying resource is a AutoAttendant. Provides basic information about the auto attendant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 933


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/extensions/4332"

},

"v1:user" : {

"href" : "/api/v1/tenants/21375/users/4332"

},

"v1options:extensionType" : {

"href" : "/api/v1/enums/extensiontype"

}

},

"accountId" : "4332@21375", "enabled" : true, "extension" : "4332", "extensionType" : "userExt", "name" : "Smith, Dave", "_embedded" : {

"user" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332"

}

},

"accountId" : "4332@21375", "deleting" : false, "extension" : "4332",

"firstName" : "Dave",

"lastName" : "Smith", "subscriberId" : 156

}

}

}


Extensions List Resource

Table of Contents

This relation returns a list of consumed extensions in the tenant, grouped by extension type. This resource is designed to include only publicly-visible properties of an extension, making it suitable as a resource which is capable of providing pick-lists of extension targets or a corporate directory service.


The response representation is divided into arrays of extensions by type.


Each element in each list includes a property that indicates whether the extension is enabled or disabled. Calls to disabled extensions will be routed to treatment (rather than to the extension) so the caller will hear a fast-busy signal. Accordingly, clients should prevent their end user from choosing disabled extensions as a call target.


At this time, it reports only User and Location and Call Group extensions but as support is added generally to the API for other extension types, the Extensions List will be augmented to include those types as well.


Supported Operations


GET


View Extension List HEAD

Get just the header response


Permitted Authorities (as defined in API Guide)


Telco User


GET

TenantAdmin User






GET

User


GET

Location


GET


List Details


The Extensions list resource provides a list of Extension resources.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support


agent


When true, the response returns

a list of extensions containing only Users and Locations that are also Call Group Agents. When false, only Users and Locations that are not Call Group Agents are returned. When not provided, Call Group extensions are included if extensionType is not provided or is equal to groupExt.


Optional. True or false.


extensionType


Can be used to filter the query response to include only extensions of the specified types: userExt, locationExt, acdExt, groupExt or autoAttendantExt. Use comma(',') as delimiter when more than one types specified. When not provided, the response includes all types of extensions.


Optional. See the list of supported extension types at the


v1options:extensionType

link.


Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1options:extensionType


Provides a list of supported extension types.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support


agent


When true, the response returns

a list of extensions containing only Users and Locations that are also Call Group Agents. When false, only Users and Locations that are not Call Group Agents are returned. When not provided, Call Group extensions are included if extensionType is not provided or is equal to groupExt.


Optional. True or false.


extensionType


Can be used to filter the query response to include only extensions of the specified types: userExt, locationExt, acdExt, groupExt or autoAttendantExt. Use comma(',') as delimiter when more than one types specified. When not provided, the response includes all types of extensions.


Optional. See the list of supported extension types at the


v1options:extensionType

link.


Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


locationExt


Each element of the locationExt array represents a Location Extension.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


userExt


Each element of the userExt array represents a User Extension.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


acdExt


Each element of the acdExt array represents a ACD Extension.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


groupExt


Each element of the groupExt array represents a Call Group Extension.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


autoAttendantExt


Each element of the autoAttendantExt array represents a Auto Attendant Extension.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 2320


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/extensions"


},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/extensions/{extension}", "templated" : true

} ],

"v1options:extensionType" : [ {

"href" : "/api/v1/enums/extensiontype"

} ]

},

"count" : { "locationExt" : 1,

"acdExt" : 1,

"autoAttendantExt" : 1,

"userExt" : 1,

"groupExt" : 1

},

"total" : { "locationExt" : 1,

"acdExt" : 1,

"autoAttendantExt" : 1,

"userExt" : 1,

"groupExt" : 1

},

"_embedded" : {

"locationExt" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/extensions/3235"

}

},

"accountId" : "3235@21375", "enabled" : true, "extension" : "3235",

"extensionType" : "locationExt", "name" : "Kitchen"

} ],

"userExt" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/extensions/4332"

}

},

"accountId" : "4332@21375", "enabled" : true, "extension" : "4332", "extensionType" : "userExt", "name" : "Smith, Dave"

} ],

"groupExt" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/extensions/6001"

}

},

"accountId" : "6001@21375", "enabled" : true, "extension" : "6001",

"extensionType" : "groupExt",

"name" : "Moose Call Horn Sales Team"

} ],

"acdExt" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/extensions/5001"

}

},

"accountId" : "5001@21375", "enabled" : true, "extension" : "5001", "extensionType" : "acdExt",


"name" : "Sales ACD"

} ],

"autoAttendantExt" : [ { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/extensions/7001"

}

},

"accountId" : "7001@21375", "enabled" : true, "extension" : "7001",

"extensionType" : "autoAttendantExt", "name" : "Support Auto Attendant"

} ]

}

}

Modify List Request


This resource does not support element creation.


ExternalContact Resource

Table of Contents

The ExternalContact resource provides information about a specific External Contact(Company Speed Dial).


Supported Operations


GET


View ExternalContact Details HEAD

Get just the header response PUT

Modify ExternalContact Details DELETE

Remove the ExternalContact


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE

TenantAdmin User


GET, PUT, DELETE

Non-admin User


GET





Location


GET


Resource Details

Properties


Path

Type

Description

Visibility


name


String


The name of the External Contact. Read Only for non TenantAdmin user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


phoneNumber


String


The phone number of the ExternalContact.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


email


String


The email of the External Contact.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


externalContactId


Number


Identifier for the External Contact. Read Only, system assigned.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 229


{

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/externalcontacts/24"

}

},

"email" : "[email protected]", "externalContactId" : 24,

"name" : "Office Supply", "phoneNumber" : "18002226666"

}

Modify Request


Use a PUT request to modify the properties of an ExternalContact.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


name


String


The name of the ExternalContact. Only Telco User and TenantAdmin User can make change.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Max 50 chars.


phoneNumber


String


The phone number of the ExternalContact. Only Telco User and TenantAdmin User can make change.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Must be a valid dialable number.


email


String


The eamil of the ExternalContact. Only Telco User and TenantAdmin User can make change.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Must be a valid email address.

Sample PUT Request

PUT /api/v1/tenants/21375/externalcontacts/24 HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:44647 Content-Length: 101


{

"name" : "Office Supply", "phoneNumber" : "18002226666", "email" : "[email protected]"

}

Sample PUT Response


Same as "GET response"


ExternalContact List Resource

Table of Contents

This relation returns a list of configured ExternalContacts for the tenant.


Supported Operations


GET


View list of ExternalContacts HEAD

Get just the header response POST

Add new ExternalContact


Permitted Authorities (as defined in API Guide)


Telco User


GET, POST

TenantAdmin User


GET, POST

Non-admin User


GET

Location






GET


List Details


The ExternalContact list resource provides a list of ExternalContact resources in summarized form.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).




Name

Description

Visibility

Expandable


externalContact


Each element of the ExternalContact list represents a single ExternalContact, and indicates the External Contact externalContactId and name.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 681


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/externalcontacts"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/externalcontacts/{externalContactId}", "templated" : true

} ]

},

"count" : { "externalContact" : 1

},

"total" : { "externalContact" : 1

},

"_embedded" : { "externalContact" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/externalcontacts/24"

}

},

"externalContactId" : 24, "name" : "Office Supply"

} ]

}

}

Modify List Request


Use a POST request to add a new ExternalContact.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.



The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


name


String


The name of the ExternalContact.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required. Max 40 chars.


None


phoneNumber


String


The phone number of the ExternalContact.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required. Must be a dialable phone number. Length must be between 7 and

20 digits.


None


email


String


The email of the ExternalContact.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. If specified, it must be a valid email address.


None


A successful POST returns a 201 (Created). A link to the newly added ExternalContact can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/tenants/21375/externalcontacts HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:44647 Content-Length: 101


{

"name" : "Office Supply", "phoneNumber" : "18002226666", "email" : "[email protected]"

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/externalcontacts/24


Features Resource

Table of Contents

The Features resource contains a summary of the state of the User/Location’s service and calling features.


Features which must be explicitly enabled on a per-user basis (such as Outgoing Call Privacy or Twinning) are present in the _embedded section of the response only when they have been enabled for the user/location. Link relations to these permissionable features are also provided; if the feature has not been enabled then the response to a query on that resource will return an HTTP response of 404 with an application error code of "FeatureNotEnabled".


Supported Operations


GET


View Features HEAD

Get just the header response


Permitted Authorities (as defined in API Guide)


Telco User


GET

TenantAdmin


GET

User


GET (self only)

Location






GET (self only)


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Link Relations


Relation

Description

Visibility


v1:outgoingCallPrivacy


Provides the ability to view the status of the user/location’s Outgoing Call Privacy feature.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:twinning


Provides the ability to view the status of the user/location’s Twinning feature.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:manageOutgoingCall Privacy


This relation is being replaced by the "v1:outgoingCallPrivacy" relation, and will be removed in a future release.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:manageTwinning


This relation is being replaced by the "v1:twinning" relation, and will be removed in a future release.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:scrRules


Selective call routing rules management.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Embedded Representations


Name

Description

Visibility

Expandable


callForwardNoAnswer


This resource describes how unanswered calls to the user/location are to be handled. It replaces the call Coverage resource.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y



Name

Description

Visibility

Expandable


callCoverage


This resource is being replaced by the callForward NoAnswer resource, and will be removed in a future release. New development should prefer that resource over this one.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


Describes the user/ location’s Call Coverage service.



handsfreeAnswerback


Indicates whether this feature is currently active for this user/location.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


n


callPrivacy


Indicates whether the Outgoing Call Privacy feature is currently active for this user/location.

This representation is only present in the query response when Outgoing Call Privacy is enabled for the user/location.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


n


dnd


Indicates whether the Do Not Disturb feature is currently active for this user/location.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


n


callWaitingTone


Indicates whether the Call Waiting Tone feature is currently active for this user/location.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


n


callForwarding


Describes the user/ location’s current Call Forwarding feature state: whether it is active and if so indicates the Forwarding target.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


twinning


Describes the user’s current Twinning feature state: whether it is active, and if so indicates the Twinning target. This representation is only


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y



Name

Description

Visibility

Expandable


present in the query

response when Twinning is enabled for the user.




loginACD


Describes the user’s current login ACD state: whether it is active, and if so indicates the user signed in ACD.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


n


clickToCallConfirm BeforeDial


Indicates whether the Click ToCallConfirmBeforeDial feature is currently active for this user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


n


e164CallsDisplay


Indicates if E.164 Calls Display is enabled.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


n


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 3101


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/features"

},

"v1:manageOutgoingCallPrivacy" : {

"href" : "/api/v1/tenants/21375/users/4332/callprivacy"

},

"v1:manageTwinning" : {

"href" : "/api/v1/tenants/21375/users/4332/twinning"

},

"v1:outgoingCallPrivacy" : {

"href" : "/api/v1/tenants/21375/users/4332/callprivacy"

},

"v1:scrRules" : {

"href" : "/api/v1/tenants/21375/users/4332/scrrules{?expand,filter}", "templated" : true

},

"v1:twinning" : {

"href" : "/api/v1/tenants/21375/users/4332/twinning"

}

},

"_embedded" : {

"twinning" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/twinning"


}

},

"active" : true, "groupTwinningActive" : false, "maxSimultaneousCalls" : 2,

"targetNumber" : "6135554343"

},

"e164CallsDisplay" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/e164callsdisplay"

}

},

"active" : false

},

"handsfreeAnswerback" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/handsfree"

}

},

"active" : false

},

"callForwarding" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/callforward"

}

},

"active" : true, "callForwardTargetType" : "coworker", "targetNumber" : "3235"

},

"loginACD" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/loginacd"

}

},

"active" : false

},

"callForwardNoAnswer" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/callfwdnoanswers/4332"

}

},

"callTarget" : "4332", "callTargetType" : "SubscriberVM", "numberOfRings" : 5

},

"callPrivacy" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/callprivacy"

}

},

"active" : true

},

"callWaitingTone" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/cwt"

}

},

"active" : false

},

"dnd" : {

"_links" : {

"self" : {


"href" : "/api/v1/tenants/21375/users/4332/dnd"

}

},

"active" : false

},

"callCoverage" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/coverage"

}

},

"numberOfRings" : 5,

"targetNumber" : "3235"

},

"clickToCallConfirmBeforeDial" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/clicktocallconfirmbeforedial"

}

},

"active" : false

}

}

}


FeatureSettings Embedded

Table of Contents

The LocationFeatureSettings resource contains the Location call feature settings that are typically enabled/disabled by an administrator.


Supported Operations


GET


View location Feature Settings HEAD

Get just the header response PUT

Modify location Feature Settings


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin


GET, PUT


Resource Details

Properties


Path

Type

Description

Visibility


allowOutgoingCall Privacy


Boolean


Indicates whether the subscriber is allowed to configure Outgoing Call Privacy.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


autoEmergencyCall


Boolean


Indicates whether the subscriber is selected for Automatic Off-Hook Emergency Call.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


selectiveCallRouting


Boolean


Indicates whether the subscriber is allowed to configure Selective Call Routing.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


enableVoiceMail


Boolean


Indicates whether the voice mail is enabled for the subscriber.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


autoRingdownNumber


String


Indicates whether the location is configured with Automatic Ringdown number. This is only available to a Location.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 280


{

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/locations/3235/featuresettings"

}

},

"allowOutgoingCallPrivacy" : true, "autoEmergencyCall" : true, "autoRingdownNumber" : "9876543210", "enableVoiceMail" : true, "selectiveCallRouting" : true

}

Modify Request


Use a PUT request to modify the properties of LocationFeatureSettings.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.



Path

Type

Description

Permission

Constraints

Default

Value


allowOutgoing CallPrivacy


Boolean


Indicates whether the subscriber

is allowed to configure

Outgoing Call Privacy.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, True or False.


If not provided, will keep current setting unchanged.


autoEmergency Call


Boolean


Indicates whether the subscriber

is enabled to Automatic Off-Hook Emergency Call.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, True or False.


If not provided, will keep current setting unchanged.


selectiveCall Routing


Boolean


Indicates whether the subscriber

is allowed to configure

Selective Call Routing.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, True or False.


If not provided, will keep current setting unchanged.


enableVoice Mail


Boolean


Indicates whether voice mail is enabled for the subscriber.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, True or False.


If not provided, will keep current setting unchanged.


autoRingdown Number


String


This is used for configuring Automatic Ringdown number for Location.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. Automatic Ringdown is inactive when number is an empty string.


If not provided, will keep current setting unchanged.


Sample PUT Request

PUT /api/v1/tenants/21375/locations/3235/featuresettings HTTP/1.1 Content-Type: application/json; charset=UTF-8


Host: localhost:35441 Content-Length: 169


{

"allowOutgoingCallPrivacy" : true, "enableVoiceMail" : true, "selectiveCallRouting" : true, "autoEmergencyCall" : true, "autoRingdownNumber" : "5556667777"

}

Sample PUT Response


Same as "GET response"


UserFeatureSettings Resource

Table of Contents

The UserFeatureSettings resource contains the User call feature settings that are typically enabled/disabled by an administrator.


Supported Operations


GET


View user Feature Settings HEAD

Get just the header response PUT

Modify user Feature Settings


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin


GET, PUT


Resource Details

Properties


Path

Type

Description

Visibility


enableCallRecording


Boolean


Indicates whether the subscriber’s call recording is enabled. If true, outbound call will be routed through a CR platform.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


allowOutgoingCall Privacy


Boolean


Indicates whether the subscriber is allowed to configure Outgoing Call Privacy.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


autoEmergencyCall


Boolean


Indicates whether the subscriber is selected for Automatic Off-Hook Emergency Call.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


selectiveCallRouting


Boolean


Indicates whether the subscriber is allowed to configure Selective Call Routing.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


enableVoiceMail


Boolean


Indicates whether the voice mail is enabled for the subscriber.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


twinning


Boolean


Indicates whether the user is allowed to configure Twinning.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 291


{

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/featuresettings"

}

},

"allowOutgoingCallPrivacy" : true, "autoEmergencyCall" : true, "enableCallRecording" : false, "enableVoiceMail" : true, "selectiveCallRouting" : true, "twinning" : true

}


Modify Request


Use a PUT request to modify the properties of UserFeatureSettings.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.



Path

Type

Description

Permission

Constraints

Default

Value


enableCall Recording


Boolean


Indicates whether the subscriber’s outbound call is routed through

a call recording platform.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, True or False.


If not provided, will keep current setting unchanged.


allowOutgoing CallPrivacy


Boolean


Indicates whether the subscriber

is allowed to configure

Outgoing Call Privacy.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, True or False.


If not provided, will keep current setting unchanged.


autoEmergency Call


Boolean


Indicates whether the subscriber

is enabled to Automatic Off-Hook Emergency Call.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, True or False.


If not provided, will keep current setting unchanged.


selectiveCall Routing


Boolean


Indicates whether the subscriber

is allowed to configure

Selective Call Routing.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, True or False.


If not provided, will keep current setting unchanged.



Path

Type

Description

Permission

Constraints

Default

Value


enableVoice Mail


Boolean


Indicates whether voice mail is enabled for the subscriber.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, True or False.


If not provided, will keep current setting unchanged.


twinning


Boolean


Indicates whether the user is allowed to configure Twinning.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, True or False.


If not provided, will keep current setting unchanged.


Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/featuresettings HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:45463 Content-Length: 183


{

"allowOutgoingCallPrivacy" : true, "enableVoiceMail" : true, "selectiveCallRouting" : true, "autoEmergencyCall" : true, "twinning" : true, "enableCallRecording" : true

}

Sample PUT Response


Same as "GET response"


FinalTarget Resource

Table of Contents

The Final Target resource provides information about the Final Target of a SCR Rule.


Supported Operations


GET


View Final Target Details HEAD

Get just the header response PUT

Modify Final Target of a SCR Rule


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin User


GET, PUT

Non-admin User


GET, PUT (only their own data)

Location


GET, PUT (only their own data)



Resource Details

Properties


Path

Type

Description

Visibility


destType


String


The Call Destination Type of Final Target. The type of CallGroupExtension is not supported for now.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


targetValue


String


The value of Final Target.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin

Link Relations


Relation

Description

Visibility


v1:extensions


List of extensions for the tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1options:callDestination Type


List of Call Destination Types available for Final Target.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 630


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/1002/finaltarget"

},

"v1:extensions" : {

"href" : "/api/v1/tenants/21375/extensions{?expand,filter,extensionType,agent}", "templated" : true

},

"v1options:callDestinationType" : {

"href" : "/api/v1/enums/calldestinationtype"

}

},

"destType" : "CallCoverage", "targetValue" : ""

}


Modify Request


Use a PUT request to modify the properties of Final Target.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.



Path

Type

Description

Permission

Constraints

Default

Value


destType


String


The Call Destination Type of Final Target.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required. The type of CallGroup Extension is not supported for now.


None


targetValue


String


The value of Final Target.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


The meaning of this value is

dependant on the Call Destination Type. It can be null when the type is set to CallCoverage or VoiceMail.


None.


Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/scrrules/1002/finaltarget HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:40639 Content-Length: 56


{

"destType" : "Number", "targetValue" : "7654321"

}

Sample PUT Response


Same as "GET response"


HandsfreeAnswerback Resource

Table of Contents

The Handsfree Answerback resource indicates whether the User/Location has activated the Handsfree Answerback feature.


Supported Operations


GET


View Handsfree Answerback feature state HEAD

Get just the header response PUT

Modify Handsfree Answerback feature state


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin


GET, PUT

User


GET, PUT (self only)

Location


GET, PUT (self only)



Resource Details

Properties


Path

Type

Description

Visibility


active


Boolean


Indicates whether the Handsfree Answerback feature is Active for this user/location.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 123


{

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/handsfree"

}

},

"active" : false

}

Modify Request


Use a PUT request to modify the properties of HandsFree AnswerBack feature state.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


active


Boolean


Indicates whether the Handsfree Answerback feature is currently active for this user/location.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


True or False.

Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/handsfree HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:45463 Content-Length: 21


{

"active" : true

}


Sample PUT Response


Same as "GET response"


HolidayHoursProfile Resource

Table of Contents

This resource shows the information for a single Holiday Hour Profile.


Supported Operations


GET


View a single Holiday Hour Profile for Tenant HEAD

Get just the header response PUT

Update a Holiday Hour Profile for the tenant DELETE

Delete a Holiday Hour Profile


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE

TenantAdmin User


GET, PUT, DELETE


Resource Details

Properties


Path

Type

Description

Visibility


holidayHoursProfile Id


Number


The identifier of the holiday hours profile.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


holidayHoursProfile Name


String


The name of the holiday hours profile.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


startDate


String


The start date of the holiday.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


endDate


String


The end date of the holiday.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


open


Boolean


This is a open flag of the holiday.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


openHoursFrom


String


This is the start time of operating hours.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


openHoursTo


String


This is the end time of operating hours.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


lunchFrom


String


This is the start time of lunch hour.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


lunchTo


String


This is the end time of lunch hour.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


specialFrom


String


This is the start time of special hour.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin



Path

Type

Description

Visibility


specialTo


String


This is the end time of special hour.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


Link Relations


Relation

Description

Visibility


v1:holidayDidRoutings


The Holiday DIDs Routings defined for this holiday hours profile.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 654


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/holidayhours/3"

},

"v1:holidayDidRoutings" : {

"href" : "/api/v1/tenants/21375/holidayhours/3/didroutings{?expand,filter}", "templated" : true

}

},

"endDate" : "12-31",

"holidayHoursProfileId" : 3, "holidayHoursProfileName" : "2019 Family Days", "lunchFrom" : "12:00",

"lunchTo" : "13:00", "open" : false, "openHoursFrom" : "00:00",

"openHoursTo" : "24:00",

"specialFrom" : "09:30",

"specialTo" : "10:00",

"startDate" : "12-25"

}

Modify Request


Use a PUT request to modify the properties of a HolidayHoursProfile.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.



Path

Type

Description

Permission

Constraints


holidayHours ProfileName


String


The name of the holiday hours profile.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required. If not provided will keep current value unchanged. If provided, it must be unique in a tenannt and its maximum length is 50.


startDate


String


The start date of the holiday.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required. A date string has the format of 'MM-dd'.


endDate


String


The end date of the holiday.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required. A date string has the format of 'MM-dd'.


open


Boolean


This is a open flag of the holiday.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required. The valid value is 'true' or 'false'.


openHoursFrom


String


This is the start time of operating hours.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required if open flag is set to true. A hour and minute string has the format of 'HH:mm'.


openHoursTo


String


This is the end time of operating hours.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required if open flag is set to true. A hour and minute string has the format of 'HH:mm'.


lunchFrom


String


This is the start time of lunch hour.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. A hour and minute string has the format of 'HH:mm'.


lunchTo


String


This is the end time of lunch hour.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. A hour and minute string has the format of 'HH:mm'.



Path

Type

Description

Permission

Constraints


specialFrom


String


This is the start time of special hour.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. A hour and minute string has the format of 'HH:mm'.


specialTo


String


This is the end time of special hour.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. A hour and minute string has the format of 'HH:mm'.


Sample PUT Request

PUT /api/v1/tenants/21375/holidayhours/3 HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:46351

Content-Length: 273


{

"holidayHoursProfileName" : "2019 Family Day", "startDate" : "12-25",

"endDate" : "12-31",

"openHoursFrom" : "08:00",

"openHoursTo" : "18:00",

"lunchFrom" : "12:00",

"lunchTo" : "13:00",

"specialFrom" : "10:00",

"specialTo" : "10:15", "open" : false

}

Sample PUT Response


Same as "GET response"


HolidayHoursProfiles Resource

Table of Contents

This relation returns a list of configured HolidayHoursProfiles for the tenant.


Supported Operations


GET


View Holiday Hours for Tenant HEAD

Get just the header response POST

Add a new set of holiday hours for the tenant


Permitted Authorities (as defined in API Guide)


Telco User


GET, POST

TenantAdmin User


GET, POST

List Details


The HolidayHoursProfile list resource provides a list of HolidayHoursProfile resources in summarized form.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


holidayHoursProfile


Each element of the list represents a single set of holiday hours for the tenant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 702


{


"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/holidayhours"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/holidayhours/{holidayHoursId}", "templated" : true

} ]

},

"count" : { "holidayHoursProfile" : 1

},

"total" : { "holidayHoursProfile" : 1

},

"_embedded" : { "holidayHoursProfile" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/holidayhours/3"

}

},

"holidayHoursProfileId" : 3, "holidayHoursProfileName" : "2019 Family Days"

} ]

}

}

Modify List Request


Use a POST request to add a new HolidayHoursProfile.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


holidayHours ProfileName


String


The name of the holiday hours profile.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required. Max 50 chars. It must be unique in the tenant.


None



Path

Type

Description

Permission

Constraints

Default

Value


startDate


String


The start date of the holiday.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required. A date string has the format of 'MM-dd'.


None


endDate


String


The end date of the holiday.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required. A date string has the format of 'MM-dd'.


None


open


Boolean


This is a open flag of the holiday.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required. The valid value is 'true' or 'false'.


None


openHoursFrom


String


This is the start time of operating hours.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required if open flag is set to true. A hour and minute string has the format of 'HH:mm'.


None


openHoursTo


String


This is the end time of operating hours.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required if open flag is set to true. A hour and minute string has the format of 'HH:mm'.


None


lunchFrom


String


This is the start time of lunch hour.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. A hour and minute string has the format of 'HH:mm'.


None


lunchTo


String


This is the end time of lunch hour.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. A hour and minute string has the format of 'HH:mm'.


None


specialFrom


String


This is the start time of special hour.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. A hour and minute string has the format of 'HH:mm'.


None



Path

Type

Description

Permission

Constraints

Default

Value


specialTo


String


This is the end time of special hour.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. A hour and minute string has the format of 'HH:mm'.


None


POST Response Properties


A successful POST returns a 201 (Created). A link to the newly added holiday hours can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/tenants/21375/holidayhours HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:46351

Content-Length: 273


{

"holidayHoursProfileName" : "2019 Family Day", "startDate" : "12-25",

"endDate" : "12-31",

"openHoursFrom" : "00:00",

"openHoursTo" : "24:00",

"lunchFrom" : "12:00",

"lunchTo" : "13:00",

"specialFrom" : "09:30",

"specialTo" : "10:00", "open" : false

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/holidayhours/3


HolidayDidRouting Resource

Table of Contents

This resource shows the information for a single Holiday DID Routing.


Supported Operations


GET


View a single Holiday DID Routing HEAD

Get just the header response PUT

Update a Holiday DID Routing DELETE

Delete a Holiday DID Routing entry


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE

TenantAdmin User


GET, PUT, DELETE


Resource Details

Properties


Path

Type

Description

Visibility


holidayDidRoutingId


Number


The identifier of the Holiday DID Routing.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


incomingNumber


String


The DID of the holiday DID routing.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


openHoursExtension


String


The destination extension for the Open hours.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


lunchHoursExtension


String


The destination extension for the Lunch hours.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


closedHoursExtension


String


The destination extension for the Closed hours.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


specialHours Extension


String


The destination extension for the Special hours.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin

Link Relations


Relation

Description

Visibility


v1:extensions


The extensions have been configured for the tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 563


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/holidayhours/3/didroutings/5"

},

"v1:extensions" : {

"href" : "/api/v1/tenants/21375/extensions{?expand,filter,extensionType,agent}",


"templated" : true

}

},

"closedHoursExtension" : "1234",

"holidayDidRoutingId" : 5,

"incomingNumber" : "6137654321",

"lunchHoursExtension" : "7000",

"openHoursExtension" : "1000",

"specialHoursExtension" : "5555"

}

Modify Request


Use a PUT request to modify the properties of a HolidayDidRouting.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


incomingNumber


String


The DID of the holiday DID routing.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. Once created, it cannot be modified.


openHours Extension


String


The destination extension for the Open hours.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. If it’s provided, the extension must exist in the tenant.


lunchHours Extension


String


The destination extension for the Lunch hours.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. If it’s provided, the extension must exist in the tenant.


closedHours Extension


String


The destination extension for the Closed hours.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. If it’s provided, the extension must exist in the tenant.


specialHours Extension


String


The destination extension for the Special hours.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. If it’s provided, the extension must exist in the tenant.

Sample PUT Request

PUT /api/v1/tenants/21375/holidayhours/3/didroutings/5 HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:45697 Content-Length: 175


{

"incomingNumber" : "6137654321",

"openHoursExtension" : "1000",

"lunchHoursExtension" : "1234",

"closedHoursExtension" : "7000",

"specialHoursExtension" : "5555"

}

Sample PUT Response


Same as "GET response"


HolidayDidRoutings Resource

Table of Contents

This relation returns a list of configured HolidayDidRoutings for the Holiday Hours Profile.


Supported Operations


GET


View Holiday DID routings for a Holiday Hours Profile HEAD

Get just the header response POST

Add a new holiday DID routing for the Holiday Hours Profile


Permitted Authorities (as defined in API Guide)


Telco User


GET, POST

TenantAdmin User


GET, POST


List Details


The HolidayDidRoutings list resource provides a list of HolidayDidRouting resources in summarized form.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1:extensions


The extensions have been configured for the tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).




Name

Description

Visibility

Expandable


holidayDidRouting


Each element of the list represents a single set of holiday DID routing for the holiday hours profile.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 873


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/holidayhours/3/didroutings"

},

"v1:extensions" : [ {

"href" : "/api/v1/tenants/21375/extensions{?expand,filter,extensionType,agent}", "templated" : true

} ],

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/holidayhours/3/didroutings/{holidayDidRoutingId}", "templated" : true

} ]

},

"count" : { "holidayDidRouting" : 1

},

"total" : { "holidayDidRouting" : 1

},

"_embedded" : { "holidayDidRouting" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/holidayhours/3/didroutings/5"

}

},

"holidayDidRoutingId" : 5,

"incomingNumber" : "6137654321"

} ]

}

}

Modify List Request


Use a POST request to add a new HolidayHoursProfile.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.



The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


incoming Number


String


The DID of the holiday DID routing.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required. The DID must exist in the tenant. Once created, it cannot be modified.


None


openHours Extension


String


The destination extension for the Open hours.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. If it’s provided, the extension

must exist in the tenant.


None


lunchHours Extension


String


The destination extension for the Lunch hours.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. If it’s provided, the extension

must exist in the tenant.


None


closedHours Extension


String


The destination extension for the Closed hours.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. If it’s provided, the extension

must exist in the tenant.


None


specialHours Extension


String


The destination extension for the Special hours.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. If it’s provided, the extension

must exist in the tenant.


None


POST Response Properties


A successful POST returns a 201 (Created). A link to the newly added holiday DID routing can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/tenants/21375/holidayhours/3/didroutings HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:45697 Content-Length: 175


{

"incomingNumber" : "6137654321",

"openHoursExtension" : "1000",

"lunchHoursExtension" : "1234",

"closedHoursExtension" : "7000",


"specialHoursExtension" : "5555"

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/holidayhours/3/didroutings/5


Intermediate Target Resource

Table of Contents

The Intermediate Target resource provides information about an Intermediate Target.


Supported Operations


GET


View Intermediate Target Details HEAD

Get just the header response PUT

Modify an Intermediate Target Details DELETE

Remove an Intermediate Target


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE

TenantAdmin User


GET, PUT, DELETE

Non-admin User


GET, PUT, DELETE (only their own data)





Location


GET, PUT, DELETE (only their own data)


Resource Details

Properties


Path

Type

Description

Visibility


targetId


Number


The identifier of Intermediate Target.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


label


String


The label of Intermediate Target.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


targetActive


Boolean


This flag indicates whether this Intermediate Target is in use.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


destType


String


The call destination type is specified for the Intermediate Target.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


targetValue


String


The value for the Intermediate Target.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User

Link Relations


Relation

Description

Visibility


v1options:callDestination Type


List of available destination types.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 493


{

"_links" : {

"curies" : {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/1001/intermediatetargets/1001"

},


"v1options:callDestinationType" : {

"href" : "/api/v1/enums/calldestinationtype"

}

},

"destType" : "Number",

"label" : "Intermediate Target Label", "targetActive" : false,

"targetId" : 1001,

"targetValue" : "7654321"

}

Modify Request


Use a PUT request to modify the properties of an Intermediate Target.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


label


String


The label of Intermediate Target.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Required. Max 50 chars.


targetActive


Boolean


The status of the Intermediate

Target. If true, the Intermediate Target is in use.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


None


destType


String


The call destination type of Intermediate Target.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Only the type of Number is supported for Intermediate Target.


targetValue


String


The destination value of Intermediate Target.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Digits only. A valid value for Intermediate Target.

Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/scrrules/1001/intermediatetargets/1001 HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:38947 Content-Length: 128


{

"label" : "Label of Intermediate Target", "destType" : "Number",

"targetValue" : "9876543210", "targetActive" : true

}


Sample PUT Response


Same as "GET response"


Intermediate Target List Resource

Table of Contents

This relation returns a list of Intermediate Targets configured for the specified SCR Rule.


Supported Operations


GET


View Intermediate Target List HEAD

Get just the header response PUT

Replace the existing list with a new list content POST

Add a Intermediate Target in the list


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, POST

Tenant-scoped Telco User


GET, PUT, POST



TenantAdmin User


GET, PUT, POST

Non-admin User


GET, PUT, POST (only their own data)

Location


GET, PUT, POST (only their own data)


List Details


The Intermediate Target list resource provides a list of Intermediate Target resources.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1options:callDestination Type


List of valid values for the call destination target type of the Intermediate Target.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


intermediateTarget


Each element of the Intermediate Target list represents a single Intermediate Target.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1073


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/1001/intermediatetargets"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/1001/intermediatetargets/{targetId}", "templated" : true

} ],

"v1options:callDestinationType" : [ {

"href" : "/api/v1/enums/calldestinationtype"

} ]

},

"count" : { "intermediateTarget" : 1

},

"total" : { "intermediateTarget" : 1

},

"_embedded" : { "intermediateTarget" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/1001/intermediatetargets/1001"

}

},

"destType" : "Number",

"label" : "Intermediate Target Label", "targetActive" : false,


"targetId" : 1001,

"targetValue" : "7654321"

} ]

}

}

POST Request


Use a POST request to add a new Intermediate Target.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


label


String


The label of the new Intermediate Target.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Required. Max 50 chars.


None


targetActive


Boolean


The status of the new Intermediate Target.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional. If true, the target is in use.


false.


destType


String


The destination type of the new Intermediate Target.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Required. Only the type of Number

is supported currently.


None


targetValue


String


The value of the new Intermediate Target.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Required.


None


POST Response


A successful POST returns a 201 (Created). A link to the newly added Intermediate Target can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/tenants/21375/users/4332/scrrules/1001/intermediatetargets HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:38947 Content-Length: 128


{

"label" : "Label of Intermediate Target", "destType" : "Number",

"targetValue" : "9876543210", "targetActive" : true

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/users/4332/scrrules/1001/intermediatetargets/4

PUT Request


This Intermediate Target list resource supports the use of PUT to replace the list. This request also supports adding new Intermediate Target and/or removing the existing Intermediate Target at the same time.


PUT Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


intermediate Target[]. targetId


Number


The identifier of the Intermediate Target.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional.

If it doesn’t present, a new Intermediate Target is created.


None.


intermediate Target[]. label


String


The label of Intermediate Target.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Required. Max 50 chars


None



Path

Type

Description

Permission

Constraints

Default

Value


intermediate Target[]. targetActive


Boolean


The status of the Intermediate Target.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


true or false.


The current value.


intermediate Target[].dest Type


String


The destination type of the Intermediate Target.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Currently only the type of 'Number' is supported.


None.


intermediate Target[]. targetValue


String


The value of the Intermediate Target.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Required. A valid target value.


None


PUT Response Properties


The response to a successful PUT request is the new resource representation, as defined in the GET Response.


Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/scrrules/1001/intermediatetargets HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:38947 Content-Length: 172


{

"intermediateTarget" : [ { "targetId" : 1001, "label" : "New label", "destType" : "Number",

"targetValue" : "8887777", "targetActive" : true

} ]

}

Sample PUT Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1056


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/1001/intermediatetargets"

},


"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/1001/intermediatetargets/{targetId}", "templated" : true

} ],

"v1options:callDestinationType" : [ {

"href" : "/api/v1/enums/calldestinationtype"

} ]

},

"count" : { "intermediateTarget" : 1

},

"total" : { "intermediateTarget" : 1

},

"_embedded" : { "intermediateTarget" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/1001/intermediatetargets/1001"

}

},

"destType" : "Number", "label" : "New label", "targetActive" : true, "targetId" : 1001,

"targetValue" : "8887777"

} ]

}

}


KeyFeature Resource

Table of Contents

The KeyFeature resource provides information about a calling feature or phone feature that can be programmed on a programmable phone key.


Supported Operations


GET


View the feature details HEAD

Get just the header response


Permitted Authorities (as defined in API Guide)


Telco User


GET

TenantAdmin User


GET

Non-admin User


GET

Location


GET


Resource Details

Properties


Path

Type

Description

Visibility


featureCode


String


The programmatic feature code. This property serves as a unique identifier for the feature.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


featureName


String


The name of the key feature.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


description


String


A brief description of the purpose of the feature.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


helpText


String


Help text associated with the key feature.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


featureDataType


String


KeyFeatureDataType for the key feature.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


featureDataRequire


String


KeyFeatureDataRequire for the key feature.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 698


{

"_links" : {

"curies" : {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/keyfeatures/21.0"

},

"v1options:keyFeatureDataRequire" : {

"href" : "/api/v1/enums/keyfeaturedatarequire"

},

"v1options:keyFeatureDataType" : {

"href" : "/api/v1/enums/keyfeaturedatatype"

}

},

"description" : "Join/Leave Group 6001", "featureCode" : "21.0", "featureDataRequire" : "Mandatory", "featureDataType" : "CallGroupExt",


"featureName" : "Join/Leave Group",

"helpText" : "The Join/Leave Group key can be used to subscribe/unsubscribe to a call group."

}


KeyFeatures List Resource

Table of Contents

This relation returns a list of programmable key features.


Not all features can be programmed on all phones or all keys. By specifying a keyId in the mandatory query parameter, the list will include only those features which can be programmed onto the specified key.


Supported Operations


GET


View list of key features HEAD

Get just the header response


Permitted Authorities (as defined in API Guide)


Telco User


GET

TenantAdmin User


GET

Non-admin User


GET

Location


GET


List Details


The KeyFeatures list resource provides a list of KeyFeature resources.


Request Parameters


Parameter

Description

Constraints


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support


keyId


Not all keys can be programmed with all features. This mandatory parameter causes the list of features to filtered according to the key being programmed.


Required. Must be the keyId of the key being programmed.


extension


Not all keys can be programmed with all features. This optional parameter causes the list of features to filtered based on the extension of a User or Location whose key being programmed. This parameter should

only be used for getting available key features for Personal Key Mapping.


Optional. Must be a valid extension of User or Location.

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1options:keyFeatureData Type


List of possible values for the key feature data type of the KeyFeature.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1options:keyFeatureData Require


List of possible values for the key feature data required of the Key Feature.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


Request Parameters


Parameter

Description

Constraints


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support


keyId


Not all keys can be programmed with all features. This mandatory parameter causes the list of features to filtered according to the key being programmed.


Required. Must be the keyId of the key being programmed.


extension


Not all keys can be programmed with all features. This optional parameter causes the list of features to filtered based on the extension of a User or Location whose key being programmed. This parameter should

only be used for getting available key features for Personal Key Mapping.


Optional. Must be a valid extension of User or Location.

Embedded Representations


Name

Description

Visibility

Expandable


keyFeature


Represents the feature programming associated with the profile key.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


n

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1592


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/keyfeatures?keyId=2048&extension=4332"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/keyfeatures/{featureCode}", "templated" : true

} ],

"v1options:keyFeatureDataRequire" : [ {

"href" : "/api/v1/enums/keyfeaturedatarequire"


} ],

"v1options:keyFeatureDataType" : [ {

"href" : "/api/v1/enums/keyfeaturedatatype"

} ]

},

"count" : { "keyFeature" : 2

},

"total" : { "keyFeature" : 2

},

"_embedded" : {

"keyFeature" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/keyfeatures/11.0"

}

},

"description" : "VoiceMail Dialer Retrieval", "featureCode" : "11.0",

"featureDataRequire" : "None", "featureName" : "Voice Mail",

"helpText" : "Use the Voice Mail feature to access voice mail or manage voice mail options such as changing your voice mail greeting."

}, {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/keyfeatures/206.0"

}

},

"description" : "Twinning On/Off Toggle", "featureCode" : "206.0", "featureDataRequire" : "None", "featureName" : "Twinning On/Off",

"helpText" : "The Twinning On/Off key can be used to activate/deactivate twinning."

} ]

}

}


KeyProfileMemberMgmt Resource

Table of Contents

This resource provides a list of KeyProfile:User/Location relation resources, identifying which users/locations are using the KeyProfile.


Supported Operations


GET


View the list of KeyProfile:User/Location relation resources HEAD

Get just the header response PUT

Update the list of KeyProfile:User/Location relation POST

Add a new KeyProfile:User/Location relation


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, POST

TenantAdmin


GET, PUT, POST


List Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1:extensions


List of all extensions for the tenant that are using the key profile. It is a template that allows filtering so that, for example, only user extensions can be seen.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).




Name

Description

Visibility

Expandable


memberKeyProfile


Each element of the array represents a relationship between this key profile and extensions that are using it.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1085


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/keyprofiles/10/kpmembers"

},

"v1:extensions" : [ {

"href" : "/api/v1/tenants/21375/extensions{?expand,filter,extensionType,agent}", "templated" : true

} ],

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/ext-kp/{extension}", "templated" : true

} ]

},

"count" : { "memberKeyProfile" : 2

},

"total" : { "memberKeyProfile" : 2

},

"_embedded" : { "memberKeyProfile" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/ext-kp/3235"

}

},

"extension" : "3235",

"keyProfileId" : 10

}, {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/ext-kp/3235"

}

},

"extension" : "3235",

"keyProfileId" : 10

} ]

}

}


Modify List Request

POST Request


Use a POST request to add a new Key Profile Member.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


extension


String


The extension of the adding Key Profile Member.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Must be valid extension of User or Location.


n/a


POST Response


A successful POST returns a 201 (Created). A link to the newly added Key Profile can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/tenants/21375/keyprofiles/10/kpmembers HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:36317 Content-Length: 26


{

"extension" : "4332"

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/ext-kp/4332

PUT Request


Use a PUT request to replace the existing member list with a new list of members.


PUT Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.



The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


memberKey Profile[]. extension


String


The extension of the User or Location.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


This must be a valid extension of User or Location.


None


Sample PUT Request

PUT /api/v1/tenants/21375/keyprofiles/10/kpmembers HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:36317 Content-Length: 61


{

"memberKeyProfile" : [ { "extension" : "4332"

} ]

}

Sample PUT Response


Same as "GET response"


KeyProfile Resource

Table of Contents

The KeyProfile resource includes all of the key mappings for the key profile.


Supported Operations


GET


View key profile details HEAD

Get just the header response PUT

Modify key profile details DELETE

Remove the key profile


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE

TenantAdmin User


GET, PUT, DELETE



Non-admin User


GET

Location


GET


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


keyProfileId


Number


System-assigned unique identifier of the key profile.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


keyProfileName


String


User-assigned name of the key profile.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User

Link Relations


Relation

Description

Visibility


v1:keyProfileMemberMgmt


A list of users and locations using key profile.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:profileKeyMappings


A list of profile key mappings for the key profile.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:tenantPhoneModels


A list of phone models for the tenant where the key profile belongs to.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


profileKeyMapping


The provisioned key profile key mappings associated with the key profile.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1047


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/keyprofiles/10"

},

"v1:keyProfileMemberMgmt" : {

"href" : "/api/v1/tenants/21375/keyprofiles/10/kpmembers{?expand,filter}", "templated" : true

},

"v1:profileKeyMappings" : {

"href" : "/api/v1/tenants/21375/keyprofiles/10/keymappings{?

expand,filter,includeAll,phoneModel}", "templated" : true

},

"v1:tenantPhoneModels" : {

"href" : "/api/v1/tenants/21375/phonemodels{?expand,filter}", "templated" : true

}

},

"keyProfileId" : 10,

"keyProfileName" : "Corporate Speed Dial Keys", "_embedded" : {

"profileKeyMapping" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/keyprofiles/10/keymappings/2051"

}

},

"featureCode" : "206.0",

"featureData" : "6132234534",

"keyId" : 2051, "label" : "Bob", "locked" : true

}

}

}

Modify Request


Use a PUT request to modify the properties of a Key Profile.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


keyProfileName


String


The name of the Key Profile.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Max 50 chars.

Sample PUT Request

PUT /api/v1/tenants/21375/keyprofiles/10 HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:36317

Content-Length: 52


{

"keyProfileName" : "Corporate Speed Dial Keys"

}

Sample PUT Response


Same as "GET response"


KeyProfiles List Resource

Table of Contents

This relation returns a list all of the key profiles associated with the tenant.


Supported Operations


GET


View list of key profiles HEAD

Get just the header response POST

Add a new key profile


Permitted Authorities (as defined in API Guide)


Telco User


GET, POST

TenantAdmin User


GET, POST

Non-admin User


GET



Location


GET


List Details


The Key Profile list resource provides a list of KeyProfile resources.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).




Name

Description

Visibility

Expandable


keyProfile


Each element of the keyProfile list represents a single key profile, and indicates the key profile name.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 663


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/keyprofiles"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/keyprofiles/{keyProfileId}", "templated" : true

} ]

},

"count" : { "keyProfile" : 1

},

"total" : { "keyProfile" : 1

},

"_embedded" : {

"keyProfile" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/keyprofiles/10"

}

},

"keyProfileId" : 10,

"keyProfileName" : "Corporate Speed Dial Keys"

} ]

}

}

Modify List Request


Use a POST request to add a new Key Profile.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.




Path

Type

Description

Permission

Constraints

Default

Value


keyProfile Name


String


The name of the Key Profile.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Max 50 chars.


n/a


POST Response


A successful POST returns a 201 (Created). A link to the newly added Key Profile can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/tenants/21375/keyprofiles HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:36317

Content-Length: 52


{

"keyProfileName" : "Corporate Speed Dial Keys"

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/keyprofiles/34


Language Resource

Table of Contents

The Language resource provides information about a supported language.


Supported Operations


GET


View Language Details HEAD

Get just the header response PUT

Modify Language setting(Enable/Disable)


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin User


GET

Non-admin User


GET

Location


GET


Resource Details

Properties


Path

Type

Description

Visibility


langCode


String


The ISO-639-1 language code of the supported Language.


Telco(TenantBasicOr AdvanceManagement, SystemManagement), TenantAdmin, User


description


String


The description of the supported Language, usually is the language name.


Telco(TenantBasicOr AdvanceManagement, SystemManagement), TenantAdmin, User


enabled


Boolean


If the supported Language is enabled, true or false. Can only be seen by Telco User.


Telco(TenantBasicOr AdvanceManagement, SystemManagement)


order


Number


The order of enabled supported Language, value start from 1, always 0 for not enabled Language.


Telco(TenantBasicOr AdvanceManagement, SystemManagement), TenantAdmin, User

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 166


{

"_links" : {

"self" : {

"href" : "/api/v1/languages/en"

}

},

"description" : "English", "enabled" : true, "langCode" : "en",

"order" : 1

}

Modify Request


Use a PUT request to enable or disable the language.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.



Path

Type

Description

Permission

Constraints


enabled


Boolean


Indicate if enable the Language in system.


Telco(System Management)


Optional. If provided, must be true or false.


Sample PUT Request

PUT /api/v1/languages/en HTTP/1.1

Content-Type: application/json; charset=UTF-8 Host: localhost:36127

Content-Length: 22


{

"enabled" : true

}

Sample PUT Response


Same as "GET response"


Language List Resource

Table of Contents

This relation returns a list of supported Language of the system.


Supported Operations


GET


View list of Languages HEAD

Get just the header response PUT

Update Language List(change order and enable/disable)


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin User


GET

Non-admin User


GET

Location


GET


List Details


The Language list resource provides a list of Language resources.


Request Parameters


Parameter

Description

Constraints


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


language


Each element of the Language list represents a single supported Language of the system. Not enabled Language can only be seen by Telco User.


Telco(TenantBasicOr AdvanceManagement, SystemManagement), TenantAdmin, User


n


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 625


{

"_links" : {


"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/languages"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/languages/{langCode}", "templated" : true

} ]

},

"count" : { "language" : 1

},

"total" : { "language" : 1

},

"_embedded" : {

"language" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/languages/en"

}

},

"description" : "English", "enabled" : true, "langCode" : "en",

"order" : 1

} ]

}

}

Modify List Request

PUT Request


Use a PUT request to enabled/disable languages and change enabled language order. This can NOT be used to add, remove language. For all disabled language the order will not matter and will be reset to 0.


PUT Request Properties


The following properties are processed as part of each element in the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.




Path

Type

Description

Permission

Constraints

Default

Value


language[]. langCode


String


The langCode of the Language which is the identifier of the language.


Telco(System Management)


Required. Must be a valid langCode of

a language in system.


None


language[]. enabled


Boolean


Indicate if enable the Language in system.


Telco(System Management)


Optional. If provided, must be true or false.


If not provided, will keep current value unchanged.


Sample PUT Request

PUT /api/v1/languages HTTP/1.1

Content-Type: application/json; charset=UTF-8 Host: localhost:36127

Content-Length: 124


{

"language" : [ {

"langCode" : "en", "enabled" : true

}, {

"langCode" : "nl", "enabled" : false

} ]

}

Sample PUT Response


Same as "GET response"


Location Resource

Table of Contents

Each Location resource provides the personally-modifiable information about a Location, meaning settings that do not require TenantAdmin privileges to modify.


Further information about the location is available through the embedded representations linked to in the response.


Supported Operations


GET


View Location Details HEAD

Get just the header response PUT

Modify Location Details DELETE

Remove the Location


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE

TenantAdmin User


GET, PUT, DELETE

Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


accountId


String


The location’s Account Identifier, required for subscribing to events and managing calls through the API.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


extension


String


The location’s extension. The extension serves as the unique identifier of a location within a tenant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


name


String


The location’s name.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


language


String


The location’s language, as a two-character code. This setting manages the location’s phone language and their WebAdmin language.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User



Path

Type

Description

Visibility


nameAnnouncement Recorded


Boolean


Indicates whether the location has recorded their Name Announcement for the Auto Attendant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


subscriberId


Number


A unique identifier for the location, this value is

provided for legacy system interoperability purposes. New applications should avoid using it.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


creationTimestamp


String


Creation timestamp of this location. It’s read-only and displayed in the format of 'yyyy-MM-dd HH:mm:ss.SS SXXX'. It presents only for a newly added location.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


deleting


Boolean


Indicate if the location is under deleting. Read

Only. When a location is under deleting, this will be true and never go back to false, and there will be a runningTask created for the deletion work, please use the runningTask resource to check deleting progress details.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


Link Relations


Relation

Description

Visibility


v1:userPhones


This is deprecated. Details about the phone(s) that the location is logged into, their default Click-to-Call device, and their default Intercom device.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:myPhones


My Phones Management.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:polycomRingTones


Details about the Polycom ring tone settings of the location.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:mitelRingTones


Details about the Mitel ring tone settings of the location.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User



Relation

Description

Visibility


v1:memberCallGroupMgmt


All call groups of which the location is a member.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:monitoredByExtensions


Extensions that are monitoring this location’s phone.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:monitoringExtensions


Extensions that this location is monitoring


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:memberKeyProfileMgmt


key profile management.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:personalKeyMappings


personal key mapping management.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:userCallPermission Profile


call permission profile management.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:scrRules


Selective Call Routing rules management.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:personalVoicemail Settings


Personal vociemail settings.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:personalVoicemailPin Reset


Link location where accept POST request for setting new voicemail PIN.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:languages


Supported languages of system which can be used for Location language setting.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:runningTask


when a location is under deleting, this link can be used to query the running task.


Telco(TenantBasicOrAdvance Management), TenantAdmin


Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.



Name

Description

Visibility

Expandable


adminSettings


The location admin Settings resource contains those settings generally provisionable only by an admin user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


n


featureSettings


The location feature Settings resource contains those feature related settings generally provisionable only by an admin user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


n


announcementSetting


The AnnouncementSetting of this location.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


features


The location features resource contains status information for all Service and Calling Features.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


keyProfile


If the location has a Key Profile, this representation identifies it.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


callPermission Profile


The CallPermissionProfile assigned to this location.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


nameAnnouncement


The NameAnnouncement of this location.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


voicemailBox


The allocated voicemail box of this user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


myPhone


Logged in Phone(s) for this location. Include flags to indicate location’s default Click-to-Call phone and Intercom phone. If the location is not logged

into any phone, this representation will not be present in the query response.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y



Name

Description

Visibility

Expandable


runningTask


when the location is under deleting, there will be

a runningTask for the deletion which include progress and state details.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


n


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 4428


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/locations/3235"

},

"v1:languages" : {

"href" : "/api/v1/languages{?filter}", "templated" : true

},

"v1:memberCallGroupMgmt" : {

"href" : "/api/v1/tenants/21375/locations/3235/callinggroups{?expand,filter}", "templated" : true

},

"v1:memberKeyProfileMgmt" : {

"href" : "/api/v1/tenants/21375/locations/3235/keyprofile"

},

"v1:mitelRingTones" : {

"href" : "/api/v1/tenants/21375/locations/3235/mitelringtones"

},

"v1:monitoredByExtensions" : {

"href" : "/api/v1/tenants/21375/locations/3235/monitoredbyextensions{?expand,filter}", "templated" : true

},

"v1:monitoringExtensions" : {

"href" : "/api/v1/tenants/21375/locations/3235/monitoringextensions{?expand,filter}", "templated" : true

},

"v1:myPhones" : {

"href" : "/api/v1/tenants/21375/locations/3235/myphones{?expand,filter}", "templated" : true

},

"v1:personalKeyMappings" : {

"href" : "/api/v1/tenants/21375/locations/3235/personalkeymappings{?expand,filter}", "templated" : true

},

"v1:personalVoicemailPinReset" : {

"href" : "/api/v1/tenants/21375/locations/3235/voicemailpinreset"

},

"v1:personalVoicemailSettings" : {

"href" : "/api/v1/tenants/21375/locations/3235/voicemailsettings"

},

"v1:polycomRingTones" : {

"href" : "/api/v1/tenants/21375/locations/3235/polycomringtones"

},

"v1:scrRules" : {


"href" : "/api/v1/tenants/21375/locations/3235/scrrules{?expand,filter}", "templated" : true

},

"v1:userCallPermissionProfile" : {

"href" : "/api/v1/tenants/21375/locations/3235/callpermissionprofile"

},

"v1:userPhones" : {

"href" : "/api/v1/tenants/21375/locations/3235/phones{?expand,filter}", "templated" : true

}

},

"accountId" : "3235@21375",

"creationTimestamp" : "2022-12-01 14:54:38.121-05:00", "deleting" : false,

"extension" : "3235",

"language" : "en",

"name" : "Kitchen", "nameAnnouncementRecorded" : false, "subscriberId" : 170,

"_embedded" : { "nameAnnouncement" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/locations/3235/nameannouncement"

}

},

"nameAnnouncementRecorded" : false

},

"keyProfile" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/keyprofiles/10"

}

},

"keyProfileId" : 10,

"keyProfileName" : "Corporate Speed Dial Keys"

},

"features" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/locations/3235/features"

}

}

},

"featureSettings" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/locations/3235/featuresettings"

}

}

},

"callPermissionProfile" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/callpermissionprofiles/116"

}

},

"callPermissionProfileId" : 116, "name" : "Call Permission - Sales"

},

"announcementSetting" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/locations/3235/announcementsetting"

}

},

"announcementId" : 2, "useDefault" : false

},

"myPhone" : {


"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/locations/3235/myphones/546"

}

},

"defaultC2CPhone" : true, "defaultIntercomPhone" : true, "identifier" : "08000f6e6799", "phoneId" : 546,

"phoneModelName" : "Mitel 5330 IP Phone", "userLabel" : "Desk Phone"

},

"adminSettings" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/locations/3235/adminsettings"

}

}

},

"voicemailBox" : { "_links" : {

"self" : {

"href" : "/api/v1/voicemailservers/101/voicemailboxes/22"

}

},

"releaseDate" : "12/1/22, 2:54 p.m.", "voicemailBoxAccount" : "23380500049100",

"voicemailBoxId" : 22, "voicemailBoxState" : "Released"

}

}

}

Modify Request


Use a PUT request to modify the properties of a Location.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


name


String


The name of the Location.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. Max 50 chars.


language


String


The prefer phone language of the Location.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. Must be a supported and

enabled language in system.

Sample PUT Request

PUT /api/v1/tenants/21375/locations/3235 HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:35441

Content-Length: 45


{

"language" : "en",

"name" : "Kitchen"

}

Sample PUT Response Same as "GET response" Delete Request

Use a DELETE request to delete the location, will get 202 Accepted if success, and a runningTask will be created for the deletion. The runningTask link and detail will be in the response. Client can query runningTask to check the deletion progress and state. After location deletion task is completed, GET request on the location or runningTask will get 404 not found.

DELETE Response Properties


Path

Type

Description

Visibility


runningTaskId


Number


Unique identifier of the running task


Telco(TenantBasicOr AdvanceManagement), TenantAdmin

DELETE Response Links


Relation

Description

Visibility


v1:runningTask


The running task of the deleting location.


Telco(TenantBasicOrAdvance Management), TenantAdmin

DELETE Response Embeddeds


Name

Description

Visibility

Expandable


runningTask


The location which is being deleted.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


n

Sample DELETE Response

HTTP/1.1 202 Accepted

Content-Type: application/hal+json Content-Length: 865


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {


"href" : "/api/v1/tenants/21375/locations/3235"

},

"v1:runningTask" : {

"href" : "/api/v1/runningtasks/18"

}

},

"runningTaskId" : 18, "_embedded" : {

"runningTask" : { "_links" : {

"self" : {

"href" : "/api/v1/runningtasks/18"

}

},

"createdTime" : "2022-12-01T14:54:38",

"progress" : 0,

"runningTaskId" : 18, "runningTaskState" : "Created",

"runningTaskStateDetail" : "Task Initialized.", "runningTaskType" : "SubscriberDelete", "targetId" : 170,

"updatedTime" : "2022-12-01T14:54:38"

}

}

}


Locations List Resource

Table of Contents

This relation returns a list of configured Locations within the tenant.


Supported Operations


GET


View Location List HEAD

Get just the header response POST

Add new Location


Permitted Authorities (as defined in API Guide)


Telco User


GET, POST

TenantAdmin User


GET, POST

List Details


The Location list resource provides a list of Location resources in summarized form.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1:languages


Supported languages of system which can be used for Location language setting.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:extensions


List of existing extensions of the tenant. This is useful to find the a not used extension if the client want specify one.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).




Name

Description

Visibility

Expandable


location


Each element of the location array represents a single location resource,

and indicates the location’s name, extension, and accountId for Call Control.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 962


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/locations"

},

"v1:extensions" : [ {

"href" : "/api/v1/tenants/21375/extensions{?expand,filter,extensionType,agent}", "templated" : true

} ],

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/locations/{extension}", "templated" : true

} ],

"v1:languages" : [ {

"href" : "/api/v1/languages{?filter}", "templated" : true

} ]

},

"count" : { "location" : 1

},

"total" : { "location" : 1

},

"_embedded" : {

"location" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/locations/3235"

}

},

"accountId" : "3235@21375", "deleting" : false, "extension" : "3235",

"name" : "Kitchen", "subscriberId" : 170

} ]

}

}

Modify List Request


Use a POST request to add a new Location.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


name


String


The name of the Location.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required. Max 50 chars.


None


language


String


The prefer phone language of the Location.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. Must be a supported and enabled language in system.


en


extension


String


The extension to be used for the Location.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. If specified, it must be a valid extension for a Location and not be in use.


Next unused value in range. (Same range shared by User, Location and ACD)


POST Response


A successful POST returns a 201 (Created). A link to the newly added Location can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/tenants/21375/locations HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:35441

Content-Length: 69


{

"extension" : "3235",

"language" : "en",

"name" : "Kitchen"

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/locations/3235


Login ACD Resource

Table of Contents

This relation provides a list of call group membership relation resources for this extension. From this, the client can determine the list of call groups in which the user/ location is a member.


This list supports the '?expand=' feature.

Supported Operations


GET


View list of call group member relation resources HEAD

Get just the header response


Permitted Authorities (as defined in API Guide)


Telco User


GET,

TenantAdmin User


GET

Non-admin User


GET

Location


GET


List Details


The MemberCallGroup list resource provides a list of CallGroupMember resources for the specified user/location. More detail can be requested in the response by using the '?expand' parameter.

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).




Name

Description

Visibility

Expandable


callGroupMember


Each element of the array represents the user/ location’s status in a call group.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 831


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/callinggroups"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/callinggroups/{callGroupId}/members/4332", "templated" : true

} ]

},

"count" : { "callGroupMember" : 1

},

"total" : { "callGroupMember" : 1

},

"_embedded" : { "callGroupMember" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/callinggroups/3/members/4332"

}

},

"extension" : "3235", "loggedIn" : false, "twinningEnabled" : false

} ]

}

}

Modify List Request


This list does not support modification.


MemberKeyProfile Resource

Table of Contents

The MemberKeyProfile resource identifies the relation between a user/location’s extension and the key profile they are using.


Supported Operations


GET


View MemberKeyProfile Relationship HEAD

Get just the header response PUT

Modify MemberKeyProfile Relationship DELETE

Remove MemberKeyProfile Relationship


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE

TenantAdmin User


GET, PUT, DELETE



Non-admin User


GET, PUT, DELETE (only their own data)

Location


GET, PUT, DELETE (only their own data)


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


keyProfileId


Number


Identifier of key profile associated with the extension.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


extension


String


The extension of the member of Key Profile. Read only.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User

Link Relations


Relation

Description

Visibility


v1:keyProfiles


Acceptable KeyProfile values for this User or Location key profile relation.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.



Name

Description

Visibility

Expandable


extension


The extension (user or location) using the key profile.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


keyProfile


The key profile being used by the user/location extension


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1021


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/ext-kp/4332"

},

"v1:keyProfiles" : {

"href" : "/api/v1/tenants/21375/keyprofiles{?expand,filter}", "templated" : true

}

},

"extension" : "4332",

"keyProfileId" : 10, "_embedded" : {

"extension" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/extensions/4332"

}

},

"accountId" : "4332@21375", "enabled" : true, "extension" : "4332", "extensionType" : "userExt", "name" : "Smith, Dave"

},

"keyProfile" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/keyprofiles/10"

}

},

"keyProfileId" : 10,

"keyProfileName" : "Corporate Speed Dial Keys"

}

}

}

Modify Request


Use a PUT request to add or modify a Member to KeyProfile relation.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


keyProfileId


Number


Identifier of the key profile going to associate with the User or Location.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Must be a valid key profile identifier of the tenant.

Sample PUT Request

PUT /api/v1/tenants/21375/ext-kp/4332 HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:42269

Content-Length: 25


{

"keyProfileId" : 10

}

Sample PUT Response


Same as "GET response"


MemberKeyProfileMgmt Resource

Table of Contents

The MemberKeyProfileMgmt resource provides information about the key profile setting of the User or Location.


Supported Operations


GET


View User or Location Key Profile setting HEAD

Get just the header response POST

Associate a Key Profile with the User or Location.


Permitted Authorities (as defined in API Guide)


Telco User


GET, POST

TenantAdmin User


GET, POST

User


GET, POST



Location


GET, POST


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1:keyProfiles


List of key profiles for the tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


memberKeyProfile


If present, this embedded resource is an array containing the memberKey Profile relation resource. This representation will not be present if the User or Location does not have a associated Key Profile.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 889


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/keyprofile"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/ext-kp/{extension}", "templated" : true

} ],

"v1:keyProfiles" : [ {

"href" : "/api/v1/tenants/21375/keyprofiles{?expand,filter}", "templated" : true

} ]

},

"count" : { "memberKeyProfile" : 1

},

"total" : { "memberKeyProfile" : 1

},

"_embedded" : { "memberKeyProfile" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/ext-kp/4332"

}

},

"extension" : "4332",

"keyProfileId" : 10

} ]

}

}

Modify Request


Use a POST request to create a MemberKeyProfile resource to associate a Key Profile with the User or Location.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.



Path

Type

Description

Permission

Constraints


keyProfileId


Number


Identifier of the key profile going to associate with the User or Location.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Must be a valid key profile identifier of the tenant.


extension


String


Extension of the User or Location. (Optional)


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Should be the extension of the User or Location


Sample POST Request

POST /api/v1/tenants/21375/users/4332/keyprofile HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:45463 Content-Length: 49


{

"keyProfileId" : 10,

"extension" : "4332"

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/ext-kp/4332


MitelRingTones Resource

Table of Contents

The MitelRingTones resource contains the User/Location’s Mitel phone ring tone settings.


Supported Operations


GET


View user/location Mitel ring tone settings HEAD

Get just the header response PUT

Modify user/location Mitel ring tone settings


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin


GET, PUT

User


GET, PUT

Location






GET, PUT


Resource Details

Properties


Path

Type

Description

Visibility


internalDirectRing Tone


String


Indicates the Internal Direct Call Ring Tone Type is currently selected for this user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


internalGroupRing Tone


String


Indicates the Internal Group Call Ring Tone Type is currently selected for this user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


externalDirectRing Tone


String


Indicates the External Direct Call Ring Tone Type is currently selected for this user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


externalGroupRing Tone


String


Indicates the External Group Call Ring Tone Type is currently selected for this user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User

Link Relations


Relation

Description

Visibility


v1options:mitelRingToneType


Acceptable values for the Mitel Ring Tone Type setting.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:mitelRingToneTest


Test the Mitel Ring Tone on user or location’s phone.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 692


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",


"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/mitelringtones"

},

"v1:mitelRingToneTest" : {

"href" : "/api/v1/tenants/21375/users/4332/mitelringtonetest"

},

"v1options:mitelRingToneType" : {

"href" : "/api/v1/enums/mitelringtonetype"

}

},

"externalDirectRingTone" : "RingTone2", "externalGroupRingTone" : "RingTone4", "internalDirectRingTone" : "DeviceDefault", "internalGroupRingTone" : "Silent"

}

Modify Request


Use a PUT request with the following properties in the payload to modify the ringtone settings for the user/location’s Mitel phone(s).


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


internalDirect RingTone


String


Internal Direct Call Ring Tone type, possible

values are: Device Default, RingTone1, RingTone2, RingTone3, RingTone4, RingTone5, RingTone6, RingTone7, RingTone8, RingTone9 or Silent.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional


internalGroup RingTone


String


Internal Group Call Ring Tone type, possible values are: Device

Default, RingTone1, RingTone2, RingTone3, RingTone4, RingTone5, RingTone6, RingTone7, RingTone8, RingTone9 or Silent.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional



Path

Type

Description

Permission

Constraints


externalDirect RingTone


String


External Direct Call Ring Tone type, possible values are: Device

Default, RingTone1, RingTone2, RingTone3, RingTone4, RingTone5, RingTone6, RingTone7, RingTone8, RingTone9 or Silent.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional


externalGroup RingTone


String


External Group Call Ring Tone type, possible values are: Device

Default, RingTone1, RingTone2, RingTone3, RingTone4, RingTone5, RingTone6, RingTone7, RingTone8, RingTone9 or Silent.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional


Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/mitelringtones HTTP/1.1 Content-Type: application/json; charset=UTF-8

Content-Length: 169


{

"internalDirectRingTone" : "DeviceDefault", "internalGroupRingTone" : "RingTone1", "externalDirectRingTone" : "RingTone9", "externalGroupRingTone" : "Silent"

}

Sample PUT Response


Same as "GET response"


MitelRingToneTest Resource

Table of Contents

This MonitoredByExtension resource provides information about a single extension that is monitoring this extension. This includes whether the extension can pickup calls to this extension.


Deleting a MonitoredByExtension is supported.


Supported Operations


GET


View MonitoredByExtension details HEAD

Get just the header response PUT

Add or modify MonitoredByExtension DELETE

Delete the MonitoredByExtension


Permitted Authorities (as defined in API Guide)


Telco User


GET,PUT, DELETE



TenantAdmin User


GET,PUT, DELETE

Non-admin User


GET

Location


GET


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


extension


String


An extension that can monitor the user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


pickup


Boolean


Indicates the extension can pickup call to this user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


extension


Details of the monitoring extension


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y

Sample GET Response

HTTP/1.1 200 OK


Content-Type: application/hal+json Content-Length: 599


{

"_links" : {

"curies" : {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/monitoredbyextensions/3235"

}

},

"extension" : "3235", "pickup" : true, "_embedded" : {

"extension" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/extensions/3235"

}

},

"accountId" : "3235@21375", "enabled" : true, "extension" : "3235",

"extensionType" : "locationExt", "name" : "Kitchen"

}

}

}

PUT Request


Use PUT to creates a new monitor for this extension or changes if calls to this extension can be picked up.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.



Path

Type

Description

Permission

Constraints

Default

Value


extension


String


Ignored.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Should match the monitored by extension in the URI


n/a



Path

Type

Description

Permission

Constraints

Default

Value


pickup


Boolean


Indicates whether user can pickup monitored calls


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


True or False.


n/a


PUT Response Properties


The PUT response contains the newly updated detail in the same format of the "GET Properties".


Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/monitoredbyextensions/3235 HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:45463 Content-Length: 45


{

"extension" : "3235", "pickup" : true

}

Sample PUT Response


Same as "GET response"


MonitoredByExtension List Resource

Table of Contents

This relation provides a list of other extensions that are monitoring this extension. That is, this extension is a primary monitor for the listed secondary extensions.


Supported Operations


GET


View list of MonitoredByExtension resources HEAD

Get just the header response PUT

Replace the list of MonitoredByExtension


Permitted Authorities (as defined in API Guide)


Telco User


GET,PUT

TenantAdmin User


GET,PUT

Non-admin User


GET





Location


GET


List Details


The MonitoredByExtension list resource provides a list of MonitoredByExtension resources in summarized form.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1:extensions


List of existing extensions of the tenant. This is useful to find the user or location extension for managing monitor settings.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.



The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


monitoredBy


Each element of the list indication a user or

location monitored by this extension.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 958


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/monitoredbyextensions"

},

"v1:extensions" : [ {

"href" : "/api/v1/tenants/21375/extensions{?expand,filter,extensionType,agent}", "templated" : true

} ],

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/users/4332/monitoredbyextensions/{monitorExtension}", "templated" : true

} ]

},

"count" : { "monitoredBy" : 1

},

"total" : { "monitoredBy" : 1

},

"_embedded" : {

"monitoredBy" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/monitoredbyextensions/3235"

}

},

"extension" : "3235", "pickup" : true

} ]

}

}


Modify List Request

PUT Request


Use a PUT request to replace the existing MonitoredByExtension list with a new list of MonitoredByExtension.


PUT Request Properties


The following properties are processed as part of each element in the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


monitored By[].

extension


String


Indicates an extension that is monitoring this extension. That is a monitor for this extension.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Numeric?


n/a


monitored By[].pickup


Boolean


If true then calls to this extension can be picked up by the extension.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


True or False.


n/a


PUT Response Properties


The response to a successful PUT request is the newly updated resource representation similar to the response of GET.


Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/monitoredbyextensions HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:45463 Content-Length: 77


{

"monitoredBy" : [ {

"extension" : "3235", "pickup" : true

} ]

}


Sample PUT Response


Same as "GET response"


MonitoringExtension Resource

Table of Contents

This MonitoringExtension resource provides information about a single extension monitored by this extension. This includes whether this extension can pickup calls to the monitored extension.


This list supports the '?expand=' feature.

Supported Operations


GET


View the MonitoringExtension detail include monitored extension and whether it can be picked up


HEAD


Get just the header response PUT

Add or modify MonitoringExtension DELETE

Delete the MonitoringExtension


Permitted Authorities (as defined in API Guide)


Telco User


GET,PUT, DELETE



TenantAdmin User


GET,PUT, DELETE

Non-admin User


GET

Location


GET


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


extension


String


An extension monitored by the user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


pickup


Boolean


Indicates the user can pickup call to the extension.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


extension


Details of the extension being monitored


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y

Sample GET Response

HTTP/1.1 200 OK


Content-Type: application/hal+json Content-Length: 598


{

"_links" : {

"curies" : {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/monitoringextensions/3235"

}

},

"extension" : "3235", "pickup" : true, "_embedded" : {

"extension" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/extensions/3235"

}

},

"accountId" : "3235@21375", "enabled" : true, "extension" : "3235",

"extensionType" : "locationExt", "name" : "Kitchen"

}

}

}

PUT Request


Use PUT to creates a new monitor to another extension or changes if calls can be picked up.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.



Path

Type

Description

Permission

Constraints

Default

Value


extension


String


Ignored


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Should match the monitored by extension in the URI


n/a



Path

Type

Description

Permission

Constraints

Default

Value


pickup


Boolean


Indicates whether or not the extension can pickup calls


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


True or False.


n/a


PUT Response Properties


The PUT response contains the newly updated detail in the same format of the "GET Properties".


Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/monitoringextensions/3235 HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:45463 Content-Length: 45


{

"extension" : "3235", "pickup" : true

}

Sample PUT Response


Same as "GET response"


MonitoringExtension List Resource

Table of Contents

This relation provides a list of extensions being monitored by this extension. That is, this extension is a secondary monitor for these extensions.


Supported Operations


GET


View list of MonitoringExtension resources HEAD

Get just the header response PUT

Replace the list of MonitoringExtension


Permitted Authorities (as defined in API Guide)


Telco User


GET,PUT

TenantAdmin User


GET,PUT

Non-admin User


GET





Location


GET


List Details


The MonitoringExtension list resource provides a list of MonitoringExtension resources in summarized form.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1:extensions


List of existing extensions of the tenant. This is useful to find the user or location extension for managing monitor settings.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.



The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


monitoring


Each element of the list indication a user or location monitoring this extension.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 952


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/monitoringextensions"

},

"v1:extensions" : [ {

"href" : "/api/v1/tenants/21375/extensions{?expand,filter,extensionType,agent}", "templated" : true

} ],

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/users/4332/monitoringextensions/{monitorExtension}", "templated" : true

} ]

},

"count" : { "monitoring" : 1

},

"total" : { "monitoring" : 1

},

"_embedded" : {

"monitoring" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/monitoringextensions/3235"

}

},

"extension" : "3235", "pickup" : true

} ]

}

}

Modify List Request

PUT Request


Use a PUT request to replace the existing MonitoringExtension list with a new list of MonitoringExtension.


PUT Request Properties


The following properties are processed as part of each element in the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


monitoring[]. extension


String


Indicates an extension that is monitored by this extension. That is a monitor for this extension.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Numeric?


n/a


monitoring[]. pickup


Boolean


If true then this extension can pickup call to the embedded extension.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


True or False.


n/a


PUT Response Properties


The response to a successful PUT request is the newly updated resource representation similar to the response of GET.


Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/monitoringextensions HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:45463 Content-Length: 76


{

"monitoring" : [ {

"extension" : "3235", "pickup" : true

} ]

}

Sample PUT Response


Same as "GET response"


MorningGreeting File

Table of Contents

The My Phone resource provides detail information about each Phone logged in by the subscriber(User/Location).


Supported Operations


GET


View My Phone Details HEAD

Get just the header response PUT

Modify a My Phone Details DELETE

Remove(logout) of the Phone


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE

TenantAdmin User


GET, PUT, DELETE

Non-admin User






GET, PUT, DELETE (only their own data)

Location


GET, PUT, DELETE (only their own data)


Resource Details

Properties


Path

Type

Description

Visibility


phoneId


Number


A unique system identifier for the phone. Read only.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


identifier


String


A unique identifier for the phone: for a Mitel

phone, the MAC Address; for a SIP phone this will typically indicate the value the device provided in its User-Agent header during registration.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


phoneModelName


String


For Mitel & Polycom phones, this is the Service Provider’s phone model name. For other SIP phones, this will be the default label for SIP devices for this Service Provider.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


userLabel


String


The user-assigned label if the user has labelled the phone. If the phone hasn’t been labelled, this field will contain a copy of the identifier.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


defaultC2CPhone


Boolean


Indicates whether this is the default Click to Call phone.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


defaultIntercomPhone


Boolean


Indicates whether this is the default Intercom phone.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


phone


The phone resource related to this MyPhone.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 632


{

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/myphones/546"

}

},

"defaultC2CPhone" : true, "defaultIntercomPhone" : true, "identifier" : "08000f6e6799", "phoneId" : 546,

"phoneModelName" : "Mitel 5330 IP Phone", "userLabel" : "Desk Phone",

"_embedded" : {

"phone" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/phones/546"

}

},

"identifier" : "08000f6e6799", "macAddress" : "08:00:0f:6e:67:99", "phoneId" : 546,

"phoneModelName" : "Mitel 5330 IP Phone", "userLabel" : "Desk Phone"

}

}

}

Modify Request


Use a PUT request to modify the properties of My Phone.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.



Path

Type

Description

Permission

Constraints


defaultIntercom Phone


Boolean


Indicates whether this is the default Intercom device.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional. It must be set to true if this phone is required to be the default Intercom device.

Unknown type of SIP phone cannot be set as default Intercom device.


defaultC2CPhone


Boolean


Indicates whether this is the default Click to Call device.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional. It must be set to true if this

phone is required to be the default Click to Call device.


userLabel


String


The user-assigned label if the user has labelled the phone. If the phone hasn’t been labelled, this field will contain a copy of the identifier.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional


identifier


String


A unique identifier for the phone: for a Mitel phone, the MAC Address; for a SIP phone this

will typically indicate the value the device provided in its User-Agent header during registration.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Readonly.


phoneModelName


String


For Mitel & Polycom phones, this is the Service Provider’s phone model name. For other SIP phones, this will be the default label for SIP devices for this Service Provider.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Readonly.


Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/myphones/546 HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:33419 Content-Length: 179


{

"identifier" : "08:00:0f:14:cb:ac", "userLabel" : "My Phone Label",


"phoneModelName" : "Mitel 5340 IP Phone", "defaultC2CPhone" : true, "defaultIntercomPhone" : true

}

Sample PUT Response


Same as "GET response"


My Phones List Resource

Table of Contents

This relation returns a list of My Phones assigned to the current Subscriber(User/ Location).


Supported Operations


GET


View My Phones List HEAD

Get just the header response


Permitted Authorities (as defined in API Guide)


Telco User


GET

Tenant-scoped Telco User


GET

TenantAdmin User


GET

Non-admin User


GET(only their own data)

Location


GET(only their own data)


List Details


The My Phones list resource provides a list of My Phone resources.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


myPhone


Each element of the phone array represents a single phone and indicates the phone’s model, user label, and network identifier.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 804


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/myphones"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/users/4332/myphones/{phoneId}", "templated" : true

} ]

},

"count" : { "myPhone" : 1

},

"total" : { "myPhone" : 1

},

"_embedded" : {

"myPhone" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/myphones/546"

}

},

"defaultC2CPhone" : true, "defaultIntercomPhone" : true, "identifier" : "08000f6e6799", "phoneId" : 546,

"phoneModelName" : "Mitel 5330 IP Phone", "userLabel" : "Desk Phone"

} ]

}

}

Modify List Request


Currently the API doesn’t support element creation of this resource.


NameAnnouncement Resource

Table of Contents

The OutgoingCallPrivacy resource provides the ability to view the User/Location’s Outgoing Call Privacy feature configuration.


If Outgoing Call Privacy permission has not been enabled for this user, querying this resource will return a 404 Error Response with an application error code of FeatureNotEnabled.


Supported Operations


GET


View Outgoing Call Privacy feature configuration HEAD

Get just the header response PUT

Modify Outgoing Call Privacy feature configuration


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin


GET, PUT

User


GET, PUT



Resource Details

Properties


Path

Type

Description

Visibility


active


Boolean


Indicates whether Outgoing Call Privacy (Calling Line Id Blocking) is currently active for this user/location.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 124


{

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/callprivacy"

}

},

"active" : true

}

Modify Request


Use a PUT request to modify the properties of a call group.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


active


Boolean


Indicates whether Outgoing Call Privacy (Calling Line Id Blocking) is currently active for this user/ location.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


True or False.

Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/callprivacy HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:45463 Content-Length: 21


{

"active" : true

}


Sample PUT Response


Same as "GET response"


PersonalContact Resource

Table of Contents

The PersonalContact resource provides information about a specific Personal Contact.


Supported Operations


GET


View PersonalContact details HEAD

Get just the header response PUT

Modify PersonalContact details DELETE

Remove the PersonalContact


Permitted Authorities (as defined in API Guide)


Non-admin User


GET, PUT, DELETE


Resource Details

Properties


Path

Type

Description

Visibility


name


String


The name of the Personal Contact.


User


contactId


Number


Identifier for the Personal Contact. Read Only, system assigned.


User

Link Relations


Relation

Description

Visibility


v1:personalContactFields


personal contact fields.


User

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 440


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/personalcontacts/25"

},

"v1:personalContactFields" : {

"href" : "/api/v1/tenants/21375/users/4332/personalcontacts/25/contactfields{?

expand,filter}",

"templated" : true

}

},

"contactId" : 25,

"name" : "Wayne Interprises"

}

Modify Request


Use a PUT request to modify the properties of an PersonalContact.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.



Path

Type

Description

Permission

Constraints


name


String


The name of the PersonalContact.


User


Max 50 chars.


Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/personalcontacts/25 HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:46437 Content-Length: 34


{

"name" : "Wayne Interprises"

}

Sample PUT Response


Same as "GET response"


PersonalContact List Resource

Table of Contents

This relation returns a list of configured PersonalContacts for the User.


Supported Operations


GET


View list of PersonalContacts HEAD

Get just the header response POST

Add new PersonalContact


Permitted Authorities (as defined in API Guide)


Non-admin User


GET, POST

List Details


The PersonalContact list resource provides a list of PersonalContact resources in summarized form.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


personalContact


Each element of the PersonalContact list represents a single PersonalContact, and indicates the Personal Contact personalContactId and name.


User


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json


Content-Length: 702


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/personalcontacts"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/users/4332/personalcontacts/{contactId}", "templated" : true

} ]

},

"count" : { "personalContact" : 1

},

"total" : { "personalContact" : 1

},

"_embedded" : { "personalContact" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/personalcontacts/25"

}

},

"contactId" : 25,

"name" : "Wayne Interprises"

} ]

}

}

Modify List Request


Use a POST request to add a new PersonalContact.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


name


String


The name of the PersonalContact.


User


Required. Max 40 chars.


None


A successful POST returns a 201 (Created). A link to the newly added PersonalContact can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/tenants/21375/users/4332/personalcontacts HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:46437 Content-Length: 34


{

"name" : "Wayne Interprises"

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/users/4332/personalcontacts/24


PersonalContactField Resource

Table of Contents

The PersonalContactField resource provides information about a specific Personal Contact Field.


Supported Operations


GET


View PersonalContactField Details HEAD

Get just the header response PUT

Modify PersonalContactField Details DELETE

Remove the PersonalContactField


Permitted Authorities (as defined in API Guide)


Non-admin User


GET, PUT, DELETE


Resource Details

Properties


Path

Type

Description

Visibility


label


String


The label of the Personal ContactField.


User


value


String


The value of the Personal ContactField.


User


contactFieldId


Number


Identifier for the Personal ContactField. Read Only, system assigned.


User

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 234


{

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/personalcontacts/25/contactfields/26"

}

},

"contactFieldId" : 26,

"label" : "Bruce Wayne email address", "value" : "[email protected]"

}

Modify Request


Use a PUT request to modify the properties of an PersonalContactField.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


label


String


The value of the PersonalContact Field.


User


Max 256 chars.


value


String


The value of the PersonalContact Field.


User


Max 256 chars.

Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/personalcontacts/25/contactfields/26 HTTP/1.1


Content-Type: application/json; charset=UTF-8 Host: localhost:45711

Content-Length: 81


{

"label" : "Bruce Wayne email address", "value" : "[email protected]"

}

Sample PUT Response


Same as "GET response"


PersonalContactField List Resource

Table of Contents

This relation returns a list of configured PersonalContactFields for the Personal Contact.


Supported Operations


GET


View list of PersonalContactFields HEAD

Get just the header response POST

Add new PersonalContactField


Permitted Authorities (as defined in API Guide)


Non-admin User


GET, POST

List Details


The PersonalContactField list resource provides a list of PersonalContactField resources in summarized form.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


personalContactField


Each element of the PersonalContactField list represents a single PersonalContactField.


User


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 829


{


"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/personalcontacts/25/contactfields"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/users/4332/personalcontacts/25/contactfields/

{contactFieldId}",

"templated" : true

} ]

},

"count" : { "personalContactField" : 1

},

"total" : { "personalContactField" : 1

},

"_embedded" : { "personalContactField" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/personalcontacts/25/contactfields/26"

}

},

"contactFieldId" : 26,

"label" : "Bruce Wayne email address", "value" : "[email protected]"

} ]

}

}

Modify List Request


Use a POST request to add a new PersonalContactField.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


label


String


The label of the PersonalContact Field.


User


Required. Max 256 chars.


None



Path

Type

Description

Permission

Constraints

Default

Value


value


String


The value of the PersonalContact Field.


User


Required. Max 256 chars.


None


A successful POST returns a 201 (Created). A link to the newly added PersonalContactField can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/tenants/21375/users/4332/personalcontacts/25/contactfields HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:45711 Content-Length: 81


{

"label" : "Bruce Wayne email address", "value" : "[email protected]"

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/users/4332/personalcontacts/25/contactfields/24


PersonalKeyMapping Resource

Table of Contents

The PersonalKeyMapping resource provides information about a specific Personal KeyMapping for a User or Location.


Supported Operations


GET


View PersonalKeyMapping Details HEAD

Get just the header response PUT

Add or Modify PersonalKeyMapping Details DELETE

Remove the PersonalKeyMapping


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE

TenantAdmin User


GET, PUT, DELETE



Non-admin User


GET, PUT, DELETE

Location


GET, PUT, DELETE


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


featureCode


String


KeyFeature featureCode of the personal key mapping


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


featureData


String


featureData of the personal key mapping, the requirement and the

value type is depend on the featureCode.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


label


String


key label of the personal key mapping. Label of Line Appearance key of Verge phone is read only.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


keyId


Number


key ID of the personal key mapping of User or Location.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User

Link Relations


Relation

Description

Visibility


v1:keyFeatures


Acceptable KeyFeature values for this personal phone key mapping.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


keyFeature


The KeyFeature detail which is currently provisioned on the personal key of this User or Location.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


n

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1033


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/personalkeymappings/503"

},

"v1:keyFeatures" : {

"href" : "/api/v1/tenants/21375/keyfeatures?keyId=503&extension=4332"

}

},

"featureCode" : "21.0",

"featureData" : "6132234534",

"keyId" : 503,

"label" : "Join/Leave Group 6001", "_embedded" : {

"keyFeature" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/keyfeatures/21.0"

}

},

"description" : "Join/Leave Call Group", "featureCode" : "21.0", "featureDataRequire" : "Mandatory", "featureDataType" : "CallGroupExt", "featureName" : "Join/Leave Group",

"helpText" : "Calling group member can use this key to subscribe or un-subscriber to a calling group."

}

}

}


Modify Request


Use a PUT request to add a new PersonalKeyMapping or modify the properties of an exist PersonalKeyMapping.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


featureCode


String


Indicates the KeyFeature feature Code will be provisioned on this personal key.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Required


featureData


String


Indicates the feature Data value will be provisioned on this personal key.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Required or Optional, depend on the featureCode, some featureCode requires featureData, some not. See KeyFeature resource for more details.


label


String


Indicates the label of the personal key.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional. Max length=100. Label of Line Appearance

key of Verge phone is read only, if provided will be ignored.

Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/personalkeymappings/503 HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:45447 Content-Length: 97


{

"featureCode" : "21.0",

"featureData" : "6132234534", "label" : "Join/Leave Group 6001"

}

Sample PUT Response


Same as "GET response"


PersonalKeyMapping List Resource

Table of Contents

This relation returns a list of configured PersonalKeyMapping for the User or Location.


Supported Operations


GET


View list of PersonalKeyMappings for the User or Location HEAD

Get just the header response DELETE

Remove all PersonalKeyMappings for the User or Location(Reset all keys)


Permitted Authorities (as defined in API Guide)


Telco User


GET, DELETE

TenantAdmin User


GET, DELETE

Non-admin User


GET, DELETE

Location


GET, DELETE


List Details


The PersonalKeyMapping list resource provides a list of PersonalKeyMapping resources in summarized form.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support


phoneModel


Can be used to only return key mappings of the user or location for a specified phone model. If not

provided or not specified, will return all personal keys of the user or location.


Optional. If provided, must be a valid phone model name of the tenant

of the user or location, if not a valid phone model name, will return a empty key list.

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1:keyFeatures


Acceptable KeyFeature values for this personal key of this User or Location.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.



The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


personalKeyMapping


Each element of the PersonalKeyMapping list represents a single PersonalKeyMapping.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 927


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/personalkeymappings"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/users/4332/personalkeymappings/{keyId}", "templated" : true

} ],

"v1:keyFeatures" : [ {

"href" : "/api/v1/tenants/21375/keyfeatures?keyId={keyId}&extension=4332", "templated" : true

} ]

},

"count" : { "personalKeyMapping" : 1

},

"total" : { "personalKeyMapping" : 1

},

"_embedded" : { "personalKeyMapping" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/personalkeymappings/503"

}

},

"featureCode" : "21.0",

"featureData" : "6132234534",

"keyId" : 503,

"label" : "Join/Leave Group 6001"

} ]

}

}

Modify List Request


Use a DELETE request to remove all PersonalKeyMapping of a User or Location. A successful DELETE returns a 200 OK and a empty list.


Personal Voicemail PIN Reset Resource

Table of Contents

The Personal Voicemail Settings resource provides information about the voicemail settings of the User or Location.


Supported Operations


GET


View User or Location Personal Voicemail Settings detail HEAD

Get just the header response PUT

Modify User or Location Personal Voicemail Settings


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin User


GET, PUT

User


GET, PUT


Resource Details

Properties


Path

Type

Description

Visibility


useMWI


Boolean


Indicates whether the user or location using MWI for voicemail.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


notificationEmails


String


One or multiple email addresses where to send notification, separated by semi-column.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


copyToEmails


String


One of multiple email addresses where to send a copy of the voicemail, separated by semi-column.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


deleteAfterCopy


Boolean


Indicates whether delete the voicemail after sent out a copy to specified email address.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


dial0Enabled


Boolean


Indicates whether the dial0 option enabled for voicemail.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


dial0Extension


String


When dial0 option enabled, the target extension when 0 is dialed, could be user or location extension, call group extension or auto attendant extension.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


timeStampTimeZone


String


TimeZone for the time stamp in notification or copy emails.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


vmLanguage


String


Prefer language for voicemail prompts.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User

Link Relations


Relation

Description

Visibility


v1:vmLanguages


Link to get a list of available Voicemail Languages in system.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 596


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/voicemailsettings"

},

"v1:vmLanguages" : {

"href" : "/api/v1/vmlanguages{?filter}", "templated" : true

}

},

"copyToEmails" : "[email protected]", "deleteAfterCopy" : false,

"dial0Enabled" : true, "dial0Extension" : "7001",

"notificationEmails" : "[email protected]; [email protected]", "timeStampTimeZone" : "US/Eastern",

"useMWI" : true, "vmLanguage" : "en"

}

Modify Request


Use a PUT request to modify voicemail settings of user or location.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.



Path

Type

Description

Permission

Constraints

Default

Value


useMWI


Boolean


whether the user or location using MWI for voicemail.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional, if provided, must be True or False.


If not provided, will keep current setting unchanged.



Path

Type

Description

Permission

Constraints

Default

Value


notification Emails


String


One or multiple email addresses where to send notification.

Maximum 3 emails.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional, if provided, must be valid email address, if more than one, must separated by semi-column.


If not provided, will keep current setting unchanged.


copyToEmails


String


One of multiple email addresses where to send

a copy of the voicemail.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional, if provided, must be valid email address, if more than one, must separated by semi-column.


If not provided, will keep current setting unchanged.


deleteAfter Copy


Boolean


Indicates whether delete the voicemail after sent out a copy to specified email address. If copy ToEmails is empty, this will be reset to True.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional, if provided, must be True or False.


If not provided, will keep current setting unchanged.


dial0Enabled


Boolean


Indicates whether the dial0 option enabled for voicemail.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional, if provided, must be True or False.


If not provided, will keep current setting unchanged.


dial0 Extension


String


The target extension when 0 is dialed, could be user or location extension, call group extension

or auto attendant extension. If dial0 Enabled is false, this value will be ignored.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional, if provided, must be valid user or location extension, call

group extension or auto attendant extension of this tenant.


If not provided, will keep current setting unchanged.


timeStampTime Zone


String


TimeZone for the time stamp in notification or copy emails.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional, if provided, must be an valid time zone name.


If not provided, will keep current setting unchanged.



Path

Type

Description

Permission

Constraints

Default

Value


vmLanguage


String


Prefer language for voicemail prompts..


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional, if provided, must be an valid Voicemail Language code available in system.


If not provided, will keep current setting unchanged.


Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/voicemailsettings HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:39149 Content-Length: 275


{

"useMWI" : true,

"notificationEmails" : "[email protected]; [email protected]", "copyToEmails" : "[email protected]",

"deleteAfterCopy" : true, "dial0Enabled" : true, "dial0Extension" : "7001", "timeStampTimeZone" : "US/Eastern", "vmLanguage" : "en"

}

Sample PUT Response


Same as "GET response"


Phone Resource

Table of Contents

The Phone Detail resource provides information about a specific phone, including the phone’s type and addressing information. The provided detail differs depending on the type of phone (Mitel, Polycom, or generic SIP device) and its network location (on-net or off-net).


Supported Operations


GET


View Phone Details HEAD

Get just the header response PUT

Modify the Details of Phone DELETE

Delete the Phone


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE

TenantAdmin User






GET, PUT, DELETE

User


GET (own phones only)

Location


GET (own phones only)


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


aorDomain


String


The IP Address that the system is using to communicate with the

phone. For on-net phones, this is the phone’s IP address. For off-net phones, this is the phone’s site gateway address.


Telco(TenantBasicOr AdvanceManagement)


identifier


String


A unique identifier for the phone: for a Mitel

phone, the MAC Address; for a SIP phone this will typically indicate the value the device provided in its User-Agent header during registration.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


phoneId


Number


A unique system identifier for the phone. Read only.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User



Path

Type

Description

Visibility


phoneModelName


String


For Mitel & Polycom phones, this is the Service Provider’s phone model name. For other SIP phones, this will be the default label for SIP devices for this Service Provider.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


userLabel


String


The user-assigned label if the user has labelled the phone. If the phone hasn’t been labelled, this field will contain a copy of the identifier.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


phoneHardwareModel


String


For supported Mitel or Polycom phone models, this property identifies the hardware model.


Telco(TenantBasicOr AdvanceManagement)


signallingProtocol


String


Identifies the type of signalling used by the phone. Currently 'Minet' and 'SIP' are supported.


Telco(TenantBasicOr AdvanceManagement)


macAddress


String


The MAC address of the phone.


Telco(TenantBasicOr AdvanceManagement)


Link Relations


Relation

Description

Visibility


v1:phoneExtensionMgmt


This relation manages assigning the phone(device) to a subscriber(locatoin/user) extension.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:phoneReset


This relation can be used to reset the phone.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:staticSite


If the phone is registered on a Static Site, the staticSite relation indicates which site.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:dynamicSite


If the phone is registered on a Dynamic Site, the dynamicSite relation indicates which site.


Telco(TenantBasicOrAdvance Management), TenantAdmin



Relation

Description

Visibility


v1:tenant


The tenant of where this phone is registered to.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:phoneToSite


List phone to site relationship.


Telco(TenantBasicOrAdvance Management)


v1:phoneEclidAddress


Emergency CLID and address information. This link can be used to add an emergency CLID and address information if the phone doens’t have one.


Telco(TenantAdvanceManagement)


v1options:signalling Protocol


List of valid values for the signalling protocol.


Telco(TenantBasicOrAdvance Management)


Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


extension


Indicates the logged-in extension if there is a User or Location currently logged into the phone.

This representation is not sent if there is no logged-in extension.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


staticSite


Indicates the registered StaticSite of the phone. This representation is not sent if the phone is registered on a Dynamic Site.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


eclidAddress


Indicates the emergency CLID and address of the phone. This representation is not sent if the phone

is using site number as eCLID.


Telco(TenantAdvance Management), Tenant Admin


y



Name

Description

Visibility

Expandable


dynamicSite


Indicates the registered DynamicSite of the phone.

This representation is not sent if the phone is

registered on a StaticSite.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 2115


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/phones/546"

},

"v1:phoneEclidAddress" : {

"href" : "/api/v1/tenants/21375/phones/546/eclidaddress"

},

"v1:phoneExtensionMgmt" : {

"href" : "/api/v1/tenants/21375/phones/546/phoneextensions{?expand}", "templated" : true

},

"v1:phoneReset" : {

"href" : "/api/v1/tenants/21375/phones/546/reset"

},

"v1:phoneToSite" : {

"href" : "/api/v1/tenants/21375/phones/546/phonetosite"

},

"v1:staticSite" : {

"href" : "/api/v1/tenants/21375/staticsites/5"

},

"v1:tenant" : {

"href" : "/api/v1/tenants/21375"

},

"v1options:signallingProtocol" : {

"href" : "/api/v1/enums/signallingprotocol"

}

},

"aorDomain" : "10.10.10.10", "identifier" : "08000f6e6799", "macAddress" : "08:00:0f:6e:67:99", "phoneHardwareModel" : "MN5330", "phoneId" : 546,

"phoneModelName" : "Mitel 5330 IP Phone", "signallingProtocol" : "Minet", "userLabel" : "Desk Phone",

"_embedded" : {

"extension" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/extensions/4332"

}

},

"accountId" : "4332@21375", "enabled" : true,


"extension" : "4332", "extensionType" : "userExt", "name" : "Smith, Dave"

},

"eclidAddress" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/phones/546/eclidaddress"

}

},

"address1" : "1 Hines Road", "address2" : "Line 2",

"city" : "Ottawa",

"country" : "Canada", "emergencyClid" : "6132802000", "postalCode" : "K2M 3PC", "state" : "Ontario"

},

"staticSite" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/staticsites/5"

}

},

"siteId" : 5, "siteName" : "Cabin 3"

}

}

}

Modify Request


Use a PUT request to modify the properties of Phone. Right now only "userLabel" can be changed.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


aorDomain


String


The IP Address that the system is using to communicate with

the phone. For on-net phones, this is the phone’s IP address. For off-net phones, this is the phone’s site gateway address.


Telco(Tenant BasicOrAdvance Management)


Optional. Read only. It will be ignored if presents.


signalling Protocol


String


Identifies the type of signalling used by the phone. Currently 'Minet' and 'SIP' are supported.


Telco(Tenant BasicOrAdvance Management)


Optional. Read only. It will be ignored if presents.



Path

Type

Description

Permission

Constraints


phoneHardware Model


String


For supported Mitel or Polycom phone models, this

property identifies the hardware model.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. Read only. It will be ignored if presents.


userLabel


String


The user-assigned label if the user has labelled the phone. If the phone hasn’t been labelled, this field will contain a copy of the identifier.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required. This is the only field which can be modified.


identifier


String


A unique identifier for the phone: for a Mitel phone, the MAC Address; for a SIP phone this

will typically indicate the value the device provided in its User-Agent header during registration.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. Read only. It will be ignored if presents.


phoneModelName


String


For Mitel & Polycom phones, this is the Service Provider’s phone model name. For other SIP phones, this will be the default label for SIP devices for this Service Provider.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. Read only. It will be ignored if presents.


Sample PUT Request

PUT /api/v1/tenants/21375/phones/546 HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:41699

Content-Length: 223


{

"identifier" : "08:00:0f:14:cb:ac", "userLabel" : "User Phone Label", "phoneModelName" : "Mitel 5340 IP Phone", "signallingProtocol" : "Minet", "phoneHardwareModel" : "MN5360", "aorDomain" : "10.200.200.194"

}

Sample PUT Response


Same as "GET response"


Phones List Resource

Table of Contents

This relation returns a list of registered phones in the enterprise.


The result set returned by a query to this resource is context-sensitive. Telco and TenantAdmin users will receive a list containing all phones in the tenant. Non-admin users and location will receive a list containing only those phones they are logged into.


Supported Operations


GET


View Phone List HEAD

Get just the header response POST

Add a new phone


Permitted Authorities (as defined in API Guide)


Telco User


GET, POST

TenantAdmin User


GET



User


GET

Location


GET


List Details


The Phone list resource provides a list of Phone resources in summarized form.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1options:signalling Protocol


This enum identifies the supported phone signalling protocols. This link is provided only to TelcoAdmin users.


Telco(TenantBasicOrAdvance Management)

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.



The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


phone


Each element of the phone array represents a single phone and indicates the phone’s model, user label, and network identifier.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 938


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/phones"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/phones/{phoneId}", "templated" : true

} ],

"v1options:signallingProtocol" : [ {

"href" : "/api/v1/enums/signallingprotocol"

} ]

},

"count" : {

"phone" : 1

},

"total" : {

"phone" : 1

},

"_embedded" : {

"phone" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/phones/546"

}

},

"identifier" : "08000f6e6799", "macAddress" : "08:00:0f:6e:67:99", "phoneId" : 546,

"phoneModelName" : "Mitel 5330 IP Phone", "userLabel" : "Desk Phone"

} ]

}

}


Modify List Request


Use a POST request to add a new phone.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


macAddress


String


MAC address associated with the phone.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Mandatory field.


n/a


POST Response


A successful POST returns a 201 (Created). A link to the newly added Phone can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/tenants/21375/phones HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:41699

Content-Length: 40


{

"macAddress" : "08:00:0f:6e:67:99"

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/phones/334


Phone Extension Resource

Table of Contents

The PhoneExtension resource defines the relationship between a phone and an extension.


In order to access this resource, users must have Telco Admin or Tenant Admin permission configured in WebAdmin.



Supported Operations


GET


View the Phone Extension relationship details HEAD

Get just the header response PUT

Change the Extensions associated(assigned) to the phone DELETE

Clear the Phone’s Extension (unassign the extension from the phone)


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE





Tenant Admin User


GET, PUT, DELETE


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


phoneId


Number


The identifier for this phone. Read only.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


extension


String


The extension logged in this phone.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin

Link Relations


Relation

Description

Visibility


v1:extensions


This lists all the extensions of the tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


extension


The extension in this relationship.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y



Name

Description

Visibility

Expandable


phone


The phone in this relationship.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1137


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/phoneextensions/546"

},

"v1:extensions" : {

"href" : "/api/v1/tenants/21375/extensions{?expand,filter,extensionType,agent}", "templated" : true

}

},

"extension" : "4332",

"phoneId" : 546, "_embedded" : {

"extension" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/extensions/4332"

}

},

"accountId" : "4332@21375", "enabled" : true, "extension" : "4332", "extensionType" : "userExt", "name" : "Smith, Dave"

},

"phone" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/phones/546"

}

},

"identifier" : "08000f6e6799", "macAddress" : "08:00:0f:6e:67:99", "phoneId" : 546,

"phoneModelName" : "Mitel 5330 IP Phone", "userLabel" : "Desk Phone"

}

}

}

Modify Request


Use a PUT request to change the Extension assigned to the Phone.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


extension


String


The extension is to be assigned to this phone.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required. Must be an User/Location extension for this tenant.

Sample PUT Request

PUT /api/v1/tenants/21375/phoneextensions/546 HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:37203 Content-Length: 26


{

"extension" : "4332"

}

Sample PUT Response


Same as "GET response"


Phone Extension Management Resource

Table of Contents

This resource shows the relationship between Phone and Extension of User/Location. One phone can be assigned to only one extension. Included is a link to the list of Extensions for the tenant.


This resource provides the ability to manage the relation between a phone and an User/ Location Extension.


Each Phone may be associated with(assigned to) an Extension. This resource provides a link to a resource that links this specific Phone with a specific Extension. If this Phone does not currently have an Extension, POST to this resource to create a relationship.


If this site currently has an Extension, the current PhoneExtension relationship resource will be embedded within this management resource. The Extension associated with this phone can be changed by modifying the relationship resource.


In order to manipulate this resource, users must have Telco Admin or Tenant Admin permission configured in WebAdmin.



Supported Operations


GET


View the Phone Extension relationship. HEAD

Get just the header response. POST


Associate(assign) an Extension to the phone.


Permitted Authorities (as defined in API Guide)


Telco User


GET, POST

TenantAdmin User


GET, POST

Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1:extensions


List of extensions for the tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).




Name

Description

Visibility

Expandable


phoneExtension


If present, this embedded resource is an array containing the phone extension relation resource. This representation will not be present if the phone hasn’t been assigned to an User or Location.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 811


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/phones/546/phoneextensions"

},

"v1:extensions" : [ {

"href" : "/api/v1/tenants/21375/extensions{?expand,filter,extensionType,agent}", "templated" : true

} ],

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/phoneextensions/{phoneId}", "templated" : true

} ]

},

"count" : { "phoneExtension" : 1

},

"total" : { "phoneExtension" : 1

},

"_embedded" : { "phoneExtension" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/phoneextensions/546"

}

},

"extension" : "4332",

"phoneId" : 546

} ]

}

}

POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.



The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


extension


String


Extension of the User or Location.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Should be the extension of the User or Location. A validation error will be thrown

if this isn’t an extension of User or Location OR the extension is disabled.


n/a


POST Response Properties


A successful POST returns a 201 (created) and the location head points to the new created Phone Extension relationship.


Sample POST Request

POST /api/v1/tenants/21375/phones/546/phoneextensions HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:41699 Content-Length: 26


{

"extension" : "4332"

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/phoneextensions/546


PhoneReset Resource

Table of Contents

The PIN Management resource provides the ability to modify the User’s PIN.


Supported Operations


GET


View whether the user has a system generated PIN HEAD

Get just the header response POST

Modify user’s PIN


Permitted Authorities (as defined in API Guide)


Telco User


GET, POST

TenantAdmin


GET, POST

User


GET, POST


Resource Details

Properties


Path

Type

Description

Visibility


forcePinChangeOn Login


Boolean


If true the user’s PIN is currently a system generated one.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 132


{

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/pin"

}

},

"forcePinChangeOnLogin" : false

}

Modify Request


Use a POST request with the following properties in the payload to set user PIN.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


oldPin


String


The user’s current PIN.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional for Telco or Tenant Admin users when change other user’s PIN, if provided must be match current PIN. Required when user change its own PIN.


newPin


String


The new PIN for the user.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Required for all users. Must meet PIN requirements, for User update its own PIN, can not be the same as current PIN.



Path

Type

Description

Permission

Constraints


forcePinChangeOn Login


Boolean


Specify if need user change its PIN when login on web portal after this PIN change. Only for Telco or Tenant Admin user changing other user’s PIN, otherwise, will be ignored.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, if not provided in request will use default value false.


Sample POST Request

POST /api/v1/tenants/21375/users/4332/pin HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:45463

Content-Length: 78


{

"oldPin" : "2342",

"newPin" : "1834", "forcePinChangeOnLogin" : true

}

Sample POST Response


Same as "GET response"


PIN Notification Method Resource

Table of Contents

This resource allows the PIN notification method for a tenant to be set or retrieved.


Supported Operations


GET


View a the PIN notification method for the tenant. HEAD

Get just the header response PUT

Set the PIN notification method for the tenant.


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin User


GET, PUT


Resource Details

Properties


Path

Type

Description

Visibility


inheritedFromSystem Default


Boolean


If true then the pin notification method is the system default.


Telco(TenantBasicOr AdvanceManagement)


pinNotification Method


String


The PIN notification method. If inheritedFrom SystemDefault is true then this is the current default value from ServiceProvider or system setting.


Telco(TenantBasicOr AdvanceManagement)

Link Relations


Relation

Description

Visibility


v1options:pinNotification MethodType


Acceptable PIN notification method types.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 413


{

"_links" : {

"curies" : {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/pinnotificationmethod"

},

"v1options:pinNotificationMethodType" : {

"href" : "/api/v1/enums/pinnotificationmethodtype"

}

},

"inheritedFromSystemDefault" : false, "pinNotificationMethod" : "Screen"

}

PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.




Path

Type

Description

Permission

Constraints

Default

Value


inheritedFrom


Boolean


If true then the


Telco(Tenant


True of False.


The value of

SystemDefault


pin notification

Advance


current setting



method is the

Management)


before update.



system default.



When tenant






creation, the






value is True.


pin


String


The PIN


Telco(Tenant


One of the Pin


The value of

Notification


notification

Advance

Notification

current setting

Method


method. If

Management)

MethodTypes

before update.



inheritedFrom


other than

When tenant



SystemDefault


None. Ignored

creation, the



is true then this


if inheritedFrom

value is from



is the system


SystemDefault is

ServiceProvider



default.


true

or system default






setting.


PUT Response Properties


A successful PUT returns a 200 (OK) and the updated PIN Notification Method.


Sample PUT Request

PUT /api/v1/tenants/21375/pinnotificationmethod HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:40873 Content-Length: 79


{

"inheritedFromSystemDefault" : false, "pinNotificationMethod" : "Email"

}

Sample PUT Response


Same as "GET response"


PolycomRingTones Resource

Table of Contents

The PolycomRingTones resource contains the User/Location’s Polycom phone ring tone settings.


Supported Operations


GET


View user/location Polycom ring tone settings HEAD

Get just the header response PUT

Modify user/location Polycom ring tone settings


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin


GET, PUT

User


GET, PUT

Location






GET, PUT


Resource Details

Properties


Path

Type

Description

Visibility


vvxBlfRingTone


String


Indicates the VVX BLF Ring Tone Type is currently selected for this user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User

Link Relations


Relation

Description

Visibility


v1options:vvxBlfRingTone Type


Acceptable values for the VVX BLF Ring Tone Type setting.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 367


{

"_links" : {

"curies" : {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/polycomringtones"

},

"v1options:vvxBlfRingToneType" : {

"href" : "/api/v1/enums/vvxblfringtonetype"

}

},

"vvxBlfRingTone" : "LongDoubleTrill"

}

Modify Request


Use a PUT request with the following properties in the payload to modify the ring tone settings of the uer/location’s Polycom phone(s).


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.



Path

Type

Description

Permission

Constraints


vvxBlfRingTone


String


VVX BLF Ring Tone type, possible values are: LongDoubleTrill or Silent.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Mandatory


PUT Request Properties

PUT /api/v1/tenants/21375/users/4332/polycomringtones HTTP/1.1 Content-Type: application/json; charset=UTF-8

Content-Length: 33


{

"vvxBlfRingTone" : "Silent"

}

Sample PUT Response


Same as "GET response"


ProfileKeyMapping Resource

Table of Contents

The ProfileKeyMapping resource identifies a single key mapping in a key profile. Each key profile contains hundreds of key mappings. For many phone types, only a small subset of these key mappings are applicable.


Supported Operations


GET


View the key mapping details HEAD

Get just the header response PUT

Update the key mapping details


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin User


GET, PUT

Non-admin User


GET





Location


GET


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


featureCode


String


The feature code currently associated with the virtual key id in this mapping.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


featureData


String


Additional information assocated with a key.

For example, the phone number associated with a speed dial.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


label


String


The user defined label associated with the key. Label of Line Appearance key of Verge phone is read only.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


locked


Boolean


If true, users are unable to change this key mapping


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


keyId


Number


Each possible key has a unique keyId


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


Link Relations


Relation

Description

Visibility


v1:keyFeatures


List features that are valid for this virtual key.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


keyFeature


The feature currently programmed on the key.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


n

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 955


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/keyprofiles/10/keymappings/2051"

},

"v1:keyFeatures" : {

"href" : "/api/v1/tenants/21375/keyfeatures?keyId=2051"

}

},

"featureCode" : "206.0",

"featureData" : "6132234534",

"keyId" : 2051, "label" : "Bob", "locked" : true, "_embedded" : {

"keyFeature" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/keyfeatures/206.0"

}

},

"description" : "Twinning On/Off Toggle", "featureCode" : "206.0", "featureDataRequire" : "None", "featureName" : "Twinning On/Off",

"helpText" : "The Twinning On/Off key can be used to activate/deactivate twinning."

}


}

}

Modify Request


Use a PUT request to provision a Key Mapping of Key Profile.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


featureCode


String


The feature code associated with the virtual key id in this mapping.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


This must be a valid feature code.


featureData


String


Additional information assocated with a

key depends on feature code(Optional for some feature code). For example, the phone number associated with a personal speed dial feature code.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


This must be a valid data for specified feature code. For example, must be

a valid extension of User or Location for personal speed dial feature code.


label


String


The user defined label associated with the key.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. Max length=100. Label of Line Appearance

key of Verge phone is read only, if provided will be ignored.


locked


Boolean


If true, users are unable to change this key mapping


Telco(Tenant BasicOrAdvance Management), TenantAdmin


This must be true or false.

Sample PUT Request

PUT /api/v1/tenants/21375/keyprofiles/10/keymappings/2051 HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:36317 Content-Length: 99


{

"locked" : true, "featureCode" : "206.0",

"featureData" : "6132234534", "label" : "Bob"

}


Sample PUT Response


Same as "GET response"


ProfileKeyMapping List Resource

Table of Contents

This relation returns a list of the ProfileKeyMappings for a KeyProfile.


Supported Operations


GET


View list of ProfileKeyMappings for a key profiles HEAD

Get just the header response


Permitted Authorities (as defined in API Guide)


Telco User


GET

TenantAdmin User


GET

Non-admin User


GET

Location


GET

List Details


The Key Profile Key Mapping list resource provides a list of ProfileKeyMapping resources.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support


phoneModel


Can be used to only return key mappings of the key profile for specified phone model. If not provided or not specified, will return keys for all supported phone models of the key profile. Provisioned keys always included, non-provisioned keys will be include if the includeAll parameter is true.


Optional. If provided, must be a valid phone model name, if not a valid phone model name, will return a empty key list.


includeAll


Can be used to include all non-provisioned key mappings of the key profile. If not provided or not

specified, will return only provisioned keys of the key profile. This can

be used with the phoneModel parameter.


Optional. If provided, must be true of false.

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1:keyFeatures


List features that are valid for a virtual key.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


profileKeyMapping


Each element of the ProfileKeyMapping list represents a single Profile KeyMapping.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 912


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/keyprofiles/10/keymappings"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/keyprofiles/10/keymappings/{keyMappingId}", "templated" : true

} ],

"v1:keyFeatures" : [ {

"href" : "/api/v1/tenants/21375/keyfeatures?keyId={keyId}", "templated" : true

} ]

},

"count" : { "profileKeyMapping" : 1

},

"total" : { "profileKeyMapping" : 1

},

"_embedded" : { "profileKeyMapping" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/keyprofiles/10/keymappings/2051"

}

},

"featureCode" : "206.0",

"featureData" : "6132234534",

"keyId" : 2051, "label" : "Bob", "locked" : true

} ]


}

}


QueueSettings Resource

Table of Contents

at the end of announcementDurationMinutes, the call is forwarded to the call group’s CallForwardNoAnswer target.


Supported Operations


GET


View call group queue details HEAD

Get just the header response PUT

Update the queue setting for the group


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin User


GET, PUT

Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


Properties


Path

Type

Description

Visibility


rings


Number


The number of rings to provide when a

user first joins a queue before playing the initial announcement.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


greeting Announcement. useTenantDefault Announcement


Boolean


If true the default announcement is used for the initial greeting

announcement for queued calls.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


greeting Announcement. announcementId


Number


Identifier of the the announcement played for the initial greeting announcement for

queued calls. Not present if useTenantDefault Announcement is true.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


waitAnnouncement. useTenantDefault Announcement


Boolean


If true the default announcement is used for the announcement played to inform callers they are in the queue.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


waitAnnouncement. announcementId


Number


Identifier of the the announcement played to inform callers they are in the queue. Not

present if useTenantDefault Announcement is true.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


announcementDuration Mins


Number


The length of time, in minutes, that a user remains in the queue before being sent to the call forward no answer target.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


positionEnabled


Boolean


If True users are periodically informed of their position in the queue.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


positionAnnouncement Interval


Number


The time, in seconds, between position announcements being played.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin



Path

Type

Description

Visibility


prePosition Announcement. useTenantDefault Announcement


Boolean


If true the default announcement is used for the portion of the announcement prior

to the 'position' in the announcement that tells the caller their position in the queue.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


prePosition Announcement. announcementId


Number


Identifier of the the announcement played prior to the 'position' in the announcement

that tells the caller their position in the queue. Not present if useTenantDefault Announcement is true.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


postPosition Announcement. useTenantDefault Announcement


Boolean


If true the default announcement is used for the portion of the announcement after

to the 'position' in the announcement that tells the caller their position in the queue.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


postPosition Announcement. announcementId


Number


Identifier of the the announcement played after to the 'position' in the announcement

that tells the caller their position in the queue. Not present if useTenantDefault Announcement is true.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


Link Relations


Relation

Description

Visibility


v1:systemAnnouncements


Acceptable announcement values from System Announcement.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:tenantAnnouncements


Acceptable announcement values from Tenant Announcement of this tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:tenantDefault Announcement


Current setting of Tenant Default Announcement.


Telco(TenantBasicOrAdvance Management), TenantAdmin


Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


postPosition Announcement


The portion of the announcement after to the 'position' in the

announcement that tells the caller their position in the queue.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


waitAnnouncement


The announcement played to inform callers they are in the queue.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


prePosition Announcement


The portion of the announcement before to the 'position' in the

announcement that tells the caller their position in the queue.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


greetingAnnouncement


The portion of the announcement after to the 'position' in the

announcement that tells the caller their position in the queue.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1964


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/callinggroups/3/queue"

},

"v1:systemAnnouncements" : {

"href" : "/api/v1/systemannouncements{?expand,filter}", "templated" : true

},

"v1:tenantAnnouncements" : {

"href" : "/api/v1/tenants/21375/announcements{?expand,filter}", "templated" : true

},


"v1:tenantDefaultAnnouncement" : {

"href" : "/api/v1/tenants/21375/defaultannouncement{?expand}", "templated" : true

}

},

"announcementDurationMins" : 10, "greetingAnnouncement" : {

"useTenantDefaultAnnouncement" : false, "announcementId" : 11

},

"positionAnnouncementInterval" : 30, "positionEnabled" : false, "postPositionAnnouncement" : {

"useTenantDefaultAnnouncement" : false, "announcementId" : 0

},

"prePositionAnnouncement" : { "useTenantDefaultAnnouncement" : false, "announcementId" : 0

},

"rings" : 2, "waitAnnouncement" : {

"useTenantDefaultAnnouncement" : false, "announcementId" : 4

},

"_embedded" : { "prePositionAnnouncement" : {

"_links" : {

"self" : {

"href" : "/api/v1/announcements/2"

}

},

"announcementId" : 2, "name" : "Comfort Tone"

},

"greetingAnnouncement" : { "_links" : {

"self" : {

"href" : "/api/v1/announcements/2"

}

},

"announcementId" : 2, "name" : "Comfort Tone"

},

"waitAnnouncement" : { "_links" : {

"self" : {

"href" : "/api/v1/announcements/2"

}

},

"announcementId" : 2, "name" : "Comfort Tone"

},

"postPositionAnnouncement" : { "_links" : {

"self" : {

"href" : "/api/v1/announcements/2"

}

},

"announcementId" : 2, "name" : "Comfort Tone"

}

}

}


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.



Path

Type

Description

Permission

Constraints

Default

Value


rings


Number


The number of rings to wait before

playing greeting announcement.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Must be between 1 and 20.


1


greeting Announcement. useTenant Default Announcement


Boolean


If true then the tenant default announcement will be used for the initial greeting regardless

of the value provided in the announcement Id field.

Otherwise the announcementId is used.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


True or False


true


greeting Announcement. announcement Id


Number


The announcment Id of the

announcement to be used for the initial greeting.

Only used if use TenantDefault Announcement is False.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Integer


n/a


wait Announcement. useTenant Default Announcement


Boolean


If true then the default

announcement will be used for the wait announcement regardless

of the value


Telco(Tenant BasicOrAdvance Management), TenantAdmin


True or False


true



Path

Type

Description

Permission

Constraints

Default

Value



provided in the

announcementId field. Otherwise the announcment Id is used.





wait Announcement. announcement Id


Number


The announcment Id of the announcement to be used

for the wait announcement. Only used if use TenantDefault Announcement is False.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Integer


n/a


announcement DurationMins


Number


The length of time, in minutes, that a user remains in the queue before being sent to the call forward no answer target.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Must be between 1 and 1440.


1


position Enabled


Boolean


When enabled, will play position announcement.


When set to false, all

other position announcement related settings in the request will be ignored and will be reset to default value.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


True or False.


false


postPosition Announcement. useTenant Default Announcement


Boolean


If true then the default

announcement will be used for the postPosition Announcement regardless

of the value provided in the

announcementId


Telco(Tenant BasicOrAdvance Management), TenantAdmin


True or False


true



Path

Type

Description

Permission

Constraints

Default

Value



field. Otherwise

the announcment Id is used.





postPosition Announcement. announcement Id


Number


The announcment Id of the announcement to be used for

the portion of the queue position announcement after the position. Only used if use TenantDefault Announcement is False.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Integer


n/a


position Announcement Interval


Number


The time, in seconds,

between position announcements being played.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Must be between 10 and 300.


30


prePosition Announcement. useTenant Default Announcement


Boolean


If true then the default

announcement will be used for the postPosition Announcement regardless

of the value provided in the announcementId field. Otherwise the announcment Id is used.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


True or False


true


prePosition Announcement. announcement Id


Number


The announcment Id of the announcement to be used for

the portion of the queue position announcement before the position. Only used if use TenantDefault Announcement is False.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Integer


n/a


PUT Response Properties


A successful PUT returns a 200 (OK) and the updated QueueSettings of call group.


Sample PUT Request

PUT /api/v1/tenants/21375/callinggroups/3/queue HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:39407 Content-Length: 530


{

"rings" : 4,

"announcementDurationMins" : 10, "positionEnabled" : true, "positionAnnouncementInterval" : 15, "greetingAnnouncement" : {

"useTenantDefaultAnnouncement" : true, "announcementId" : 8

},

"waitAnnouncement" : { "useTenantDefaultAnnouncement" : true, "announcementId" : 8

},

"prePositionAnnouncement" : { "useTenantDefaultAnnouncement" : true, "announcementId" : 8

},

"postPositionAnnouncement" : { "useTenantDefaultAnnouncement" : true, "announcementId" : 8

}

}

Sample PUT Response


Same as "GET response"


resetPin Resource

Table of Contents

This relation returns information about the requested Running Task


Supported Operations


GET


View details about the Running Task HEAD

Get just the header response


Permitted Authorities (as defined in API Guide)


Telco User


GET

Properties


Path

Type

Description

Visibility


runningTaskId


Number


Identifier for the Running Task. Read Only, system assigned.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


runningTaskType


String


The type of the running task. We only have Tenant Delete and Subscriber Delete.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


runningTaskState


String


The state of the running task. See possible state from v1options:running TaskState.


Telco(TenantBasicOr AdvanceManagement)



Path

Type

Description

Visibility


runningTaskState Detail


String


The state detail of the running task. Additional detail information related to runningTaskState.


Telco(TenantBasicOr AdvanceManagement)


targetId


Number


The identifier of the target of the running task. For example, tenant identifier for deleting tenant running task.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


progress


Number


The progress of the running task in percentage number.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


createdTime


String


The creation time of the running task.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


updatedTime


String


The last update time of the running task.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


Link Relations


Relation

Description

Visibility


v1:tenant


Link to the tenant is under deleting by the running task of TenantDelete type.


Telco(TenantBasicOrAdvance Management)


v1:location


Link to the location is under deleting by the running task of Subscriber Delete type and subscriber type is location.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:user


Link to the user is under deleting by the running task of SubscriberDelete type and subscriber type is user.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1options:runningTaskType


List of all possible running task type.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1options:runningTaskState


List of all possible running task state.


Telco(TenantBasicOrAdvance Management), TenantAdmin


Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


tenant


The tenant which is being deleted by this running task of TenantDelete type.


Telco(TenantBasicOr AdvanceManagement)


y


user


The user which is being deleted by this running task of SubscriberDelete type and subscriber type is user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


location


The location which is being deleted by this running task of SubscriberDelete type and subscriber type is location..


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1103


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/runningtasks/18"

},

"v1:tenant" : {

"href" : "/api/v1/tenants/21375"

},

"v1options:runningTaskState" : {

"href" : "/api/v1/enums/runningtaskstate"

},

"v1options:runningTaskType" : {

"href" : "/api/v1/enums/runningtasktype"

}

},

"createdTime" : "2022-12-01T14:53:05",

"progress" : 0,

"runningTaskId" : 18, "runningTaskState" : "Created",

"runningTaskStateDetail" : "Task Initialized.", "runningTaskType" : "TenantDelete",

"targetId" : 21375,


"updatedTime" : "2022-12-01T14:53:05",

"_embedded" : {

"tenant" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375"

}

},

"deleting" : true, "tenantId" : 21375,

"tenantName" : "Dave's Moose Hunting Supply", "webLoginUrl" : "/mooseByDave"

}

}

}


Running Tasks Resource

Table of Contents

This relation returns a list of Running Tasks of the system.


Supported Operations


GET


View list of Running Tasks HEAD

Get just the header response


Permitted Authorities (as defined in API Guide)


Telco User


GET

List Details


The Running Tasks list resource provides a list of Running Task resources.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request,


Optional, see details at Filter Support



Parameter

Description

Constraints


and the result will be filtered by all

filters based on the provided order in rhe query parameter.



Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1options:runningTaskType


List of all possible running task type.


Telco(TenantBasicOrAdvance Management)


v1options:runningTaskState


List of all possible running task state.


Telco(TenantBasicOrAdvance Management)

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


runningTask


Each element of the Running Task list represents a single Running Task of the system.


Telco(TenantBasicOr AdvanceManagement)


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1555


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true


}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/runningtasks"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/runningtasks/{runningTaskId}", "templated" : true

} ],

"v1options:runningTaskState" : [ {

"href" : "/api/v1/enums/runningtaskstate"

} ],

"v1options:runningTaskType" : [ {

"href" : "/api/v1/enums/runningtasktype"

} ]

},

"count" : { "runningTask" : 2

},

"total" : { "runningTask" : 2

},

"_embedded" : {

"runningTask" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/runningtasks/18"

}

},

"createdTime" : "2022-12-01T14:53:09",

"progress" : 0,

"runningTaskId" : 18, "runningTaskState" : "Created",

"runningTaskStateDetail" : "Task Initialized.", "runningTaskType" : "TenantDelete",

"targetId" : 21375,

"updatedTime" : "2022-12-01T14:53:09"

}, {

"_links" : {

"self" : {

"href" : "/api/v1/runningtasks/19"

}

},

"createdTime" : "2022-12-01T14:53:09",

"progress" : 0,

"runningTaskId" : 19, "runningTaskState" : "Created",

"runningTaskStateDetail" : "Task Initialized.", "runningTaskType" : "SubscriberDelete", "targetId" : 156,

"updatedTime" : "2022-12-01T14:53:09"

} ]

}

}


SCR Rule Resource

Table of Contents

The SCR Rule resource provides information about a specific SCR Rule.


Supported Operations


GET


View SCR Rule Details HEAD

Get just the header response PUT

Modify a SCR Rule Details DELETE

Remove a SCR Rule


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE

TenantAdmin User


GET, PUT, DELETE



Non-admin User


GET, PUT, DELETE (only their own data)

Location


GET, PUT, DELETE (only their own data)


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


ruleId


Number


The identifier of SCR Rule.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


ruleName


String


The name of SCR Rule.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


ruleActive


Boolean


The active flag indicates whether the rule is in use.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


conditionsActive


Boolean


The flag indicates whether the CLID conditions are in use.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


targetsActive


Boolean


The flag indicates whether the intermediate and final destinations are in use. If false, the call is rejected.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


durationValue


Number


Current the unit is 'ring'. The number of rings to the intermediate target(s)

before the call is forwarded

to a final target. It’s not


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User



Path

Type

Description

Visibility



used and persisted if no

intermediate target is configured.



Link Relations


Relation

Description

Visibility


v1:clidConditions


List of CLID conditions configured for this rule.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:extensions


List of extensions for the tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:intermediateTargets


List of intermediate targets configured for this rule.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


finalTarget


The Final Target of SCR. There is always one Fianl Target for each SCR rule.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 1201


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/1001"

},

"v1:clidConditions" : {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/1001/clidconditions{?expand,filter}", "templated" : true

},

"v1:extensions" : {


"href" : "/api/v1/tenants/21375/extensions{?expand,filter,extensionType,agent}", "templated" : true

},

"v1:intermediateTargets" : {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/1001/intermediatetargets{? expand,filter}",

"templated" : true

}

},

"conditionsActive" : false, "durationValue" : 4, "ruleActive" : false, "ruleId" : 1001,

"ruleName" : "Name of the first rule", "targetsActive" : false,

"_embedded" : { "finalTarget" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/1001/finaltarget"

}

},

"destType" : "CallCoverage", "targetValue" : ""

}

}

}

Modify Request


Use a PUT request to modify the properties of a SCR rule.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


ruleName


String


The name of the SCR rule.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Required. Max 50 chars.


ruleActive


Boolean


The status of the current rule.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


If true, the rule is in use. It must be false when creation.


conditionsActive


Boolean


It indicates whether conditions are in use.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional. It must be false when creation.



Path

Type

Description

Permission

Constraints


durationValue


Number


Current the unit is 'rings'. The number of rings to the intermediate target(s) before the call is forwarded to a final target. It’s not used and persisted if no intermediate target is configured.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional. It is discarded when there is no intermediate target.


targetsActive


Boolean


It indicates whether targets are in use.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional. It must be false when creation.


Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/scrrules/1001 HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:40639 Content-Length: 148


{

"ruleName" : "updated name for the rule", "ruleActive" : true,

"conditionsActive" : true, "targetsActive" : true, "durationValue" : 10

}

Sample PUT Response


Same as "GET response"


SCR Rule List Resource

Table of Contents

This relation returns a list of SCR Rules associated with this subscriber(user/location).


Supported Operations


GET


View SCR Rule List HEAD

Get just the header response PUT

Replace the existing list with a new list content POST

Create a SCR Rule


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, POST

Tenant-scoped Telco User


GET, PUT, POST



TenantAdmin User


GET, PUT, POST

Non-admin User


GET, PUT, POST (only their own data)

Location


GET, PUT, POST (only their own data)


List Details


The SCR Rules list resource provides a list of SCR Rule resources in a summarized form.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


scrRule


Each element of the SCR rule list represents a single SCR rule, and indicates the status and order.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 919


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/scrrules"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/{ruleId}", "templated" : true

} ]

},

"count" : { "scrRule" : 2

},

"total" : { "scrRule" : 2

},

"_embedded" : {

"scrRule" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/1001"

}

},

"ruleActive" : false, "ruleId" : 1001,

"ruleName" : "Name of the first rule"

}, {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/1002"

}

},

"ruleActive" : false,


"ruleId" : 1002,

"ruleName" : "Name of the second rule"

} ]

}

}

POST Request


Use a POST request to add a new SCR rule.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


ruleName


String


The name of the SCR rule.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Required. Max 50 chars.


None


ruleActive


Boolean


The status of the current rule.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


If true, the rule is in use. It must be false when creation.


false


conditions Active


Boolean


It indicates whether conditions are in use.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional. It must be false when creation.


false


durationValue


Number


Current the unit is 'ring'. The number of rings to the intermediate

target(s) before the call is forwarded to a final target.It’s not used and

persisted if no


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional. Any changes to this value will be discarded when there is

no intermediate target.


5



Path

Type

Description

Permission

Constraints

Default

Value



intermediate

target is configured.





targetsActive


Boolean


It indicates whether targets are in use.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional. It must be false when creation.


false


POST Response


A successful POST returns a 201 (Created). A link to the newly added SCR rule can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/tenants/21375/users/4332/scrrules HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:40639 Content-Length: 138


{

"ruleName" : "New rule name", "ruleActive" : false, "conditionsActive" : false, "targetsActive" : false, "durationValue" : 5

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/users/4332/scrrules/4

PUT Request


This SCR Rule list resource supports the use of PUT to re-order the rule list. This request also supports changing the rule status (ruleActive) at the same time.


PUT Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.




Path

Type

Description

Permission

Constraints

Default

Value


scrRule[]. ruleId


Number


The Indentifier of a SCR Rule.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Required. An existing rule ID.


None


scrRule[]. ruleName


String


The name of SCR Rule.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Required. Max 50 chars.


None


scrRule[]. ruleActive


Boolean


If True then the SCR Rule is in use.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


True or False


False


PUT Response Properties


The response to a successful PUT request is the new resource representation, as defined in the GET Response.


Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/scrrules HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:40639 Content-Length: 112


{

"scrRule" : [ { "ruleId" : 1002,

"ruleName" : "Name of a SCR rule.", "ruleActive" : true

} ]

}

Sample PUT Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 919


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/scrrules"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/{ruleId}", "templated" : true

} ]

},

"count" : {


"scrRule" : 2

},

"total" : { "scrRule" : 2

},

"_embedded" : {

"scrRule" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/1001"

}

},

"ruleActive" : false, "ruleId" : 1001,

"ruleName" : "Name of the first rule"

}, {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/scrrules/1002"

}

},

"ruleActive" : false, "ruleId" : 1002,

"ruleName" : "Name of the second rule"

} ]

}

}


StaticSite Resource

Table of Contents

The StaticSite resource provides the configuration information about each site.


In order to access this resource, users with Telco User authority must have Site Management - View permission configured in WebAdmin. In order to modify it, they must have Site Management - Modify permission.



Deleting a StaticSite is supported.


Supported Operations


GET


View Static Site details HEAD

Get just the header response PUT

Modify Static Site details DELETE

Remove Static Site from system.


Permitted Authorities (as defined in API Guide)


Telco User






GET, PUT

TenantAdmin User


GET


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


autoEmergencyCall Enabled


Boolean


True if the site is enabled for Automatic Off-Hook Emergency Call.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin


businessHoursFrom TenantDefault


Boolean


True if the Business Hours Profile associated with this site is inherited automatically from the enterprise’s default

Business Hours. Set to true when site is created.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin


callingLineIdNumber


String


The Calling Line Id [CLID] used when making calls from phones on this site.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin


callingName Identifier


String


The Calling Name Identifier [CNAM] used when making calls from phones on this site.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin



Path

Type

Description

Visibility


maxCallCount


Number


The maximum number of simultaneous calls permitted for this site.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management)


maxLinkCapacity


Number


The maximum number of links permitted for this site.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management)


otherSubnetSameAs Phone


Boolean


The non-phone devices on this site using the same subnet as the phones.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management)


siteId


Number


The unique identifier for this site.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin


siteName


String


A user-assigned identifier that can be applied to the site.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin


description


String


A free-form property that contains additional site-specific data defined by the user.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management)


subdomain


String


Subdomain which will be used by SIP device as part of the SIP domain.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management)


emergencyCallEmail Recipients


String


The sites’s emergency call notification recipient email addresses.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin


Link Relations


Relation

Description

Visibility


v1:phoneSubnet


Describes the phone subnet configuration for the site.


Telco(TenantBasicOrAdvance Management, SiteBasicOrAdvance Management)


v1:otherSubnet


Describes the subnet configuration for non-phone devices.


Telco(TenantBasicOrAdvance Management, SiteBasicOrAdvance Management)


v1:staticSiteSiteTypeMgmt


Use this link to change the SiteType associated with this StaticSite.


Telco(SiteBasicOrAdvance Management)


v1:siteBusinessHoursMgmt


Use this link to change the business hours associated with this StaticSite.


Telco(TenantBasicOrAdvance Management, SiteBasicOrAdvance Management)


v1:siteGateway


Use this link to view or manage the SiteGateway of this StaticSite.


Telco(SiteBasicOrAdvance Management)


v1:staticSiteZone


Use this link to manage the zone associated with this StaticSite.


Telco(SiteBasicOrAdvance Management)


v1:siteLongDistanceCarrier Mgmt


Use this link to manage the long distance carrier associated with this StaticSite.


Telco(SiteBasicOrAdvance Management)


v1:siteRegionalCarrierMgmt


Use this link to manage the regional carrier associated with this StaticSite.


Telco(SiteBasicOrAdvance Management)


v1:siteEmergencyCallAlert Members


Use this link to manage the emergency call alert members associated with this StaticSite.


Telco(SiteBasicOrAdvance Management)


v1:siteStandardDhcpOptions


Use this link to manage standard DHCP options of this StaticSite.


Telco(SiteBasicOrAdvance Management)

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.



Name

Description

Visibility

Expandable


phoneSubnet


The subnet configuration for phones registered on this site.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management)


y


otherSubnet


The subnet configuration for non-phone devices using DHCP on this site. This representation will not be present if the site does not have an otherSubnet configured.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management)


y


businessHoursProfile


Describes the Business Hours used for this site. Each site is associated with Business Hours.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin


y


siteType


Describes the site type associated with this site. This representation is present only when the site is associated with a siteType.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management)


n


address


The street address for this site.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management)


y


zone


The zone used by the site.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management)


y


siteCodecSet


The CodecSet settings of the site.


Telco(SiteBasicOrAdvance Management)


y


longDistanceCarrier


The long distance carrier of the site.


Telco(SiteBasicOrAdvance Management)


y


regionalCarrier


The regional carrier of the site.


Telco(SiteBasicOrAdvance Management)


y



Name

Description

Visibility

Expandable


siteGateway


The SiteGateway of the site. Only present when SiteGateway of the site is provisioned(enabled).


Telco(SiteBasicOrAdvance Management)


n


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 4375


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/staticsites/5"

},

"v1:otherSubnet" : {

"href" : "/api/v1/tenants/21375/staticsites/5/othersubnet"

},

"v1:phoneSubnet" : {

"href" : "/api/v1/tenants/21375/staticsites/5/phonesubnet"

},

"v1:siteBusinessHoursMgmt" : {

"href" : "/api/v1/tenants/21375/staticsites/5/businesshourmgmt"

},

"v1:siteEmergencyCallAlertMembers" : {

"href" : "/api/v1/tenants/21375/staticsites/5/emergencycallalertmembers{?expand,filter}", "templated" : true

},

"v1:siteGateway" : {

"href" : "/api/v1/tenants/21375/staticsites/5/gateway"

},

"v1:siteLongDistanceCarrierMgmt" : {

"href" : "/api/v1/tenants/21375/staticsites/5/longdistancecarriers"

},

"v1:siteRegionalCarrierMgmt" : {

"href" : "/api/v1/tenants/21375/staticsites/5/regionalcarriers"

},

"v1:siteStandardDhcpOptions" : {

"href" : "/api/v1/tenants/21375/staticsites/5/standarddhcpoptions{?expand,filter}", "templated" : true

},

"v1:staticSiteSiteTypeMgmt" : {

"href" : "/api/v1/tenants/21375/staticsites/5/sitesitetypes"

},

"v1:staticSiteZone" : {

"href" : "/api/v1/tenants/21375/staticsites/5/zone"

}

},

"autoEmergencyCallEnabled" : false, "businessHoursFromTenantDefault" : false, "callingLineIdNumber" : "6132802000", "callingNameIdentifier" : "Moose-by-Dave",

"description" : "5km hike-in, techs should bring bear repellent", "emergencyCallEmailRecipients" : "[email protected]",

"maxCallCount" : 30,

"maxLinkCapacity" : 35, "otherSubnetSameAsPhone" : true, "siteId" : 5,

"siteName" : "Cabin 3", "subdomain" : "company.com",


"_embedded" : { "businessHoursProfile" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/businesshours/2"

}

},

"businessHoursProfileId" : 2, "businessHoursProfileName" : "Standard Business Hours"

},

"address" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/staticsites/5/address"

}

},

"address1" : "1 Hines Road", "address2" : "Suite 310", "city" : "Kanata",

"country" : "Canada", "faxNumber" : "6132802030",

"phoneNumber" : "6132802000", "postalCode" : "K2M 3PC", "state" : "Ontario"

},

"phoneSubnet" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/staticsites/5/phonesubnet"

}

},

"reservedAddressCount" : 7,

"rootIpAddress" : "10.150.150.0",

"routerIpAddress" : "10.150.150.1",

"startIpAddress" : "10.150.150.2",

"subnetMask" : "255.255.255.240",

"useDhcp" : true

},

"regionalCarrier" : { "_links" : {

"self" : {

"href" : "/api/v1/carriers/102"

}

},

"carrierId" : 102,

"cic" : "2222",

"name" : "regionalProvider"

},

"otherSubnet" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/staticsites/5/othersubnet"

}

},

"reservedAddressCount" : 7,

"rootIpAddress" : "10.150.150.0",

"routerIpAddress" : "10.150.150.1",

"startIpAddress" : "10.150.150.9",

"subnetMask" : "255.255.255.240",

"useDhcp" : true

},

"zone" : {

"_links" : {

"self" : {

"href" : "/api/v1/zones/3"

}

},

"timezone" : "Canada/Eastern", "zoneId" : 3,

"zoneName" : "Standard Zone"


},

"siteCodecSet" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/staticsites/5/sitecodecset"

}

},

"codecSetId" : 6, "useTenantDefault" : false

},

"longDistanceCarrier" : { "_links" : {

"self" : {

"href" : "/api/v1/carriers/101"

}

},

"carrierId" : 101,

"cic" : "1111",

"name" : "LongDistanceProvider"

},

"siteType" : {

"_links" : {

"self" : {

"href" : "/api/v1/serviceproviders/{serviceProviderId}/sitetypes/11", "templated" : true

}

},

"defaultOption" : true, "siteTypeId" : 11,

"siteTypeName" : "Backwoods Site"

}

}

}

Modify Request


Use a PUT request to modify a site.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


siteName


String


The name of the site.


Telco(SiteAdvance Management)


Optional. Max 50 characters.


description


String


Free-format property that can be used

to add site-specific detail to the site.


Telco(SiteBasic Management)


Optional. Max 50 characters.


subdomain


String


Subdomain which will be used by SIP device as part of the SIP domain.


Telco(SiteAdvance Management)


Optional. If provided, must be in valid domain format, and



Path

Type

Description

Permission

Constraints





must be unique

inside each tenant. Max 50 characters.


maxCallCount


Number


The maximum number of concurrent external calls allowed for the site.


Telco(SiteAdvance Management)


Optional. Non-negative integer, must be <= maxLink Capacity.


maxLinkCapacity


Number


The maximum number of calls that the site?s broadband connection can handle.


Telco(SiteAdvance Management)


Optional. Must be >= maxCallCount.


callingLineId Number


String


The number that will be presented to call recipients for calls made from this site (unless overridden by an extension-specific setting).


Telco(SiteAdvance Management)


Optional. Must be a digit string with no punctuation. Some systems require each site to have a unique CLID.


emergencyCall EmailRecipients


String


The sites’s emergency call notification recipient email addresses.


Telco(SiteBasic Management), TenantAdmin


None


callingName Identifier


String


Used for Outbound Caller Name ID.


Telco(SiteAdvance Management)


Optional. Max 50 characters.


Sample PUT Request

PUT /api/v1/tenants/21375/staticsites/5 HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:37381

Content-Length: 312


{

"siteName" : "Cabin 3", "subdomain" : "company.com",

"description" : "5km hike-in, techs should bring bear repellent", "callingLineIdNumber" : "6132802000",

"callingNameIdentifier" : "Moose-by-Dave", "maxCallCount" : 30,

"maxLinkCapacity" : 35, "emergencyCallEmailRecipients" : "[email protected]"

}

Sample PUT Response


The PUT response contains the newly updated resource in the same format as the GET response, above.


StaticSites List Resource

Table of Contents

This relation returns a list of configured (non-dynamic) sites associated with this tenant.


In order to view Site data, a Telco User must have Site Management - View permission configured in WebAdmin.



Supported Operations


GET


View StaticSites List HEAD

Get just the header response POST

Add a static site to the tenant


Permitted Authorities (as defined in API Guide)


Telco User


GET, POST

TenantAdmin User


GET, POST


List Details


The StaticSite list resource provides a list of StaticSite resources in summarized form.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support


siteTypeId


Use this parameter to request a list of static sites for a specified Site Type ID.


Optional. If provided, must be a valid siteTypeId of a SiteType

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).




Name

Description

Visibility

Expandable


staticSite


Each element of the staticSite array represents a single (regular) site resource, and indicates the site’s name.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 625


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/staticsites"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/staticsites/{siteId}", "templated" : true

} ]

},

"count" : { "staticSite" : 1

},

"total" : { "staticSite" : 1

},

"_embedded" : {

"staticSite" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/staticsites/5"

}

},

"siteId" : 5, "siteName" : "Cabin 3"

} ]

}

}

Modify List Request


Use a POST request to add a new Tenant.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.




Path

Type

Description

Permission

Constraints

Default

Value


autoEmergency CallEnabled


Boolean


True if the site is enabled for Automatic Off-

Hook Emergency Call. .


Telco(SiteBasic AndAdvance Management)


true or false.


false


callingLineId Number


String


The Calling Line Id [CLID] used when making calls from phones on this site.


Telco(SiteBasic AndAdvance Management)


Must be a digit string with no punctuation. Some systems require each site to have a unique CLID.


n/a


callingName Identifier


String


The Calling Name Identifier [CNAM] used when making calls from phones on this site.


Telco(SiteBasic AndAdvance Management)


Max 50 characters.


Tenant name is used


maxCallCount


Number


The maximum number of simultaneous calls permitted for this site.


Telco(SiteBasic AndAdvance Management)


Integer


n/a


maxLink Capacity


Number


The maximum number of links permitted for this site.


Telco(SiteBasic AndAdvance Management)


Integer. Must be >= maxCall Count.


n/a


otherSubnet SameAsPhone


Boolean


The non-phone devices on this site using the same subnet configuration as the phones. This field is read-only.


Telco(SiteBasic AndAdvance Management)


True or false


n/a


siteName


String


A user-assigned identifier that can be applied to the site.


Telco(SiteBasic AndAdvance Management)


Max 50 characters.


n/a


description


String


A free-form property that contains additional site-


Telco(SiteBasic AndAdvance Management)


Optional. Max 50 characters.


n/a.



Path

Type

Description

Permission

Constraints

Default

Value



specific data

defined by the user.





subdomain


String


Subdomain which will be used by SIP device as part of the SIP domain.


Telco(SiteBasic AndAdvance Management)


Optional. If provided, must be in valid domain format, and must be unique inside each tenant. Max 50 characters.


Empty string


emergency CallEmail Recipients


String


The sites’s emergency call notification recipient email addresses.


Telco(SiteBasic AndAdvance Management)


None


n/a


address. address1


String


The first part of the site physical address


Telco(SiteBasic AndAdvance Management)


Max 50 characters.


n/a


address. address2


String


The first part of the site physical address


Telco(SiteBasic AndAdvance Management)


Max 50 characters.


n/a


address.city


String


The city in which the site is located


Telco(SiteBasic AndAdvance Management)


Max 50 characters.


n/a


address.state


String


The state in which the site is located


Telco(SiteBasic AndAdvance Management)


Max 50 characters.


n/a


address. country


String


The country in which the site is located


Telco(SiteBasic AndAdvance Management)


Max 50 characters.


n/a


address.fax Number


String


The site’s fax number


Telco(SiteBasic AndAdvance Management)


Max 50 characters.


n/a


address.phone Number


String


The site’s phone number


Telco(SiteBasic AndAdvance Management)


Max 50 characters.


n/a



Path

Type

Description

Permission

Constraints

Default

Value


address. postalCode


String


The postal or zip code


Telco(SiteBasic AndAdvance Management)


Max 50 characters.


n/a


subnet.use Dhcp


Boolean


If true then DHCP will be setup

for this site for phones


Telco(SiteBasic AndAdvance Management)


True or false


n/a


subnet. reserved AddressCount


Number


Number of addresses reserved for phones.


Telco(SiteBasic AndAdvance Management)


Integer


n/a


subnet.rootIp Address


String


The base IP address for the subnet


Telco(SiteBasic AndAdvance Management)


Must be in the form X.X.X.X


n/a


subnet.subnet Mask


String


The subnet mask


Telco(SiteBasic AndAdvance Management)


Must be a valid network mask.


n/a


subnet.router IpAddress


String


IP address of the router


Telco(SiteBasic AndAdvance Management)


Must be in the form X.X.X.X


n/a


subnet.start IpAddress


String


The first IP address to be used for phones


Telco(SiteBasic AndAdvance Management)


Must be in the form X.X.X.X


n/a


zoneId


Number


Identifier for the zone associated with the site being added


Telco(SiteBasic AndAdvance Management)


Must be an existing zone


n/a


POST Response


A successful POST returns a 201 (Created). A link to the newly added site can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/tenants/21375/staticsites HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:37381

Content-Length: 882


{

"siteName" : "Cabin 3",


"subdomain" : "company.com",

"description" : "5km hike-in, techs should bring bear repellent", "callingLineIdNumber" : "6132802000",

"callingNameIdentifier" : "Moose-by-Dave", "maxCallCount" : 30, "autoEmergencyCallEnabled" : false, "maxLinkCapacity" : 35, "otherSubnetSameAsPhone" : true,

"emergencyCallEmailRecipients" : "[email protected]", "zoneId" : 3,

"address" : {

"address1" : "1 Hines Road", "address2" : "Suite 310", "city" : "Kanata",

"state" : "Ontario",

"country" : "Canada", "faxNumber" : "6132802030",

"phoneNumber" : "6132802000", "postalCode" : "K2M 3PC"

},

"subnet" : { "useDhcp" : true,

"rootIpAddress" : "10.150.150.0",

"subnetMask" : "255.255.255.240",

"routerIpAddress" : "10.150.150.1",

"startIpAddress" : "10.150.150.2",

"reservedAddressCount" : 7

}

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/staticsites/38


SiteBusinessHours Resource

Table of Contents

This resource allows the relationship between the site and its Business Hour Profile to be managed.


Supported Operations


GET


View a the relationship between the site and its Business Hour Profile. HEAD

Get just the header response PUT

Update the Business Hour Profile associated with the site. That is the profile can be changed to another existing profile.


DELETE


Removes the Business Hour Profile associated with the site. Following the delete, the tenant’s default Business Hour Profile will be used for the site.


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE

TenantAdmin User






GET, PUT, DELETE


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


businessHoursProfile Id


Number


Identifier of the business hours profile.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


siteId


Number


Identifier for the site.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin

Link Relations


Relation

Description

Visibility


v1:businessHoursProfiles


Link to list of available business HoursProfile for the Tenant which can be assigned to the site.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


staticSite


Information about the site.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y



Name

Description

Visibility

Expandable


businessHoursProfile


Information about the business hours.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 858


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/sitebusinesshours/5"

},

"v1:businessHoursProfiles" : {

"href" : "/api/v1/tenants/21375/businesshours{?expand,filter}", "templated" : true

}

},

"businessHoursProfileId" : 2,

"siteId" : 5,

"_embedded" : { "businessHoursProfile" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/businesshours/2"

}

},

"businessHoursProfileId" : 2, "businessHoursProfileName" : "Standard Business Hours"

},

"staticSite" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/staticsites/5"

}

},

"siteId" : 5, "siteName" : "Cabin 3"

}

}

}

PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.




Path

Type

Description

Permission

Constraints

Default

Value


businessHours ProfileId


Number


The identifier for the new business hours.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Must be the identifier of an existing business hour profile.


The value of current setting before update. When tenant site creation, the value is None


PUT Response Properties


A successful PUT returns a 200 (OK) and the updated Site Business Hour Profile relationship.


Sample PUT Request

PUT /api/v1/tenants/21375/sitebusinesshours/5 HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:40873 Content-Length: 34


{

"businessHoursProfileId" : 2

}

Sample PUT Response


Same as "GET response"


SiteBusinessHoursMgmt Resource

Table of Contents

This resource shows the Business Hour Profile associated with the site. Included are links to the list of sites and DIDs that use this profile.


Supported Operations


GET


View a single Business Hour Profile for Tenant HEAD

Get just the header response POST

Add an existing Business Hour Profile to the site. The site must currently be using the default profile.


Permitted Authorities (as defined in API Guide)


Telco User


GET, POST

TenantAdmin User


GET, POST


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1:businessHoursProfiles


Link to list of available business HoursProfile for the Tenant which can be assigned to the site.


Telco(TenantBasicOrAdvance Management, SiteBasicOrAdvance Management), TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


siteBusinessHours


The business hours for the site.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 791


{

"_links" : {


"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/staticsites/5/businesshourmgmt"

},

"v1:businessHoursProfiles" : [ {

"href" : "/api/v1/tenants/21375/businesshours{?expand,filter}", "templated" : true

} ],

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/sitebusinesshours/5"

} ]

},

"count" : { "siteBusinessHours" : 1

},

"total" : { "siteBusinessHours" : 1

},

"_embedded" : { "siteBusinessHours" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/sitebusinesshours/5"

}

},

"businessHoursProfileId" : 2,

"siteId" : 5

} ]

}

}

POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


businessHours ProfileId


Number


The business hours profile identifier.


Telco(Tenant BasicOrAdvance Management, SiteBasic OrAdvance Management), TenantAdmin


Profile must exist and the site must not

have an assigned business hours.


None


siteId


Number


The site’s identifier.


Telco(Tenant BasicOrAdvance Management, SiteBasic


The value is ignored.


None



Path

Type

Description

Permission

Constraints

Default

Value




OrAdvance

Management), TenantAdmin




POST Response Properties


A successful POST returns a 201 (created) and the added Business Hour Profile


Sample POST Request

POST /api/v1/tenants/21375/staticsites/5/businesshourmgmt HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:37381 Content-Length: 50


{

"businessHoursProfileId" : 2,

"siteId" : 5

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/sitebusinesshours/5


SiteType Resource

Table of Contents

This relation returns a list of configured site types associated with this tenant.


In order to view Site Type data, a Telco User must have Site Management - View permission configured in WebAdmin.



Supported Operations


GET


View Site Types List HEAD

Get just the header response


Permitted Authorities (as defined in API Guide)


Telco User


GET

TenantAdmin User


GET

List Details


The SiteTypes list resource provides a list of SiteType resources in summarized form.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission

Embedded Representations


Name

Description

Visibility

Expandable


siteType


Each element of the siteType array represents a single site type resource, and indicates the site types’s name.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management)


n

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 682


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/serviceproviders/12/sitetypes"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/serviceproviders/12/sitetypes/{siteTypeId}", "templated" : true

} ]


},

"count" : { "siteType" : 1

},

"total" : { "siteType" : 1

},

"_embedded" : {

"siteType" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/serviceproviders/12/sitetypes/11"

}

},

"defaultOption" : true, "siteTypeId" : 11,

"siteTypeName" : "Backwoods Site"

} ]

}

}

Modify List Request


This list does not support element creation.


System Announcement List Resource

Table of Contents

This relation returns a list of Announcement of system which could be used by all tenants.


Supported Operations


GET


View list of Announcement of the system HEAD

Get just the header response POST

Add new Announcement for the system


Permitted Authorities (as defined in API Guide)


Telco User


GET, POST

TenantAdmin User


GET

List Details


The System Announcement list resource provides a list of Announcement resources of system in summarized form.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1:customAnnouncementFiles


Lists all existing custom announcement files.


Telco(SystemManagement)


v1:defaultAnnouncementFiles


Lists all existing default announcement files.


Telco(SystemManagement)

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).




Name

Description

Visibility

Expandable


announcement


Each element of the System Announcement list represents a single System Announcement which can be used by all teants.


Telco(SystemManagement, TenantBasicOrAdvance Management), Tenant Admin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 618


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/systemannouncements"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/announcements/{announcementId}", "templated" : true

} ]

},

"count" : { "announcement" : 1

},

"total" : { "announcement" : 1

},

"_embedded" : { "announcement" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/announcements/2"

}

},

"announcementId" : 2, "name" : "Comfort Tone"

} ]

}

}

Modify List Request


Use a POST request to add a new System Announcement.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.




Path

Type

Description

Permission

Constraints

Default

Value


name


String


The name of the system announcement.


Telco(System Management)


Required. Max 50 chars. Allow alphanumeric character including underscore and space. Must be unique.


None


fileName


String


The file name of the system announcement.


Telco(System Management)


Required. Max 50 chars.


None


A successful POST returns a 201 (Created). A link to the newly added Announcement can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/systemannouncements HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:35465

Content-Length: 63


{

"name" : "Comfort Tone", "fileName" : "comfortTone.wav"

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/announcements/34


Tenant Resource

Table of Contents

The tenant resource represents a business which receives phone service from

silhouette.


While the complete configuration of a tenant is achieved through configuring multiple related and sub-resources, this resource provides configuration details about the tenant’s basic telephone service that the tenant’s own system administrators are typically invited to manage for themselves, such as the company-wide on-phone directory search method or the callpark location selection algorithm.


Supported Operations


GET


View Tenant Details HEAD

Get just the header response PUT

Modify Tenant Details DELETE


Delete the Tenant


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE

TenantAdmin User


GET, PUT

Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


tenantId


Number


Unique identifier of the tenant


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin


callparkLocation Algorithm


String


The algorithm that will be used to assign a Park Location when a call is parked


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


directorySearchType


String


The Directory Search algorithm used for on-phone directory lookups


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


tenantName


String


The tenant’s display name


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin



Path

Type

Description

Visibility


webLoginUrl


String


The tenant’s web login url in WebAdmin.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin


defaultTimezone


String


The tenant’s default timezone.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


emergencyCallEmail Recipients


String


The tenant’s emergency call notification recipient email addresses.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


phoneMessageAlert Duration


Number


The duration is used to display message alert on phones.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


phoneMessageAlert Type


String


The Alert Type is used for phone messages sent to phones.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


deleting


Boolean


Indicate if the tenant is under deleting. Read Only. When a tenant is under deleting, this will be true and never go back to false, and there will be a

runningTask created for the deletion work, please use the runningTask resource to check deleting progress details.


Telco(TenantBasicOr AdvanceManagement)


Link Relations


Relation

Description

Visibility


v1:accountCodes


Tenant Account Code configuration settings.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:tenantAnnouncements


Tenant Announcements of this tenant.


Telco(TenantBasicOrAdvance Management)


v1:dids


List of DIDs provided to this tenant.


Telco(TenantBasicOrAdvance Management, SiteBasicOrAdvance Management), TenantAdmin



Relation

Description

Visibility


v1:dynamicSites


List of Dynamic Sites currently active for this tenant.


Telco(TenantBasicOrAdvance Management, SiteBasicOrAdvance Management), TenantAdmin


v1:extensions


List of provisioned extensions in this tenant. Currently shows only User and Location extensions.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:locations


List of Location (extensions) currently assigned within this tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:phones


List of phones registered with this tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:staticSites


List of sites belonging to this tenant.


Telco(TenantBasicOrAdvance Management, SiteBasicOrAdvance Management), TenantAdmin


v1:users


List of User (extensions) currently assigned within this tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:callGroups


List of Call Groups configured by this tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:businessHoursProfiles


List of BusinessHours Profiles configured by this tenant.


Telco(TenantBasicOrAdvance Management, SiteBasicOrAdvance Management), TenantAdmin


v1:holidayHoursProfiles


List of HolidayHours Profiles configured by this tenant.


Telco(TenantBasicOrAdvance Management, SiteBasicOrAdvance Management), TenantAdmin


v1:keyProfiles


List of Key Profiles configured by this tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:callPermissionProfiles


List of Call Permission Profiles configured by this tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:acds


List of ACD (extensions) currently assigned within this tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:autoAttendants


List of AutoAttendant (extensions) currently assigned within this tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin



Relation

Description

Visibility


v1:externalContacts


List of ExternalContact configured by this tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:siteTypes


List of SiteTypes that available to this tenant.


Telco(TenantBasicOrAdvance Management, SiteBasicOrAdvance Management), TenantAdmin


v1:defaultBusinessHours Profile


Link through which the default business hours for the tenant can be viewed and managed.


Telco(TenantBasicOrAdvance Management)


v1:tenantPhoneModels


List of Phone Models available for this tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:pinNotificationMethod


Link through which the PIN notification method can be viewed and managed.


Telco(TenantBasicOrAdvance Management)


v1:presenceStatusBy Extension


A URI template indicating how to retrieve the Presence Status for a specific extension. Clients that

know the extension of the account they’re seeking may use this URL to retrieve the resource instead of iterating over the list. Provided to requesters with User, Location or Scoped TelcoAdmin authority.


ScopedTelco(CallControl), Tenant Admin, User


v1:parkLocationStatus


A URI template indicating how to retrieve the Park Location Status for a specific park location. Clients that know the park location of the account they’re seeking may use this URL

to retrieve the resource instead of iterating over the list. Provided to requesters with User, Location or Scoped TelcoAdmin authority.


ScopedTelco(CallControl), Tenant Admin, User


v1:tenantCrPlatformMgmt


Management of Call Recording platform configuration.


Telco(TenantBasicOrAdvance Management)


v1:tenantEnterpriseMgmt


Management of Tenant Enterprise association.


Telco(TenantBasicOrAdvance Management)


v1:phoneMacImports


Upload a *.csv file containing a list of phones' MAC addresses.


Telco(TenantBasicOrAdvance Management)



Relation

Description

Visibility


v1options:callparkLocation Algorithm


Acceptable values for the Call Park Location Algorithm setting.


all


v1options:directorySearch Type


Acceptable values for the Directory Search Type setting.


all


v1options:phoneMessageAlert Type


Acceptable values for the Phone Message Alert Type setting.


all


v1options:phoneSite AssignmentType


Acceptable values for the Phone Site Assignment Type setting.


Telco(TenantBasicOrAdvance Management)


v1:tenantLongDistance CarrierMgmt


Use this link to manage the long distance carrier associated with this Tenant.


Telco(TenantBasicOrAdvance Management)


v1:tenantRegionalCarrier Mgmt


Use this link to manage the regional carrier associated with this Tenant.


Telco(TenantBasicOrAdvance Management)


v1:tenantMitelRingTones


Use this link to manage the default Mitel Ring Tone settings of this Tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:runningTask


when a tenant is under deleting, this link can be used to query the running task.


Telco(TenantBasicOrAdvance Management)


Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


tenantAdminSettings


Contains tenant settings that are typically settable only by Telco Admin users.


Telco(TenantBasicOr AdvanceManagement)


n


defaultSite


The tenant’s first site is considered to be their default site. Settings for this site may be used to resolve


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management)


n



Name

Description

Visibility

Expandable


operational information at

runtime, such as timezone offsets.




extensionRanges


Identifies the from-to ranges for each extension type.


Telco(TenantBasicOr AdvanceManagement)


n


defaultBusinessHours Profile


Each tenant has a default set of Business Hours.

The DefaultBusinessHours Profile entity identifies this profile.


Telco(TenantBasicOr AdvanceManagement, SiteBasicOrAdvance Management), Tenant Admin


n


allocations


Defines the operating limits of the tenant’s phone service.


Telco(TenantBasicOr AdvanceManagement)


n


accountCodes


Tenant Account Codes settings. This entity is present only if Account Codes have been enabled by the TelcoAdmin for this tenant.


Telco(TenantBasicOr AdvanceManagement)


n


enterprise


Tenant associated Enterprise. This entity is present only if an Enterprise is associated with this Tenant.


Telco(TenantBasicOr AdvanceManagement)


y


tenantDefault Announcement


Tenant Default Announcement settings for this tenant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


tenantCodecSet


Tenant CodecSet settings for this tenant.


Telco(TenantBasicOr AdvanceManagement)


n


tenantSmdrSettings


Tenant SMDR settings for this tenant.


Telco(TenantBasicOr AdvanceManagement)


n


longDistanceCarrier


The long distance carrier of the tenant.


Telco(TenantBasicOr AdvanceManagement)


n


regionalCarrier


The regional carrier of the tenant.


Telco(TenantBasicOr AdvanceManagement)


n



Name

Description

Visibility

Expandable


runningTask


when the tenant is under deleting, there will be

a runningTask for the deletion which include progress and state details.


Telco(TenantBasicOr AdvanceManagement)


n


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 7110


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375"

},

"v1:accountCodes" : {

"href" : "/api/v1/tenants/21375/accountcodes"

},

"v1:acds" : {

"href" : "/api/v1/tenants/21375/acds{?expand,filter}", "templated" : true

},

"v1:autoAttendants" : {

"href" : "/api/v1/tenants/21375/autoattendants{?expand,filter}", "templated" : true

},

"v1:businessHoursProfiles" : {

"href" : "/api/v1/tenants/21375/businesshours{?expand,filter}", "templated" : true

},

"v1:callGroups" : {

"href" : "/api/v1/tenants/21375/callinggroups{?expand,filter}", "templated" : true

},

"v1:callPermissionProfiles" : {

"href" : "/api/v1/tenants/21375/callpermissionprofiles{?expand,filter}", "templated" : true

},

"v1:defaultBusinessHoursProfile" : {

"href" : "/api/v1/tenants/21375/defaultbusinesshours"

},

"v1:dids" : {

"href" : "/api/v1/tenants/21375/dids{?expand,filter,assigned}", "templated" : true

},

"v1:dynamicSites" : {

"href" : "/api/v1/tenants/21375/dynamicsites{?expand,filter}", "templated" : true

},

"v1:extensions" : {

"href" : "/api/v1/tenants/21375/extensions{?expand,filter,extensionType,agent}", "templated" : true

},

"v1:externalContacts" : {

"href" : "/api/v1/tenants/21375/externalcontacts{?expand,filter}",


"templated" : true

},

"v1:holidayHoursProfiles" : {

"href" : "/api/v1/tenants/21375/holidayhours{?expand,filter}", "templated" : true

},

"v1:keyProfiles" : {

"href" : "/api/v1/tenants/21375/keyprofiles{?expand,filter}", "templated" : true

},

"v1:locations" : {

"href" : "/api/v1/tenants/21375/locations{?expand,filter}", "templated" : true

},

"v1:parkLocationStatus" : {

"href" : "/api/v1/presencestatus/parklocationstatus/{accountId}", "templated" : true

},

"v1:phoneMacImports" : {

"href" : "/api/v1/tenants/21375/phonemacimports"

},

"v1:phones" : {

"href" : "/api/v1/tenants/21375/phones{?expand,filter,ext}", "templated" : true

},

"v1:pinNotificationMethod" : {

"href" : "/api/v1/tenants/21375/pinnotificationmethod"

},

"v1:presenceStatusByExtension" : {

"href" : "/api/v1/presencestatus/tenants/21375/extensions/{extension}", "templated" : true

},

"v1:siteTypes" : {

"href" : "/api/v1/serviceproviders/12/sitetypes{?filter}", "templated" : true

},

"v1:staticSites" : {

"href" : "/api/v1/tenants/21375/staticsites{?expand,filter,siteTypeId}", "templated" : true

},

"v1:tenantAnnouncements" : {

"href" : "/api/v1/tenants/21375/announcements{?expand,filter}", "templated" : true

},

"v1:tenantCrPlatformMgmt" : {

"href" : "/api/v1/tenants/21375/tenantcrplatforms{?expand}", "templated" : true

},

"v1:tenantEnterpriseMgmt" : {

"href" : "/api/v1/tenants/21375/enterprisemgmt{?expand}", "templated" : true

},

"v1:tenantLongDistanceCarrierMgmt" : {

"href" : "/api/v1/tenants/21375/longdistancecarriers"

},

"v1:tenantMitelRingTones" : {

"href" : "/api/v1/tenants/21375/mitelringtones"

},

"v1:tenantPhoneModels" : {

"href" : "/api/v1/tenants/21375/phonemodels{?expand,filter}", "templated" : true

},

"v1:tenantRegionalCarrierMgmt" : {

"href" : "/api/v1/tenants/21375/regionalcarriers"

},

"v1:users" : {

"href" : "/api/v1/tenants/21375/users{?expand,filter}", "templated" : true

},

"v1options:callparkLocationAlgorithm" : {


"href" : "/api/v1/enums/callparklocationalgorithm"

},

"v1options:directorySearchType" : {

"href" : "/api/v1/enums/directorysearchtype"

},

"v1options:phoneMessageAlertType" : {

"href" : "/api/v1/enums/phonemessagealerttype"

},

"v1options:phoneSiteAssignmentType" : {

"href" : "/api/v1/enums/phonesiteassignmenttype"

}

},

"callparkLocationAlgorithm" : "LowestAvailable", "defaultTimezone" : "US/Eastern",

"deleting" : false, "directorySearchType" : "Classic",

"emergencyCallEmailRecipients" : "[email protected],[email protected]", "phoneMessageAlertDuration" : 20,

"phoneMessageAlertType" : "Normal", "tenantId" : 21375,

"tenantName" : "Dave's Moose Hunting Supply", "webLoginUrl" : "/mooseByDave",

"_embedded" : { "enterprise" : {

"_links" : {

"self" : {

"href" : "/api/v1/enterprises/1"

}

},

"enterpriseId" : 1, "name" : "Enterprise One"

},

"regionalCarrier" : { "_links" : {

"self" : {

"href" : "/api/v1/carriers/102"

}

},

"carrierId" : 102,

"cic" : "2222",

"name" : "regionalProvider"

},

"extensionRanges" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/extranges"

}

}

},

"tenantSmdrSettings" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/smdrsettings"

}

},

"dailyReport" : false, "monthlyReport" : false, "reportEmails" : "[email protected]", "segmentedSmdr" : false, "weeklyReport" : true

},

"tenantAdminSettings" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/adminsettings"

}

}

},

"allocations" : { "_links" : {


"self" : {

"href" : "/api/v1/tenants/21375/allocations"

}

}

},

"tenantCodecSet" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/tenantcodecset"

}

},

"codecSetId" : 6, "useSystemDefault" : false

},

"longDistanceCarrier" : { "_links" : {

"self" : {

"href" : "/api/v1/carriers/101"

}

},

"carrierId" : 101,

"cic" : "1111",

"name" : "LongDistanceProvider"

},

"tenantDefaultAnnouncement" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/defaultannouncement{?expand}", "templated" : true

}

},

"announcementId" : 2, "useSystemDefault" : false

},

"defaultBusinessHoursProfile" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/defaultbusinesshours"

}

},

"businessHoursProfileId" : 2, "businessHoursProfileName" : "Standard Business Hours"

},

"accountCodes" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/accountcodes"

}

}

},

"defaultSite" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/staticsites/5"

}

},

"siteId" : 5, "siteName" : "Cabin 3"

}

}

}

Modify Request


Use a PUT request to modify the tenant’s business service settings.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


callparkLocation Algorithm


String


Call Park Location Selection Algorithm: LongestIdle or LowestAvailable.


Telco(TenantBasic Management), TenantAdmin


Enumerated type. See the callpark LocationAlgorithm options for possible values.


directorySearch Type


String


On-phone Directory Search algorithm: Classic or Predictive.


Telco(TenantBasic Management), TenantAdmin


Enumerated type. See the directory SearchType options for possible values.


tenantName


String


The tenant’s display name.


Telco(TenantBasic Management), TenantAdmin


Max length is 50 chars.


defaultTimezone


String


The tenant’s default timezone.


Telco(Tenant Advance Management), TenantAdmin


Must be a valid timezone name.


phoneMessage AlertType


String


The Alert Type is used when instant message is sent to phone.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Enumerated type. See the phone MessageAlertType options for possible values.


phoneMessage AlertDuration


Number


The Alert Duration is used when instant message is sent to phone.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Number between 1

and 60.


emergencyCall EmailRecipients


String


The tenant’s emergency call notification recipient email addresses.


Telco(TenantBasic Management), TenantAdmin


Must be one or more valid email addresses, if more than one email addresses, should be delimited by spaces, semi-colons or comma.

Sample PUT Request

PUT /api/v1/tenants/21375 HTTP/1.1


Content-Type: application/json; charset=UTF-8 Host: localhost:40873

Content-Length: 316


{

"tenantName" : "Dave's Moose Hunting Supply", "defaultTimezone" : "US/Eastern", "directorySearchType" : "Classic", "callparkLocationAlgorithm" : "LowestAvailable",

"emergencyCallEmailRecipients" : "[email protected],[email protected]", "phoneMessageAlertType" : "Splash",

"phoneMessageAlertDuration" : 10

}

Sample PUT Response


The PUT response contains the newly updated resource in the same format as the GET response, above.


Delete Request


Use a DELETE request to delete the tenant, will get 202 Accepted if success, and a runningTask will be created for the deletion. The runningTask link and detail will be in the response. Client can query runningTask to check the deletion progress and state. After tenant deletion finish, GET request on the tenant or runningTask will get 404 not found.


DELETE Response Properties


Path

Type

Description

Visibility


runningTaskId


Number


Unique identifier of the running task


Telco(TenantBasicOr AdvanceManagement)

DELETE Response Links


Relation

Description

Visibility


v1:runningTask


The running task of the deleting tenant.


Telco(TenantBasicOrAdvance Management)

DELETE Response Embeddeds


Name

Description

Visibility

Expandable


runningTask


The tenant which is being deleted.


Telco(TenantBasicOr AdvanceManagement)


n

Sample DELETE Response

HTTP/1.1 202 Accepted

Content-Type: application/hal+json Content-Length: 848


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}",


"name" : "v1", "templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375"

},

"v1:runningTask" : {

"href" : "/api/v1/runningtasks/18"

}

},

"runningTaskId" : 18, "_embedded" : {

"runningTask" : { "_links" : {

"self" : {

"href" : "/api/v1/runningtasks/18"

}

},

"createdTime" : "2022-12-01T14:55:51",

"progress" : 0,

"runningTaskId" : 18, "runningTaskState" : "Created",

"runningTaskStateDetail" : "Task Initialized.", "runningTaskType" : "TenantDelete",

"targetId" : 21375,

"updatedTime" : "2022-12-01T14:55:51"

}

}

}


Tenant Announcement List Resource

Table of Contents

This relation returns a list of Announcements for the tenant. Audio files are uploaded via CustomAnnouncement File. The association between files and tenants is managed through this resource.


Supported Operations


GET


View list of Announcements associate with this tenant HEAD

Get just the header response POST

Associate list of custom Announcements with this tenant


Permitted Authorities (as defined in API Guide)


Telco User


GET, POST

TenantAdmin User


GET


List Details


The Tenant Announcement list resource provides a list of Announcement resources associate with this tenant in summarized form.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1:customAnnouncementFiles


Lists all existing custom announcement files.


Telco(SystemManagement)


v1:defaultAnnouncementFiles


Lists all existing default announcement files.


Telco(SystemManagement)

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).




Name

Description

Visibility

Expandable


announcement


Each element of the Tenant Announcement list represents a single

Announcement belongs to this tenant.


Telco(SystemManagement, TenantBasicOrAdvance Management), Tenant Admin


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 920


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/announcements"

},

"v1:customAnnouncementFiles" : [ {

"href" : "/api/v1/customannouncementfiles/{langCode}{?filter}", "templated" : true

} ],

"v1:defaultAnnouncementFiles" : [ {

"href" : "/api/v1/defaultannouncementfiles/{langCode}{?filter}", "templated" : true

} ],

"v1:itemTemplate" : [ {

"href" : "/api/v1/announcements/{announcementId}", "templated" : true

} ]

},

"count" : { "announcement" : 1

},

"total" : { "announcement" : 1

},

"_embedded" : { "announcement" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/announcements/18"

}

},

"announcementId" : 18, "name" : "Company Greeting"

} ]

}

}

Modify List Request


Use a POST request to add a new Announcement for this tenant.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


name


String


The name of the tenant

announcement.


Telco(System Management)


Required. Max 50 chars. Allow alphanumeric character including underscore and space. Must be unique.


None


fileName


String


The file name of the tenant announcement.


Telco(System Management)


Required. Max 50 chars.


None


A successful POST returns a 201 (Created). A link to the newly added Announcement can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/tenants/21375/announcements HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:42451

Content-Length: 71


{

"name" : "Company Greeting", "fileName" : "companyGreeting.wav"

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/announcements/34


Tenant Default Announcement Resource

Table of Contents

The TenantDefaultAnnouncement resource describes current setting of a Announcement which is being set as the tenant’s default announcement. The default announcement of a tenant could be a System Announcement or a Tenant

Announcement of this tenant. The specified tenant default announcement will be used when announcement of User or Location or CallGroup queue settings are is set to use tenant default.


Supported Operations


GET


View Tenant Default Announcement Settings HEAD

Get just the header response PUT

Modify the Tenant Default Announcement Settings


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin User


GET, PUT


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


useSystemDefault


Boolean


Indicates whether use the default system announcement as default announcement of this tenant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


announcementId


Number


ID of the announcement being set as default announcement of this tenant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin

Link Relations


Relation

Description

Visibility


v1:systemAnnouncements


Acceptable announcement values from System Announcement.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:defaultSystem Announcement


Current setting of Default System Announcement.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:tenantAnnouncements


Acceptable announcement values from Tenant Announcement of this tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.



Name

Description

Visibility

Expandable


announcement


The announcement which is currently used as the default announcement of this tenant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


n


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 869


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/defaultannouncement"

},

"v1:defaultSystemAnnouncement" : {

"href" : "/api/v1/defaultsystemannouncement{?expand}", "templated" : true

},

"v1:systemAnnouncements" : {

"href" : "/api/v1/systemannouncements{?expand,filter}", "templated" : true

},

"v1:tenantAnnouncements" : {

"href" : "/api/v1/tenants/21375/announcements{?expand,filter}", "templated" : true

}

},

"announcementId" : 2, "useSystemDefault" : false, "_embedded" : {

"announcement" : { "_links" : {

"self" : {

"href" : "/api/v1/announcements/2"

}

},

"announcementId" : 2, "name" : "Comfort Tone"

}

}

}

Modify Request


Use a PUT request to modify the setting of TenantDefaultAnnouncement.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.



The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.



Path

Type

Description

Permission

Constraints

Default

Value


useSystem Default


Boolean


Indicates using system default announcement as the tenant default announcement. If this set to true, then the 'announcement

Id' will be ignored if provided in request.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional


false


announcement Id


Number


Indicates using the specified announcement as the tenant default announcement. The value could be a ID of system announcement or tenant announcement of the same tenant.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional, must be a valid

ID of system announcement or tenant announcement from same tenant.


n/a


Sample PUT Request

PUT /api/v1/tenants/21375/defaultannouncement HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:40873 Content-Length: 56


{

"useSystemDefault" : false, "announcementId" : 2

}

Sample PUT Response


Same as "GET response"


TenantMitelRingTones Resource

Table of Contents

The TenantMitelRingTones resource provides the default Mitel ring tone settings of the Tenant.


Supported Operations


GET


View Tenant Mitel Ring Tone Settings

HEAD


Get just the header response

PUT


Modify the Tenant Mitel Ring Tone Settings

Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

Resource Details

Properties


Path

Type

Description

Visibility


internalDirectRing Tone


String


Indicates the default Internal Direct Call Ring Tone Type is currently selected for this Tenant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User



Path

Type

Description

Visibility


internalGroupRing Tone


String


Indicates the default Internal Group Call Ring Tone Type is currently selected for this Tenant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


externalDirectRing Tone


String


Indicates the default External Direct Call Ring Tone Type is currently selected for this Tenant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


externalGroupRing Tone


String


Indicates the default External Group Call Ring Tone Type is currently selected for this Tenant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


Link Relations


Relation

Description

Visibility


v1options:mitelRingToneType


Acceptable values for the Mitel Ring Tone Type setting.


all


v1:mitelRingToneTest


Test the Mitel Ring Tone on user or location’s phone.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 714


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/mitelringtones"

},

"v1:mitelRingToneTest" : {

"href" : "/api/v1/tenants/21375/users/{extension}/mitelringtonetest", "templated" : true

},

"v1options:mitelRingToneType" : {

"href" : "/api/v1/enums/mitelringtonetype"

}

},

"externalDirectRingTone" : "RingTone9", "externalGroupRingTone" : "Silent", "internalDirectRingTone" : "DeviceDefault", "internalGroupRingTone" : "RingTone1"


}

Modify Request


Use a PUT request to modify the default Mitel Ring Tone settings of the Tenant.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.



Path

Type

Description

Permission

Constraints

Default

Value


internal DirectRing Tone


String


Internal Direct Call Ring Tone type, possible values are: DeviceDefault, RingTone1, RingTone2, RingTone3, RingTone4, RingTone5, RingTone6, RingTone7, RingTone8, RingTone9 or Silent.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional


If not provided, will keep the current setting unchanged.


internalGroup RingTone


String


Internal Group Call Ring Tone type, possible values are: DeviceDefault, RingTone1, RingTone2, RingTone3, RingTone4, RingTone5, RingTone6, RingTone7, RingTone8, RingTone9 or Silent.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional


If not provided, will keep the current setting unchanged



Path

Type

Description

Permission

Constraints

Default

Value


external DirectRing Tone


String


External Direct Call Ring Tone type, possible values are: DeviceDefault, RingTone1, RingTone2, RingTone3, RingTone4, RingTone5, RingTone6, RingTone7, RingTone8, RingTone9 or Silent.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional


If not provided, will keep the current setting unchanged


externalGroup RingTone


String


External Group Call Ring Tone type, possible values are: DeviceDefault, RingTone1, RingTone2, RingTone3, RingTone4, RingTone5, RingTone6, RingTone7, RingTone8, RingTone9 or Silent.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional


If not provided, will keep the current setting unchanged


Sample PUT Request

PUT /api/v1/tenants/21375/mitelringtones HTTP/1.1 Content-Type: application/json; charset=UTF-8 Content-Length: 169


{

"internalDirectRingTone" : "DeviceDefault", "internalGroupRingTone" : "RingTone1", "externalDirectRingTone" : "RingTone9", "externalGroupRingTone" : "Silent"

}

Sample PUT Response


Same as "GET response"


TenantPhoneModel Resource

Table of Contents

This relation returns a list of available TenantPhoneModel of the tenant.


Supported Operations


GET


View list of TenantPhoneModel HEAD

Get just the header response POST

Add a TenantPhoneModel to the Tenant.


Permitted Authorities (as defined in API Guide)


Telco User


GET, POST

TenantAdmin User


GET

Non-admin User


GET



Location


GET


List Details


The TenantPhoneModel list resource provides a list of TenantPhoneModel resources.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1:serviceProviderPhone Models


List of available service provider phone models.


Telco(TenantBasicOrAdvance Management)

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).




Name

Description

Visibility

Expandable


tenantPhoneModel


Each element of the tenantPhoneModel array represents a single Tenant PhoneModel resource.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


n


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 850


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/phonemodels"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/phonemodels/{phoneModelId}", "templated" : true

} ],

"v1:serviceProviderPhoneModels" : [ {

"href" : "/api/v1/serviceproviders/12/phonemodels{?filter}", "templated" : true

} ]

},

"count" : { "tenantPhoneModel" : 1

},

"total" : { "tenantPhoneModel" : 1

},

"_embedded" : { "tenantPhoneModel" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/phonemodels/11"

}

},

"description" : "Mitel 5340 IP Phone", "phoneModelId" : 11,

"phoneModelName" : "MN5340"

} ]

}

}

Modify List Request


Use a POST request to add a Tenant Phone Model to the Tenant. (Telco User only)


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.



The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


phoneModelId


Number


The phoneModel


Telco(


Required. Must


None



Id of the Service

TenantBasic

be the phone




ProviderPhone

Management)

ModelId of a valid




Model which is


and enabled




being add to the


ServiceProvider




tenant phone


PhoneModel of




models.


service provider






which associated






with the Tenant;






and can not be






an exist phone






model of the






Tenant.



POST Response


A successful POST returns a 201 (Created). A link to the newly added TenantPhoneModel can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/tenants/21375/phonemodels HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:40873

Content-Length: 25


{

"phoneModelId" : 11

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/phonemodels/11


Twinning Resource

Table of Contents

The Twinning resource provides the ability to view the User’s Twinning configuration.


If Twinning permission has not been enabled for this user, querying this resource will return a 404 Error Response with an application error code of FeatureNotEnabled.


The Call Twinning feature is not supported for locations.



Supported Operations


GET


View User Twinning configuration HEAD

Get just the header response PUT

Modify User Twinning configuration


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin


GET, PUT



User


GET, PUT


Resource Details

Properties


Path

Type

Description

Visibility


active


Boolean


Indicates whether Call Twinning to an external number is currently active for this user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


groupTwinningActive


Boolean


Indicates whether Group Call Twinning to the twinning target number is currently active for this user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


maxSimultaneousCalls


Number


Indicates the maximum number of concurrent calls that can be sent to the Twinning target.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


targetNumber


String


Indicates the target external number to which calls to this user’s extension are twinned,

when the feature is active.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 217


{

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/twinning"

}

},

"active" : true, "groupTwinningActive" : false, "maxSimultaneousCalls" : 2,

"targetNumber" : "6135554343"

}

Modify Request


Use a PUT request with the following properties in the payload to modify user Twinning configuration.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


active


Boolean


Indicates whether Call Twinning to an external nubmer is currently active for this user.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional


groupTwinning Active


Boolean


Indicates whether Group Call Twinning to the twinning target number is currently active for this user.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional


maxSimultaneous Calls


Number


Indicates the maximum number of concurrent calls that can be sent to the Twinning target.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional


targetNumber


String


Indicates the target external number to which calls to this user’s extension are twinned, when the feature is active.


Telco(Tenant BasicOrAdvance Management), TenantAdmin, User


Optional

Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/twinning HTTP/1.1 Content-Type: application/json; charset=UTF-8

Content-Length: 114


{

"active" : true, "groupTwinningActive" : true, "targetNumber" : "76543210",

"maxSimultaneousCalls" : 3

}

Sample PUT Response


Same as "GET response"


User Resource

Table of Contents

Each User resource provides the personally-modifiable information about a User, meaning settings that do not require Admin privileges to modify.


Further information about the user is available through embedded representations and by following the linked relations in the response.


Supported Operations


GET


View User Details HEAD

Get just the header response PUT

Modify User Details DELETE

Remove the User


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE

TenantAdmin User


GET, PUT, DELETE

User


GET, PUT (self only)

Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


accountId


String


The user’s Account Identifier, required for subscribing to events and managing calls through the API.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


emailAddress


String


The user’s email address.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


extension


String


The user’s extension. The extension serves as the unique identifier of a user within a tenant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


firstName


String


The user’s first name.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User



Path

Type

Description

Visibility


lastName


String


The user’s last name.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


homePhone


String


The user’s home phone number.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


mobilePhone


String


The user’s mobile phone number.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


language


String


The user’s language, as a two-character code.

This setting manages the user’s phone language and WebAdmin language.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


nameAnnouncement Recorded


Boolean


Indicates whether the user has recorded the Name Announcement for the Auto Attendant.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


subscriberId


Number


A unique identifier for the user. This value is

provided for legacy system interoperability purposes. New applications should avoid using it.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


creationTimestamp


String


Creation timestamp of this user. It’s read-only and displayed in the format of 'yyyy-MM-dd HH:mm:ss.SS SXXX'. It presents only for a newly added user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


deleting


Boolean


Indicate if the user is under deleting. Read Only. When a user is under deleting, this will be true and never go back to false, and there will be a runningTask created for the deletion work, please use the runningTask resource to check deleting progress details.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


Link Relations


Relation

Description

Visibility


v1:userPhones


This is deprecated. Details about the phone(s) that the user is logged into, including the default Click-to-Call device, and default Intercom device.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:polycomRingTones


Details about the Polycom ring tone settings of the user.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:mitelRingTones


Details about the Mitel ring tone settings of the user.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:memberCallGroupMgmt


All call groups of which the user is a member.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:monitoredByExtensions


Extensions that are monitoring this user’s phone.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:monitoringExtensions


Extensions that this user is monitoring.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:memberKeyProfileMgmt


key profile management.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:personalKeyMappings


personal key mapping management.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:personalContacts


personal contacts management.


User


v1:userCallPermission Profile


call permission profile management.


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:myPhones


My phones management.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:scrRules


Selective Call Routing rules management.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:pin


Subscriber PIN management


Telco(TenantBasicOrAdvance Management), TenantAdmin, User



Relation

Description

Visibility


v1:resetPin


Allows admins to reset subscriber PINs


Telco(TenantBasicOrAdvance Management), TenantAdmin


v1:personalVoicemail Settings


Personal vociemail settings.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:personalVoicemailPin Reset


Link can be used to do POST request for setting new voicemail PIN.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:userDynamicSite


Link can be used to query, create or release user dynamic site. Onky visible when the Dynamic Site Setting is enabled for the User.


Telco(TenantBasicOrAdvance Management), User


v1:languages


Supported languages of system which can be used for User language setting.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:runningTask


when a user is under deleting, this link can be used to query the running task.


Telco(TenantBasicOrAdvance Management), TenantAdmin


Embedded Representations


Name

Description

Visibility

Expandable


adminSettings


Contains those settings generally provisionable only by a Telco or Tenant Admin user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


featureSettings


Contains those feature settings generally provisionable only by a Telco or Tenant Admin user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


announcementSetting


The AnnouncementSetting of this user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y


features


Contains status information for all Service and Calling Features.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y



Name

Description

Visibility

Expandable


dynamicSite


If the user currently has an active Dynamic Site, this representation describes that site.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


keyProfile


If the user has a Key Profile, this representation identifies it.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


callPermission Profile


The CallPermissionProfile assigned to this user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


nameAnnouncement


The NameAnnouncement of this user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


voicemailBox


The allocated voicemail box of this user.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


myPhone


Logged in Phone(s) for this user. Include flags to indicate user’s default Click-to-Call phone and Intercom phone. If the

user is not logged into any phone, this representation will not be present in the query response.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


runningTask


when the user is under deleting, there will be a runningTask for the deletion which include

progress and state details.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


n


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 5121


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true


} ],

"self" : {

"href" : "/api/v1/tenants/21375/users/4332"

},

"v1:languages" : {

"href" : "/api/v1/languages{?filter}", "templated" : true

},

"v1:memberCallGroupMgmt" : {

"href" : "/api/v1/tenants/21375/users/4332/callinggroups{?expand,filter}", "templated" : true

},

"v1:memberKeyProfileMgmt" : {

"href" : "/api/v1/tenants/21375/users/4332/keyprofile"

},

"v1:mitelRingTones" : {

"href" : "/api/v1/tenants/21375/users/4332/mitelringtones"

},

"v1:monitoredByExtensions" : {

"href" : "/api/v1/tenants/21375/users/4332/monitoredbyextensions{?expand,filter}", "templated" : true

},

"v1:monitoringExtensions" : {

"href" : "/api/v1/tenants/21375/users/4332/monitoringextensions{?expand,filter}", "templated" : true

},

"v1:myPhones" : {

"href" : "/api/v1/tenants/21375/users/4332/myphones{?expand,filter}", "templated" : true

},

"v1:personalContacts" : {

"href" : "/api/v1/tenants/21375/users/4332/personalcontacts{?expand,filter}", "templated" : true

},

"v1:personalKeyMappings" : {

"href" : "/api/v1/tenants/21375/users/4332/personalkeymappings{?expand,filter}", "templated" : true

},

"v1:personalVoicemailPinReset" : {

"href" : "/api/v1/tenants/21375/users/4332/voicemailpinreset"

},

"v1:personalVoicemailSettings" : {

"href" : "/api/v1/tenants/21375/users/4332/voicemailsettings"

},

"v1:pin" : {

"href" : "/api/v1/tenants/21375/users/4332/pin"

},

"v1:polycomRingTones" : {

"href" : "/api/v1/tenants/21375/users/4332/polycomringtones"

},

"v1:resetPin" : {

"href" : "/api/v1/tenants/21375/users/4332/resetpin"

},

"v1:scrRules" : {

"href" : "/api/v1/tenants/21375/users/4332/scrrules{?expand,filter}", "templated" : true

},

"v1:userCallPermissionProfile" : {

"href" : "/api/v1/tenants/21375/users/4332/callpermissionprofile"

},

"v1:userDynamicSite" : {

"href" : "/api/v1/tenants/21375/users/4332/dynamicsite"

},

"v1:userPhones" : {

"href" : "/api/v1/tenants/21375/users/4332/phones{?expand,filter}", "templated" : true

}

},

"accountId" : "4332@21375",

"creationTimestamp" : "2022-12-01 14:55:11.789-05:00",


"deleting" : false,

"emailAddress" : "[email protected]", "extension" : "4332",

"firstName" : "Dave", "homePhone" : "613-555-1212",

"language" : "en",

"lastName" : "Smith", "mobilePhone" : "613-555-2121", "nameAnnouncementRecorded" : true, "subscriberId" : 156,

"_embedded" : { "nameAnnouncement" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/nameannouncement"

}

},

"nameAnnouncementRecorded" : true

},

"keyProfile" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/keyprofiles/10"

}

},

"keyProfileId" : 10,

"keyProfileName" : "Corporate Speed Dial Keys"

},

"features" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/features"

}

}

},

"featureSettings" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/featuresettings"

}

}

},

"dynamicSite" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/dynamicsites/44"

}

},

"siteId" : 44,

"siteName" : "DS4332: Dynamic Site for user 4332"

},

"callPermissionProfile" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/callpermissionprofiles/116"

}

},

"callPermissionProfileId" : 116, "name" : "Call Permission - Sales"

},

"announcementSetting" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/announcementsetting"

}

},

"announcementId" : 2, "useDefault" : false

},

"myPhone" : {


"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/myphones/546"

}

},

"defaultC2CPhone" : true, "defaultIntercomPhone" : true, "identifier" : "08000f6e6799", "phoneId" : 546,

"phoneModelName" : "Mitel 5330 IP Phone", "userLabel" : "Desk Phone"

},

"adminSettings" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/adminsettings"

}

}

},

"voicemailBox" : { "_links" : {

"self" : {

"href" : "/api/v1/voicemailservers/101/voicemailboxes/22"

}

},

"releaseDate" : "12/1/22, 2:55 p.m.", "voicemailBoxAccount" : "23380500049100",

"voicemailBoxId" : 22, "voicemailBoxState" : "Released"

}

}

}

Modify Request


Use a PUT request to modify the properties of a User.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


lastName


String


The last name of the User.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. Max 50 chars.


firstName


String


The first name of the User.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. Max 50 chars.



Path

Type

Description

Permission

Constraints


emailAddress


String


The email address of the User.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required only if the system email PIN notification turned on. Must be a valid email address.


homePhone


String


The home phone number of the User.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. Must be a valid phone number.


mobilePhone


String


The mobile phone number of the User.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. Must be a valid phone number.


language


String


The prefer phone language of the User.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. If provided and changing the current value, the new value must be a supported and enabled language in system.


Sample PUT Request

PUT /api/v1/tenants/21375/users/4332 HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:45463

Content-Length: 188


{

"language" : "en",

"firstName" : "Dave",

"lastName" : "Smith", "mobilePhone" : "613-555-2121",

"homePhone" : "613-555-1212",

"emailAddress" : "[email protected]"

}

Sample PUT Response Same as "GET response" Delete Request

Use a DELETE request to delete the user, will get 202 Accepted if success, and a runningTask will be created for the deletion. The runningTask link and detail will be in the response. Client can query runningTask to check the deletion progress and state. After user deletion task is completed, GET request on the user or runningTask will get 404 not found.


DELETE Response Properties


Path

Type

Description

Visibility


runningTaskId


Number


Unique identifier of the running task


Telco(TenantBasicOr AdvanceManagement), TenantAdmin

DELETE Response Links


Relation

Description

Visibility


v1:runningTask


The running task of the deleting subscriber.


Telco(TenantBasicOrAdvance Management), TenantAdmin

DELETE Response Embeddeds


Name

Description

Visibility

Expandable


runningTask


The subscriber which is being deleted.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


n

Sample DELETE Response

HTTP/1.1 202 Accepted

Content-Type: application/hal+json Content-Length: 861


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

}, {

"href" : "/api/v1options/rels/{rel}", "name" : "v1options",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/users/4332"

},

"v1:runningTask" : {

"href" : "/api/v1/runningtasks/19"

}

},

"runningTaskId" : 19, "_embedded" : {

"runningTask" : { "_links" : {

"self" : {

"href" : "/api/v1/runningtasks/19"

}

},

"createdTime" : "2022-12-01T14:55:13",

"progress" : 0,

"runningTaskId" : 19, "runningTaskState" : "Created",

"runningTaskStateDetail" : "Task Initialized.", "runningTaskType" : "SubscriberDelete", "targetId" : 156,


"updatedTime" : "2022-12-01T14:55:13"

}

}

}


Users List Resource

Table of Contents

This relation returns a list of configured Users within the tenant.


Supported Operations


GET


View User List HEAD

Get just the header response POST

Add new User


Permitted Authorities (as defined in API Guide)


Telco User


GET, POST

TenantAdmin User


GET, POST

List Details


The User list resource provides a list of User resources in summarized form.


Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request, and the result will be filtered by all filters based on the provided order in rhe query parameter.


Optional, see details at Filter Support

Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission


v1:languages


Supported languages of system which can be used for User language setting.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User


v1:extensions


List of existing extensions of the tenant. This is useful to find the a not used extension if the client want specify one.


Telco(TenantBasicOrAdvance Management), TenantAdmin, User

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).




Name

Description

Visibility

Expandable


user


Each element of the user array represents a

single user resource, and indicates the user’s name, extension and call control accountId.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin, User


y


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 968


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/tenants/21375/users"

},

"v1:extensions" : [ {

"href" : "/api/v1/tenants/21375/extensions{?expand,filter,extensionType,agent}", "templated" : true

} ],

"v1:itemTemplate" : [ {

"href" : "/api/v1/tenants/21375/users/{extension}", "templated" : true

} ],

"v1:languages" : [ {

"href" : "/api/v1/languages{?filter}", "templated" : true

} ]

},

"count" : {

"user" : 1

},

"total" : {

"user" : 1

},

"_embedded" : {

"user" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332"

}

},

"accountId" : "4332@21375", "deleting" : false, "extension" : "4332",

"firstName" : "Dave",

"lastName" : "Smith", "subscriberId" : 156

} ]

}

}

Modify List Request


Use a POST request to add a new User.


POST Request Properties


The following properties are processed as part of the POST request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation.



Path

Type

Description

Permission

Constraints

Default

Value


lastName


String


The last name of the User.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required. Max 50 chars.


None


firstName


String


The first name of the User.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. Max 50 chars.


None


emailAddress


String


The email address of the User.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Required only if the system email PIN notification turned on. Must be a valid email address.


None


homePhone


String


The home phone number of the User.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. Must be a valid phone number.


None


mobilePhone


String


The mobile phone number of the User.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. Must be a valid phone number.


None


language


String


The prefer phone language of the User.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. Must be a supported and enabled language in system.


en



Path

Type

Description

Permission

Constraints

Default

Value


extension


String


The extension to be used for the User.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Optional. If specified, it must be a valid extension for a User and not be in use.


Next unused value in range. (Same range shared by User, Location and ACD)


POST Response


A successful POST returns a 201 (Created). A link to the newly added User can be found in the Location field in the response header.


Sample POST Request

POST /api/v1/tenants/21375/users HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:45463

Content-Length: 212


{

"extension" : "4332",

"language" : "en",

"firstName" : "Dave",

"lastName" : "Smith", "mobilePhone" : "613-555-2121",

"homePhone" : "613-555-1212",

"emailAddress" : "[email protected]"

}

Sample POST Response

HTTP/1.1 201 Created

Location: /api/v1/tenants/21375/users/4332


UserCallPermissionProfile Resource

Table of Contents

The UserCallPermissionProfile resource provides information about the assigned call permission profile of the User or Location.


Supported Operations


GET


View User or Location Call Permission Profile setting HEAD

Get just the header response PUT

Modify User or Location Call Permission Profile setting.


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT

TenantAdmin User


GET, PUT


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


callPermission ProfileId


Number


Identifier the call permission profile currently associated with the User or Location.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin

Link Relations


Relation

Description

Visibility


v1:callPermissionProfiles


List of call permission profiles for the tenant.


Telco(TenantBasicOrAdvance Management), TenantAdmin

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


callPermission Profile


The CallPermissionProfile currently associated with the User or Location.


Telco(TenantBasicOr AdvanceManagement), TenantAdmin


y

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 672


{

"_links" : {

"curies" : {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

},

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/callpermissionprofile"


},

"v1:callPermissionProfiles" : {

"href" : "/api/v1/tenants/21375/callpermissionprofiles{?expand,filter}", "templated" : true

}

},

"callPermissionProfileId" : 116, "_embedded" : {

"callPermissionProfile" : { "_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/callpermissionprofiles/116"

}

},

"callPermissionProfileId" : 116, "name" : "Call Permission - Sales"

}

}

}

Modify Request


Use a PUT request to modify the User or Location Call Permission Profile setting.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


The Default Value column indicates the default value that will be assigned to the property during resource creation. During update, only those values provided in the request payload will be updated unless otherwise noted.



Path

Type

Description

Permission

Constraints

Default

Value


call Permission ProfileId


Number


Identifier of the call permission profile going

to associate with the User or Location.


Telco(Tenant BasicOrAdvance Management), TenantAdmin


Must be a valid call permission profile identifier of the tenant, could be the ' Unassigned' call permission profile.


n/a


Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/callpermissionprofile HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:45463 Content-Length: 37


{

"callPermissionProfileId" : 116

}


Sample PUT Response


"Same as GET response"


UserDynamicSite Resource

Table of Contents

The UserDynamicSite resource provides the ability to view, create or release the User’s Dynamic Site.


If Dynamic Site permission has not been enabled for this user, querying this resource will return a 404 Error Response with an application error code of FeatureNotEnabled. PUT request can be used to create or update the User’s Dynamic Site if the Dynamic Site permission is enabled. DELETE is supported for release(remove) User’s Dynamic Site.


Supported Operations


GET


View User Dynamic Site HEAD

Get just the header response PUT

Create or Update User’s Dynamic Site DELETE

Release(remove) User’s Dynamic Site


Permitted Authorities (as defined in API Guide)


Telco User


GET, PUT, DELETE





User


GET, PUT, DELETE


Resource Details

Request Parameters


Parameter

Description

Constraints


expand


This parameter can be used to include more detail data of resource or embedded resource to reduce round trip(using multiple request) to get requested information.


Optional, see details at Expand Support

.

Properties


Path

Type

Description

Visibility


ipAddress


String


The User’s Dynamic Site IP address.


Telco(TenantBasicOr AdvanceManagement), User

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


Name

Description

Visibility

Expandable


dynamicSite


The user’s current active Dynamic Site.


Telco(TenantBasicOr AdvanceManagement)


y

Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 381


{

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/users/4332/dynamicsite"

}

},

"ipAddress" : "10.150.155.1",

"_embedded" : { "dynamicSite" : {

"_links" : {

"self" : {

"href" : "/api/v1/tenants/21375/dynamicsites/44"

}


},

"siteId" : 44,

"siteName" : "DS4332: Dynamic Site for user 4332"

}

}

}

Modify Request


Use a PUT request to create or update the User’s Dynamic Site.


PUT Request Properties


The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes other properties that may be part of the GET response: if they are not documented here, they are ignored by the server if they are included as part of this request.


Path

Type

Description

Permission

Constraints


ipAddress


String


The IP address which


Telco(Tenant


Only used for



going to be used

BasicOrAdvance

privilege client,



as DynamicSite IP

Management), User

must be a valid IP



address. Only used


Address. If the IP



for privilege client.


address is same



For public client will


as current Dynamic



use the IP address


Site IP address, no



where the request


change will happen.



come from.



Sample PUT Request

PUT /api/v1/tenants/21375/users/4332/dynamicsite HTTP/1.1 Content-Type: application/json; charset=UTF-8

Host: localhost:45463 Content-Length: 34


{

"ipAddress" : "10.150.155.1"

}

Sample PUT Response


Same as "GET response"


User Phones Resource

Table of Contents

This relation returns a list of supported VoicemailLanguage of the system.


Supported Operations


GET


View list of VoicemailLanguages HEAD

Get just the header response


Permitted Authorities (as defined in API Guide)


Telco User


GET

TenantAdmin User


GET

User


GET

List Details


The VoicemailLanguage list resource provides a list of VoicemailLanguage resources.


Request Parameters


Parameter

Description

Constraints


filter


This parameter can be used to filter list result. Multiple filter parameter can be provided in same request,


Optional, see details at



Parameter

Description

Constraints


and the result will be filtered by all

filters based on the provided order in rhe query parameter.

Filter Support


Link Relations


Relation

Description

Visibility


v1:itemTemplate


A URL template indicating how to retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking can use this URL to retrieve it, instead of iterating over the list.


same as item resource permission

Embedded Representations


Embedded resources marked as 'expandable' in this table can be expanded in the GET response to this resource by including the ?expand=<resourceName> query

parameter. Nested elements may be recursively expanded using dot-notation to specify

child elements of other expandable resources. See more details at Expand Support.


The generic term 'item' can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used to expand the resource and all its child elements (one level deep).



Name

Description

Visibility

Expandable


vmLanguage


Each element of the VoicemailLanguage list represents a single supported Voicemail

Language of the system.


Telco(TenantBasicOr AdvanceManagement, SystemManagement), TenantAdmin, User


n


Sample GET Response

HTTP/1.1 200 OK

Content-Type: application/hal+json Content-Length: 594


{

"_links" : {

"curies" : [ {

"href" : "/api/v1/rels/{rel}", "name" : "v1",

"templated" : true

} ],

"self" : {

"href" : "/api/v1/vmlanguages"

},

"v1:itemTemplate" : [ {

"href" : "/api/v1/vmlanguages/{langCode}", "templated" : true

} ]

},


"count" : { "vmLanguage" : 1

},

"total" : { "vmLanguage" : 1

},

"_embedded" : {

"vmLanguage" : [ {

"_links" : {

"self" : {

"href" : "/api/v1/vmlanguages/en"

}

},

"description" : "English", "langCode" : "en"

} ]

}

}


The following is a sample high-level design for an application that uses the API.


  1. If application is going to register for events

    1. Obtain a link for the WebSocket from /api

    2. Obtain the tenantId from /api

    3. Create a WebSocket.

    4. Create Subscription Set(s) .

    5. Register with the WebSocket for event handling

    6. Subscribe for events.

    7. Handle WebSocket closures (attempt re-open, for example)

    8. Generate keep alive messages (3rd party framework may provide this, WebSocket4Net does)

  2. If tracking call states, determine the call state based on events received, rather than requests made.

  3. Realize that some call commands might fail as a result of race conditions, for example, Release call fails if the far end hangs up first.


This section comprises



Error Format

Error responses from the silhouette API have the following format:



{

"_links": {

"about": {

"href": "/api/v1/tenants/4444"

}

},

"errorCode": "ResourceNotFound", "httpCode": 404, "localizedUserMessage": {

"key": "generic_url_not_found",

"renderedMessage": "Requested resource not found."

}

}



Property Name

Description

Link: about

The error response includes an href value that

identifies the URI that the (failed) request was issued against.

httpCode

The HTTP status code (number portion only) is

included in the body of the error response.

errorCode

The silhouette error code is an application-defined

error code that may provide more granularity or context than the HTTP code itself. An error code is always paired with the same HTTP status code. Details about each error code are documented in Error Codes.

localizedUserMessage

The localizedUserMessage is an object defining an

error string that a client application can present to their end user. It has three potential parts:

  • key—maps to a unique key in a resource property file that defines the error message. Clients can use this key to provide their own customized end user error messages, if desired. Always present.

  • paramValues—some messages require substitutable parameters to be populated during the rendering. In that case, the parameters themselves are included in the error response. Conditionally present.

  • renderedMessage—as a convenience for the client, the API provides a rendering of the user message. In the current release messages are rendered only in English. Always present.



Property Name

Description

developerMessage

When configured by your Service Provider,

the developerMessage is included in the error response based on the server’s runtime

environment. When included, this message is a free-format message that can provide a hint to the client and server application development teams about the exact nature of the error. If unavailable, contact your Service Provider.

List<UserMessage>

List of detailed UserMessages for this error,

which is used to give client all validation error details. Uses the same format as the localizedUserMessage.


Error Codes

Requests may not result in the desired result for a number of reasons. The following errors are returned:


silhouette Error Code

HTTP Status

Code

Description

InvalidSubscriberAccount

400 Bad

Request

  • The user in the X-Account-

Authorization header cannot be mapped to a valid user or location for the requested call.

InvalidRequest

400 Bad

Request

  • A syntax error was encountered

    while parsing the list of accounts in a subscription set bulk update request.

  • In a subscription set bulk update request, (at least) one of the accounts in the request does not match the tenantId of the authenticated user.

  • In a subscription set bulk update request, the account in the request does not match the subscriber’s account.

  • In a subscription set bulk update request for park locations the scope parameter is missing or invalid.

  • The payload of a POST <call> request does not specify a valid CallRequestType.



silhouette Error Code

HTTP Status

Code

Description



  • A MakeCall request:

    • does not contain an originator value

    • contains a request type value other than “makeCall”

    • contains a from value that does not match the originator value

  • An AnswerCall,deflectCall, holdCall, resumeHeldCall, transfer, or parkCall request:

    • contains a MyParty value in the payload that does not match the authenticated user

    • contains a MyParty value that does not match any of the call parties

  • A HangupCall request:

    • the authenticated user is not one of the call parties

  • A DeflectCall request:

    • contains a MyParty value in the payload that does not match the authenicated user

  • A transfer request contains an OtherCallId that is invalid (for any reason), or is not populated.

  • A retrieveParkedCall request does not contain a “from”,

    or it does not match the authenticated user, or does not contain a valid park location number in “featureData”

  • A parkCall request contains featureData that is not valid.

  • A MakeCall request:

    • does not contain a To value

  • A transfer request:

    • contains an “OtherCallId” that is invalid (for any reason), or is not populated

  • A feature request fails in processing even though the request was valid



silhouette Error Code

HTTP Status

Code

Description



  • User provided invalid data in

the payload of the request.

RequestNotValid

ForSpecifiedDevice

400 Bad

Request

  • A MakeCall request contains

    an invalid deviceId or one that is not logged into by the requesting user.

  • An AnswerCall or resumeHeldCall request contains a deviceId that is not logged into by the requesting user, or is a SIP device.

  • A holdCall, resumeCall, or parkCall request for a call that is active on a SIP device.

DataValidationError

400 Bad

Request

  • The data provided in request

payload did not pass business logic validations. Usually, there will be a list of detailed

validation errors included in the response.

FrameworkBadRequest

400 Bad

Request

  • The client request is in

invalid format and cannot be processed.

CallCancelled

400 Bad

Request

  • The call was cancelled before

the 3PCC operation could complete.

BadAuthenticationHeader

401

Unauthorized

  • Client request does not contain

    an HTTP Authorization header.

  • The user in the HTTP Authorization cannot be parsed or mapped to a valid subscriber.

  • The User Account has been blocked.

  • The User Account has been disabled.

  • The provided PIN is invalid.

FrameworkForbidden

403

Forbidden

  • The authenticated user does

not have sufficient application permission for the request.

RestrictedOperationAttempt

403

Forbidden

  • In a MakeCall request, the

authenticated user does not match the originator account in the request payload.



silhouette Error Code

HTTP Status

Code

Description

AccountNotCallParty

403

Forbidden

  • The call associated with the

    callObserverId specified in the request path cannot be found.

  • The authenticated user is not a party to the call specified in the request path.

ResourceNotFound

404 Not

Found

  • The User of the HTTP

    Authorization header does not match the User that originally created the SubscriptionSet.

  • The request path specifies an unknown subscription set UUID.

  • The request path indicates an invalid/incorrect websocket UUID as owning the SubscriptionSet.

  • An attempt to add a single account to a subscription set specified an accountId that could not be parsed.

  • The request path is unknown (cannot be mapped to the appropriate webservice).

  • In an unsubscribe request, the accountId could not be resolved to a subscriber.

  • The URL in the request path is not valid.

  • The resource specified in the request path could not be found.

  • A request to query extension details for an extension that is not a user or location.

RestrictedDataAccessAttempt

404 Not

Found

  • The auth non-admin user

    is attempting to subscribe/ unsubscribe to events for another subscriber.

  • The auth user is attempting to access configuration data belonging to another user.

FrameworkNotFound

404 Not

Found

  • The service was unable to

determine the type of resource being sought for the request



silhouette Error Code

HTTP Status

Code

Description



path (i.e. the URL was utterly

invalid).

FrameworkInvalidParam

404 Not

Found

  • The requested path contains

un-parseable value for URI variable.

FrameworkInvalidPathParam

404 Not

Found

  • • The request path contains

un-parseable value for path variable, such as incorrect value of tenantId.

FrameworkInvalidQueryParam

404 Not

Found

  • The requested path contains

un-parseable value for query variable, such as incorrect value of siteTypeId.

InvalidParamValue

404 Not

Found

  • The requested URL specified

a query parameter with invalid syntax, for example a string for a Boolean.

FeatureNotEnabled

404 Not

Found

  • The request asks to query

details of a controlled-feature that has not been enabled for the specified resource (e.g.

Subscriber Twinning, or Tenant Account Codes).

FrameworkUnsupportedMethod

405 Method

Not Allowed

  • The client request asked for an

unsupported HTTP method of a resource.

FrameworkUnacceptable

406 Not

Acceptable

  • The client specified an

unsupported content type in the request Accept header (only “application/hal+json” is supported).

RequestNotValidForCallState

409 Conflict

  • A HangupCall request specifies

    a call that is currently in Ringing state.

  • An AnswerCall request specifies a call that is not in Ringing state.

  • A DeflectCall request specifies an active call that is not currently in RingingState.

  • A holdCall request specifies a call that is not in talk or hold state.



silhouette Error Code

HTTP Status

Code

Description



  • A resumeHeldCall request

    specifies a call that is not in hold state

  • A makeCall request that is received before the system has completed handling the last request on the originating device

  • A parkCall request for a call that is not in talk state.

  • A a parked call cannot be parked again.

FrameworkUnsupportedType

415

Unsupported Media Type

  • The client specified an

unsupported content type in the request Accept header (only “application/hal+json” is supported).

InternalServerError

500 Internal

Server Error

  • At the time of servicing the

    request, the provided user account cannot be parsed or does not map to a valid subscriber, despite having

    already passed Authentication.

  • The tenant associated with a known subscription set no longer appears to exist

    midway through processing a subscription set management request.

  • An error occurred while attempting to generate the HTTP Response data.

  • In a HangupCall request, the auth user can no longer be mapped to a valid account, after it has passed Authorization checks.

  • The request does not parse/ resolve to a valid tenant or subscriber.

  • - callObserverId can’t be found for callbackTarget

- callObserver has no callLeg



silhouette Error Code

HTTP Status

Code

Description



  • the API service did not provide

    a callbackTarget to the callp server

  • the API is unable to create the callDto for the response

  • the call was not placed for unknown reasons

  • deflectCall request sent to own account

  • Indicates processing resource availability problems (i.e. memory, CPU, etc)

FrameworkInternalServerError

500 Internal

Server Error

  • Unexpected internal error

occurred while processing the client request.

FrameworkUnknownError

500 Internal

Server Error

  • Unexpected error when

processing client request.

SystemResourceUnavailable

503 Service

Unavailable

  • Too many requests have

    originated from the client’s IP Address in a short time

    period (where the time period is configurable).

  • silhouette has reached the maximum number of websocket connections it can support.

  • silhouette has reached the maximum number of unique client connections it can support.

  • The maximum permitted websocket connections per client has been reached by this client

ServiceUnavailable

503 Service

Unavailable

  • The service is unavailable due

to an initialization error.

FrameworkServiceUnavailable

503 Service

Unavailable

  • The required service for

processing client request is not available at the moment