Download OpenAPI specification:
API documentation and description
The ACD/Attendant Group API is used to manage agent login status as well as retrieving
information about groups and agents.
Use the ACD/Attendant Group API to:
Retrieve information about a specific ACD/Attendant group for a user.
NOTE: This method
is DEPRECATED and will be removed in future releases.
domain
required
|
string
|
user
required
|
string
|
group
required
|
integer <int64>
|
{- "id": 35,
- "domain": "sampleorg.com",
- "name": "Customer services",
- "type": "ACD",
- "isLoggedIn": true,
- "isNightMode": true,
- "agents": [
- {
- "name": "Jane Doe",
- "number": "+1555123445",
- "userId": "jdoe"
}
], - "roles": [
- {
- "type": "AGENT"
}
], - "statistic": {
- "numberOfLoggedInAgents": 6,
- "numberOfFreeAgents": 5,
- "numberOfCallsInQueue": 3
}, - "isAllowUsingFunctionNumber": true,
- "distributionType": "string",
- "phoneNumber": "string"
}
Retrieve information about a specific ACD/Attendant group for a user. It is possible to filter out
the statistics.
NOTE: This method is DEPRECATED since 5.2 and will be removed in future
releases.
domain
required
|
string
The domain of the user's organization |
user
required
|
string
The user id of the user |
group
required
|
integer <int64>
The id of the ACD/Attendant group |
group-domain
required
|
string
The domain of the organization the ACD/Attendant group belongs to |
ignoreStatistics
required
|
boolean
Don't include statistics and immediately return an empty response |
{- "id": 5,
- "domain": "example.org",
- "name": "TestAttendantGroup",
- "type": "ATTENDANT",
- "loggedIn": true,
- "nightMode": false,
- "agents": [
- {
- "firstName": "Jane",
- "activity": "Available",
- "lastName": "Doe",
- "skillLevel": 3,
- "isLoggedIn": true,
- "isAvailable": true
}, - {
- "firstName": "Agent",
- "activity": "Available",
- "lastName": "Four",
- "skillLevel": 3,
- "isLoggedIn": false,
- "isAvailable": true
}
], - "roles": [
- {
- "type": "AGENT"
}
], - "statistic": {
- "numberOfLoggedInAgents": 1,
- "numberOfFreeAgents": 1,
- "numberOfCallsInQueue": 0
}, - "allowUsingFunctionNumber": true
}
Retrieve information about a specific ACD/ACD Light/Attendant group for a user. It is possible to filter out the statistics.
domain
required
|
string
The domain of the user's organization |
user
required
|
string
The user id of the user |
group
required
|
integer <int64>
The id of the ACD/ACD Light/Attendant group |
group-domain
required
|
string
The domain of the organization the ACD/Attendant group belongs to |
ignoreStatistics |
boolean
Don't include statistics and immediately return an empty response |
{- "id": 5,
- "domain": "example.org",
- "name": "TestAttendantGroup",
- "type": "ATTENDANT",
- "loggedIn": true,
- "nightMode": false,
- "agents": [
- {
- "firstName": "Jane",
- "activity": "Available",
- "lastName": "Doe",
- "skillLevel": 3,
- "isLoggedIn": true,
- "isAvailable": true
}, - {
- "firstName": "Agent",
- "activity": "Available",
- "lastName": "Four",
- "skillLevel": 3,
- "isLoggedIn": false,
- "isAvailable": true
}
], - "roles": [
- {
- "type": "AGENT"
}
], - "statistic": {
- "numberOfLoggedInAgents": 1,
- "numberOfFreeAgents": 1,
- "numberOfCallsInQueue": 0
}, - "allowUsingFunctionNumber": true,
- "distributionType": "PRIORITY"
}
List all ACD/Attendant groups for a user.
Login state, availability and activity for all
agents/attendants belonging to respective group are also included.
NOTE: This method is
DEPRECATED since 5.2 and will be removed in future releases.
domain
required
|
string
The domain of the user's organization |
user
required
|
string
The user's id |
ignoreStatistics |
boolean
Whether statistics shall be included, or not. If omitted, statistics will be included. |
ignoreAgents |
boolean
Whether agents shall be included, or not. If omitted, agents will be included. |
{- "groups": [
- {
- "id": 21,
- "domain": "example.org",
- "name": "Acd group 1",
- "type": "ACD",
- "loggedIn": false,
- "nightMode": false,
- "agents": [
- {
- "firstName": "Jane",
- "activity": "Available",
- "lastName": "Doe",
- "skillLevel": 3,
- "isLoggedIn": false,
- "isAvailable": true
}, - {
- "firstName": "John",
- "activity": "Available",
- "lastName": "Doe",
- "skillLevel": 3,
- "isLoggedIn": false,
- "isAvailable": true
}, - {
- "firstName": "Agent",
- "activity": "Available",
- "lastName": "Three",
- "skillLevel": 3,
- "isLoggedIn": false,
- "isAvailable": true
}
], - "roles": [
- {
- "type": "AGENT"
}
], - "statistic": {
- "numberOfLoggedInAgents": 0,
- "numberOfFreeAgents": 0,
- "numberOfCallsInQueue": 0
}, - "allowUsingFunctionNumber": false
}, - {
- "id": 5,
- "domain": "example.org",
- "name": "TestAttendantGroup",
- "type": "ATTENDANT",
- "loggedIn": true,
- "nightMode": false,
- "agents": [
- {
- "firstName": "Jane",
- "activity": "Available",
- "lastName": "Doe",
- "skillLevel": 3,
- "isLoggedIn": true,
- "isAvailable": true
}, - {
- "firstName": "Agent",
- "activity": "Available",
- "lastName": "Four",
- "skillLevel": 3,
- "isLoggedIn": false,
- "isAvailable": true
}
], - "roles": [
- {
- "type": "AGENT"
}
], - "statistic": {
- "numberOfLoggedInAgents": 1,
- "numberOfFreeAgents": 1,
- "numberOfCallsInQueue": 0
}, - "allowUsingFunctionNumber": true
}, - {
- "id": 25,
- "domain": "example.org",
- "name": "Acd group 2",
- "type": "ACD_LIGHT",
- "loggedIn": false,
- "nightMode": false,
- "agents": [
- {
- "firstName": "Jane",
- "activity": "Available",
- "lastName": "Doe",
- "skillLevel": 3,
- "isLoggedIn": false,
- "isAvailable": true
}, - {
- "firstName": "John",
- "activity": "Available",
- "lastName": "Doe",
- "skillLevel": 3,
- "isLoggedIn": false,
- "isAvailable": true
}, - {
- "firstName": "Agent",
- "activity": "Available",
- "lastName": "Three",
- "skillLevel": 3,
- "isLoggedIn": false,
- "isAvailable": true
}
], - "roles": [
- {
- "type": "AGENT"
}
], - "statistic": {
- "numberOfLoggedInAgents": 2,
- "numberOfFreeAgents": 1,
- "numberOfCallsInQueue": 0
}, - "allowUsingFunctionNumber": false
}
]
}
List all ACD/ACD Light/Attendant groups for a user.
Login state, availability and activity for
all agents/attendants belonging to respective group are also included.
domain
required
|
string
The domain of the user's organization |
user
required
|
string
The user's id |
ignoreStatistics |
boolean
Whether statistics shall be included, or not. If omitted, statistics will be included. |
ignoreAgents |
boolean
Whether agents shall be included, or not. If omitted, agents will be included. |
{- "groups": [
- {
- "id": 21,
- "domain": "example.org",
- "name": "Acd group 1",
- "type": "ACD",
- "loggedIn": false,
- "nightMode": false,
- "agents": [
- {
- "firstName": "Jane",
- "activity": "Available",
- "lastName": "Doe",
- "skillLevel": 3,
- "isLoggedIn": false,
- "isAvailable": true
}, - {
- "firstName": "John",
- "activity": "Available",
- "lastName": "Doe",
- "skillLevel": 3,
- "isLoggedIn": false,
- "isAvailable": true
}, - {
- "firstName": "Agent",
- "activity": "Available",
- "lastName": "Three",
- "skillLevel": 3,
- "isLoggedIn": false,
- "isAvailable": true
}
], - "roles": [
- {
- "type": "AGENT"
}
], - "statistic": {
- "numberOfLoggedInAgents": 0,
- "numberOfFreeAgents": 0,
- "numberOfCallsInQueue": 0
}, - "allowUsingFunctionNumber": false,
- "distributionType": "SKILLS"
}, - {
- "id": 5,
- "domain": "example.org",
- "name": "TestAttendantGroup",
- "type": "ATTENDANT",
- "loggedIn": true,
- "nightMode": false,
- "agents": [
- {
- "firstName": "Jane",
- "activity": "Available",
- "lastName": "Doe",
- "skillLevel": 3,
- "isLoggedIn": true,
- "isAvailable": true
}, - {
- "firstName": "Agent",
- "activity": "Available",
- "lastName": "Four",
- "skillLevel": 3,
- "isLoggedIn": false,
- "isAvailable": true
}
], - "roles": [
- {
- "type": "AGENT"
}
], - "statistic": {
- "numberOfLoggedInAgents": 1,
- "numberOfFreeAgents": 1,
- "numberOfCallsInQueue": 0
}, - "allowUsingFunctionNumber": true,
- "distributionType": "PRIORITY"
}, - {
- "id": 25,
- "domain": "example.org",
- "name": "Acd group 2",
- "type": "ACD_LIGHT",
- "loggedIn": false,
- "nightMode": false,
- "agents": [
- {
- "firstName": "Jane",
- "activity": "Available",
- "lastName": "Doe",
- "skillLevel": 3,
- "isLoggedIn": false,
- "isAvailable": true
}, - {
- "firstName": "John",
- "activity": "Available",
- "lastName": "Doe",
- "skillLevel": 3,
- "isLoggedIn": false,
- "isAvailable": true
}, - {
- "firstName": "Agent",
- "activity": "Available",
- "lastName": "Three",
- "skillLevel": 3,
- "isLoggedIn": false,
- "isAvailable": true
}
], - "roles": [
- {
- "type": "AGENT"
}
], - "statistic": {
- "numberOfLoggedInAgents": 2,
- "numberOfFreeAgents": 1,
- "numberOfCallsInQueue": 0
}, - "allowUsingFunctionNumber": false,
- "distributionType": "PRIORITY"
}
]
}
To log in/log out an agent or attendant of an ACD/Attendant group
NOTE: This method is
DEPRECATED and will be removed in future releases.
domain
required
|
string
|
user
required
|
string
|
group
required
|
integer <int64>
|
agent
required
|
string
|
action |
string
|
logout |
string
|
{- "id": 35,
- "domain": "sampleorg.com",
- "name": "Customer services",
- "type": "ACD",
- "isLoggedIn": true,
- "isNightMode": true,
- "agents": [
- {
- "name": "Jane Doe",
- "number": "+1555123445",
- "userId": "jdoe"
}
], - "roles": [
- {
- "type": "AGENT"
}
], - "statistic": {
- "numberOfLoggedInAgents": 6,
- "numberOfFreeAgents": 5,
- "numberOfCallsInQueue": 3
}, - "isAllowUsingFunctionNumber": true,
- "distributionType": "string",
- "phoneNumber": "string"
}
To log in/log out an agent or attendant of an ACD/Attendant group
domain
required
|
string
The domain of the organization the ACD/Attendant group belongs to |
group
required
|
integer <int64>
The ID of the ACD/Attendant group |
agent
required
|
string
The username of the agent to log in or out, including domain part |
action
required
|
string
Enum: "login" "logout"
Example: action=login
The action to perform |
"string"
To log in/log out an agent or attendant of an ACD/Attendant group
NOTE: This method is
DEPRECATED and will be removed in future releases.
domain
required
|
string
The domain of the user's organization |
user
required
|
string
The user id of the user |
group
required
|
integer <int64>
The id of the ACD/Attendant group |
group-domain
required
|
string
The domain of the organization the ACD/Attendant group belongs to |
agent
required
|
string
The username of the agent to log in or out, including domain part |
action
required
|
string
Enum: "login" "logout"
Example: action=login
The action to perform |
"string"
The Distribution Group API allows the calling user to view and handle status for distribution
groups (ACD, ACD Light and Attendant groups) that the user has access to, including handling call log
items to these groups.
Use the Distribution Group API to:
Get call log items for a specific distribution group accessible to the user.
Calls are normally
grouped in call log items by distribution group, caller and item type. For example, missed calls
from +155568123456 to ACD 'Customer service' are gathered in one call log item. However, if
both callerNumber and itemType are specified as parameters, each individual call is returned as a
separate call log item.
domain
required
|
string
The domain of the user |
user
required
|
string
The ID of the user |
grpid
required
|
string
The ID of the distribution group |
groupDomain |
string
If stated, the domain of the organization to which the distribution group belongs. If omitted, this is assumed to be the same as domain |
callerNumber |
string
If provided, only return group call log items that originate from this number |
itemType |
Array of strings
Items Enum: "ALL" "ANSWERED" "FORWARDED" "MISSED"
If provided, only return these types of group call log items |
since |
string
If provided, only return items with ID greater than this. |
olderThan |
string
If provided, only return group call log items with ID smaller than this. |
limit |
string
If stated, return no more than this amount of group call log items |
{- "generatedAt": "2018-05-26T13:00:30Z",
- "flushCache": true,
- "hintCount": 35,
- "callCountAnswered": 12,
- "callCountForwarded": 12,
- "callCountMissed": 12,
- "callLogItem": [
- {
- "itemId": 15,
- "groupId": 35,
- "groupOrgId": 0,
- "callCount": 35,
- "itemType": "ANSWERED",
- "forwardReason": "NO_AGENTS",
- "startTime": "2018-05-26T13:00:30Z",
- "callDuration": 20,
- "queueDuration": 6,
- "callMetaData": "string",
- "diversionNumber": "1555054123",
- "callerNumber": "+46887654321",
- "callbackToNumber": "+46887654123",
- "agent": {
- "name": "Jane Doe",
- "number": "+1555123445",
- "userId": "jdoe"
}, - "forwardedTo": {
- "name": "Joe Smith",
- "number": "1555054222"
}, - "handledStatus": {
- "state": "INPROGRESS",
- "agent": {
- "name": "Jane Doe",
- "number": "+1555123445",
- "userId": "jdoe"
}, - "timeStamp": "2018-05-26T15:30:30Z",
- "note": "Wants to be called back on friday"
}, - "noteIncluded": true
}
]
}
Get call log items for all ACD/Attendant groups available for the user.
domain
required
|
string
The domain of the user |
user
required
|
string
The ID of the user |
callerNumber |
string
If provided, only return group call log items that originate from this number |
itemType |
Array of strings
Items Enum: "ALL" "ANSWERED" "FORWARDED" "MISSED"
If provided, only return these types of group call log items |
since |
string
If provided, only return items with ID greater than this. |
olderThan |
string
If provided, only return group call log items with ID smaller than this. |
limit |
string
If stated, return no more than this amount of group call log items |
{- "generatedAt": "2018-05-26T13:00:30Z",
- "flushCache": true,
- "hintCount": 35,
- "callCountAnswered": 12,
- "callCountForwarded": 12,
- "callCountMissed": 12,
- "callLogItem": [
- {
- "itemId": 15,
- "groupId": 35,
- "groupOrgId": 0,
- "callCount": 35,
- "itemType": "ANSWERED",
- "forwardReason": "NO_AGENTS",
- "startTime": "2018-05-26T13:00:30Z",
- "callDuration": 20,
- "queueDuration": 6,
- "callMetaData": "string",
- "diversionNumber": "1555054123",
- "callerNumber": "+46887654321",
- "callbackToNumber": "+46887654123",
- "agent": {
- "name": "Jane Doe",
- "number": "+1555123445",
- "userId": "jdoe"
}, - "forwardedTo": {
- "name": "Joe Smith",
- "number": "1555054222"
}, - "handledStatus": {
- "state": "INPROGRESS",
- "agent": {
- "name": "Jane Doe",
- "number": "+1555123445",
- "userId": "jdoe"
}, - "timeStamp": "2018-05-26T15:30:30Z",
- "note": "Wants to be called back on friday"
}, - "noteIncluded": true
}
]
}
List ACD/Attendant groups available to the user, and the user's current login state.
domain
required
|
string
The domain of the user |
user
required
|
string
The ID of the user |
{- "group": [
- {
- "id": 35,
- "domain": "sampleorg.com",
- "name": "customer_acd",
- "type": "ACD",
- "loggedIn": true,
- "nightMode": false,
- "loggedInAgents": 4,
- "freeAgents": 3,
- "callsWaiting": 1
}
]
}
List group call log items assigned to a user.
domain
required
|
string
The domain of the user |
user
required
|
string
The ID of the user |
{- "generatedAt": "2018-05-26T13:00:30Z",
- "flushCache": true,
- "hintCount": 35,
- "callCountAnswered": 12,
- "callCountForwarded": 12,
- "callCountMissed": 12,
- "callLogItem": [
- {
- "itemId": 15,
- "groupId": 35,
- "groupOrgId": 0,
- "callCount": 35,
- "itemType": "ANSWERED",
- "forwardReason": "NO_AGENTS",
- "startTime": "2018-05-26T13:00:30Z",
- "callDuration": 20,
- "queueDuration": 6,
- "callMetaData": "string",
- "diversionNumber": "1555054123",
- "callerNumber": "+46887654321",
- "callbackToNumber": "+46887654123",
- "agent": {
- "name": "Jane Doe",
- "number": "+1555123445",
- "userId": "jdoe"
}, - "forwardedTo": {
- "name": "Joe Smith",
- "number": "1555054222"
}, - "handledStatus": {
- "state": "INPROGRESS",
- "agent": {
- "name": "Jane Doe",
- "number": "+1555123445",
- "userId": "jdoe"
}, - "timeStamp": "2018-05-26T15:30:30Z",
- "note": "Wants to be called back on friday"
}, - "noteIncluded": true
}
]
}
List call log items assigned to a user from a certain distribution group.
domain
required
|
string
The domain of the user |
user
required
|
string
The ID of the user |
grpid
required
|
string
The ID of the distribution group |
groupDomain |
string
If stated, the domain of the organization to which the distribution group belongs. If omitted, this is assumed to be the same as domain |
{- "generatedAt": "2018-05-26T13:00:30Z",
- "flushCache": true,
- "hintCount": 35,
- "callCountAnswered": 12,
- "callCountForwarded": 12,
- "callCountMissed": 12,
- "callLogItem": [
- {
- "itemId": 15,
- "groupId": 35,
- "groupOrgId": 0,
- "callCount": 35,
- "itemType": "ANSWERED",
- "forwardReason": "NO_AGENTS",
- "startTime": "2018-05-26T13:00:30Z",
- "callDuration": 20,
- "queueDuration": 6,
- "callMetaData": "string",
- "diversionNumber": "1555054123",
- "callerNumber": "+46887654321",
- "callbackToNumber": "+46887654123",
- "agent": {
- "name": "Jane Doe",
- "number": "+1555123445",
- "userId": "jdoe"
}, - "forwardedTo": {
- "name": "Joe Smith",
- "number": "1555054222"
}, - "handledStatus": {
- "state": "INPROGRESS",
- "agent": {
- "name": "Jane Doe",
- "number": "+1555123445",
- "userId": "jdoe"
}, - "timeStamp": "2018-05-26T15:30:30Z",
- "note": "Wants to be called back on friday"
}, - "noteIncluded": true
}
]
}
Log in a user to a distribution group.
domain
required
|
string
The domain of the user |
user
required
|
string
The ID of the user |
grpid
required
|
integer <int64>
The ID of the distribution group |
grpid-domain
required
|
string
If stated, the domain of the organization to which the distribution group belongs. If omitted, this is assumed to be the same as domain |
ignoreStatistics |
boolean
Don't include statistics and immediately return an empty response. |
{- "group": [
- {
- "id": 35,
- "domain": "sampleorg.com",
- "name": "customer_acd",
- "type": "ACD",
- "loggedIn": true,
- "nightMode": false,
- "loggedInAgents": 4,
- "freeAgents": 3,
- "callsWaiting": 1
}
]
}
Log out a user from a distribution group.
domain
required
|
string
The domain of the user |
user
required
|
string
The ID of the user |
grpid
required
|
integer <int64>
The ID of the distribution group |
grpid-domain
required
|
string
If stated, the domain of the organization to which the distribution group belongs. If omitted, this is assumed to be the same as domain |
ignoreStatistics |
boolean
Don't include statistics and immediately return an empty response. |
{- "group": [
- {
- "id": 35,
- "domain": "sampleorg.com",
- "name": "customer_acd",
- "type": "ACD",
- "loggedIn": true,
- "nightMode": false,
- "loggedInAgents": 4,
- "freeAgents": 3,
- "callsWaiting": 1
}
]
}
Produces a SSE stream of queue statistic updates in application/telepo-queue-statistics+xml format. The stream will only contain updates to the queues that the user is a member of.
domain
required
|
string
The domain of the user |
user
required
|
string
The ID of the user |
Assign a call in a group call log to a user.
domain
required
|
string
The domain of the user |
user
required
|
string
The ID of the user |
itemid
required
|
integer <int64>
The ID of the group call log item to assign to the user |
state |
string
Enum: "UNHANDLED" "INPROGRESS" "HANDLED"
The handled-state of this call. |
note |
string
If applicable, a note that is attached to the call |
{- "state": "INPROGRESS",
- "note": "Wants to be called back on friday"
}
{- "itemId": 15,
- "groupId": 35,
- "groupOrgId": 0,
- "callCount": 35,
- "itemType": "ANSWERED",
- "forwardReason": "NO_AGENTS",
- "startTime": "2018-05-26T13:00:30Z",
- "callDuration": 20,
- "queueDuration": 6,
- "callMetaData": "string",
- "diversionNumber": "1555054123",
- "callerNumber": "+46887654321",
- "callbackToNumber": "+46887654123",
- "agent": {
- "name": "Jane Doe",
- "number": "+1555123445",
- "userId": "jdoe"
}, - "forwardedTo": {
- "name": "Joe Smith",
- "number": "1555054222"
}, - "handledStatus": {
- "state": "INPROGRESS",
- "agent": {
- "name": "Jane Doe",
- "number": "+1555123445",
- "userId": "jdoe"
}, - "timeStamp": "2018-05-26T15:30:30Z",
- "note": "Wants to be called back on friday"
}, - "noteIncluded": true
}
The Queue Statistics API gives access to statistics on ACD and attendant groups. Queue
statistics is authenticated using api tickets for Queue statistics.
To be able to fetch the queue
statistics, the Supervisor license must be assigned to the organization.
Use the Queue Statistics API
to:
Retrieve the queue statistics for an organization.
domain
required
|
string
The domain queue statistics shall be fetched for |
{- "queue": [
- {
- "name": "ACD_Taxi",
- "domain": "test.com",
- "number": "+123415",
- "id": 67899,
- "queueLength": 3,
- "availableAgents": 2,
- "loggedInAgents": 5,
- "longestWaiting": 20,
- "lastWait": 15,
- "averageWait": 14,
- "droppedCallsForPeriod": 6,
- "totalCallsForPeriod": 60,
- "answeredCallsForPeriod": 41,
- "totalCallsLast24h": 50,
- "droppedCallsLast24h": 4,
- "answeredCallsLast24h": 38,
- "current-agent-presence": [
- {
- "name": "Available",
- "count": 1
}
]
}
]
}
Retrieve the queue statistics for an organization.
NOTE: This method is DEPRECATED since
5.1 and will be removed in future releases.
domain
required
|
string
The domain queue statistics shall be fetched for |
{- "queue": [
- {
- "name": "ACD_Taxi",
- "domain": "test.com",
- "number": "+123415",
- "id": 67899,
- "queueLength": 3,
- "availableAgents": 2,
- "loggedInAgents": 5,
- "longestWaiting": 20,
- "lastWait": 15,
- "averageWait": 14,
- "droppedCallsForPeriod": 6,
- "totalCallsForPeriod": 60,
- "answeredCallsForPeriod": 41,
- "totalCallsLast24h": 50,
- "droppedCallsLast24h": 4,
- "answeredCallsLast24h": 38,
- "current-agent-presence": [
- {
- "name": "Available",
- "count": 1
}
]
}
]
}
Retrieve queue statistics for a distribution group.
domain
required
|
string
The domain of the group queue statistics shall be fetched for |
queueId
required
|
string
The id of the group queue statistics shall be fetched for |
{- "name": "ACD_Taxi",
- "domain": "test.com",
- "number": "+123415",
- "id": 67899,
- "queueLength": 3,
- "availableAgents": 2,
- "loggedInAgents": 5,
- "longestWaiting": 20,
- "lastWait": 15,
- "averageWait": 14,
- "droppedCallsForPeriod": 6,
- "totalCallsForPeriod": 60,
- "answeredCallsForPeriod": 41,
- "totalCallsLast24h": 50,
- "droppedCallsLast24h": 4,
- "answeredCallsLast24h": 38,
- "current-agent-presence": [
- {
- "name": "Available",
- "count": 1
}
]
}
Retrieve queue statistics for a user who is authorized to supervise specific groups.
domain
required
|
string
The domain of the user queue statistics shall be fetched for |
user
required
|
string
The username of the user queue statistics shall be fetched for |
includeFederation |
boolean
If queue statistics from federated organizations shall be included (default false) |
{- "queue": [
- {
- "name": "ACD_Taxi",
- "domain": "test.com",
- "number": "+123415",
- "id": 67899,
- "queueLength": 3,
- "availableAgents": 2,
- "loggedInAgents": 5,
- "longestWaiting": 20,
- "lastWait": 15,
- "averageWait": 14,
- "droppedCallsForPeriod": 6,
- "totalCallsForPeriod": 60,
- "answeredCallsForPeriod": 41,
- "totalCallsLast24h": 50,
- "droppedCallsLast24h": 4,
- "answeredCallsLast24h": 38,
- "current-agent-presence": [
- {
- "name": "Available",
- "count": 1
}
]
}
]
}
Retrieve queue statistics based on a specific supervisor who is authorized to supervise specific
groups.
NOTE: This method is DEPRECATED since 5.1 and will be removed in future
releases.
domain
required
|
string
The domain queue statistics shall be fetched for |
user
required
|
string
The username of the user accessing the API |
{- "queue": [
- {
- "name": "ACD_Taxi",
- "domain": "test.com",
- "number": "+123415",
- "id": 67899,
- "queueLength": 3,
- "availableAgents": 2,
- "loggedInAgents": 5,
- "longestWaiting": 20,
- "lastWait": 15,
- "averageWait": 14,
- "droppedCallsForPeriod": 6,
- "totalCallsForPeriod": 60,
- "answeredCallsForPeriod": 41,
- "totalCallsLast24h": 50,
- "droppedCallsLast24h": 4,
- "answeredCallsLast24h": 38,
- "current-agent-presence": [
- {
- "name": "Available",
- "count": 1
}
]
}
]
}
The Call Recording Control API is used to manage UC analytics/Generic call recording.
Use the
Call Recording API to:
Returns a list of calls for the user which are being recorded.
NOTE: This method is
DEPRECATED since 5.1 and will be removed in future releases.
domain
required
|
string
The organization domain. |
user
required
|
string
The user ID without domain suffix. |
[- {
- "id": "173:8635322",
- "deviceType": "MOBILE_VOIP",
- "mobileNumber": "+4676123123",
- "isLocalDevice": true,
- "displayName": "bob",
- "number": "+466456456",
- "calledNumber": "456456",
- "isSaved": true,
- "isPaused": true,
- "allowedActions": [
- "PAUSE",
- "SAVE"
], - "duration": 15,
- "recordDuration": 15,
- "callId": "Sei8BS7D02h0Sik3q1RoGw"
}, - {
- "id": "177:8635322",
- "deviceType": "EXTERNAL_PBX",
- "mobileNumber": "+4676321321",
- "isLocalDevice": true,
- "displayName": "john",
- "number": "+468345345",
- "calledNumber": "345345",
- "isSaved": true,
- "isPaused": true,
- "allowedActions": [
- "PAUSE",
- "SAVE"
], - "duration": 15,
- "recordDuration": 15,
- "callId": "Sei0BS8D02h0Sik3q1RoGw"
}
]
The user is allowed to perform the action for the recording in its current state if the action,
i.e. save/discard/pause/resume, is listed in the allowed actions of the recording state. A
pause/resume action may conflict with an ongoing media session re-negotiation, in which case the
action is rejected.
NOTE: This method is DEPRECATED since 5.1 and will be removed in
future releases.
domain
required
|
string
The organization domain. |
user
required
|
string
The user ID without domain suffix. |
id
required
|
string
The ID of the call recording to update. |
action
required
|
string
Enum: "SAVE" "DISCARD" "PAUSE" "RESUME"
The action to perform. |
{- "field": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "warning": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "generated-id": "string"
}
The Calls API enables you to make calls to other users or external numbers. In contrast to other
End User API's it is possible for an org-admin to use the Call Setup API in place of another user.
Hence it is possible for an org-admin to, via the API, setup calls for other users within the
organization. The Call Control ticket API parameter enables you to transfer calls.
Use Calls API to:
Cancel an ongoing attended call transfer.
domain
required
|
string
The domain of the organization the user belongs to. |
user
required
|
string
The user performing the transfer. |
transferId
required
|
string
The call transfer ID of the transfer that will be cancelled. |
Get the status of an ongoing call transfer.
domain
required
|
string
The domain of the organization the user belongs to. |
user
required
|
string
The user performing the transfer. |
Blind transfer, the transferred call is by default released from the transferring agent as soon as the transfer is initiated and the agent can start attending other calls.
{- "transferId": {
- "transferStartTime": 1741673212357,
- "type": "BLIND_TRANSFER",
- "id": "5",
- "destination": "+9633996603"
}
}
Transfer a mobile call to the specified number.
domain
required
|
string
The domain of the organization the user belongs to. |
user
required
|
string
The user performing the transfer. |
transferType
required
|
string
Enum: "BLIND_TRANSFER" "ATTENDED_TRANSFER"
The type of transfer to be performed: BLIND_TRANSFER - transfer the call directly to
the specified number, |
destination
required
|
string
The destination number for the transfer. |
{- "transferId": {
- "transferStartTime": 0,
- "id": "5"
}
}
Set up a call-back call to the contact with the specified ID. Examples: If user Alice want to make
a call to Bob, and use her mobile as the call device and call with the role Private the following
syntax could be used.
POST http://bcs.mydomain.com/api/calls/current/foo.com/alice/mobile/[email protected]?role=PRIVATE
POST http://bcs.mydomain.com/api/calls/current/foo.com/alice/mobile/[email protected]?role=PRIVATE
POST http://bcs.mydomain.com/api/calls/current/foo.com/alice/mobile/%2B468123456789?role=PRIVATE
domain
required
|
string
The domain of the organization the user belongs to. |
user
required
|
string
The user performing the call setup. |
aptype
required
|
string
The 'aptype' defines where the callback will be connected. It should be a valid
answerplace for the specified user. Valid values are: mobile - to set up the call to the mobile |
cid
required
|
string
can be one of the following: receiving_user - the receiving users URL encoded answerplace. For instance: targetname@yourdomain.com. |
role |
string
what role to call with. The roles PRIVATE and BUSINESS are always possible to set, but additional roles may be specified. If no role is specified as a parameter, then it will be set to a default according to the call rules. |
bypass |
string
Bypass call routing ('true' or 'false') |
intrude |
string
Intrude the current call ('true' or 'false') |
callback-via-gsm |
boolean
True if the callback should prefer GSM call. |
{- "field": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "warning": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "generated-id": "string"
}
The Line State API is used to manage a user's line state.
Use the Line State API to:
Fetches a specific line state for a user.
domain
required
|
string
The domain of the organization the user belongs to |
userId
required
|
string
The user ID |
externalId
required
|
string
The external ID |
{- "expiresOn": "2020-03-10T11:05:00+01"
}
Updates a line state for a user and external ID. If there is no current line state, it will be created.
domain
required
|
string
The domain of the organization the user belongs to |
userId
required
|
string
The user ID |
externalId
required
|
string
The external ID |
{- "expiresOn": "2020-03-10T11:05:00+01"
}
Creates a line state for a user and external id. If the line state already exists, it will be updated.
domain
required
|
string
The domain of the organization the user belongs to |
userId
required
|
string
The user ID |
externalId
required
|
string
The external ID |
{- "expiresOn": "2020-03-10T11:05:00+01"
}
Removes a specific line state for a user.
Type of call is not considered, i.e. eventual resting
time for an agent will not be taken into account when removing the line state.
domain
required
|
string
The domain of the organization the user belongs to |
userId
required
|
string
The user ID |
externalId
required
|
string
The external ID |
The Communication Log API is used to manage the communication log for users. The communication
log items can of different types including incoming calls, outgoing calls, missed calls, voicemails,
recorded calls and faxes.
Use Communication Log API to:
Set or unset the deletion time for a communication log item. Setting deletion time moves an item to the trash, and clearing it moves it back to the inbox.
itemId
required
|
string
The id of the item |
userId
required
|
string
The username of the user accessing the API |
domain
required
|
string
The domain of the user accessing the API |
delete |
boolean
Indicates if an item should be marked or unmarked for deletion |
Read a specific communication log item.
domain
required
|
string
The domain of the user accessing the API |
userId
required
|
string
The username of the user accessing the API |
itemId
required
|
string
The id of the item |
deleted |
boolean
If true, fetch deleted items only |
markAsDelete |
boolean
If true, fetch items that are marked as deleted only |
This example shows an incoming call.
{- "historyItems": [
- {
- ".CallDTO": {
- "itemId": 1245,
- "startTime": "2020-10-05T11:09:29Z",
- "remoteParty": {
- "number": "+1555123001",
- "displayName": "Jane Doe"
}, - "itemType": "INCOMING_CALL",
- "isSeen": true,
- "duration": 145
}
}
], - "flushCache": true,
- "generatedAt": "2020-10-05T19:59:21Z",
- "hintCount": 1
}
Mark a specific communication log item as seen and/or played.
itemId
required
|
string
The id of the item |
userId
required
|
string
The username of the user accessing the API |
domain
required
|
string
The domain of the user accessing the API |
isSeen
required
|
boolean
Indicates if the seen state should be set |
isPlayed
required
|
boolean
Indicates if the played state should be set |
updateCallItem
required
|
boolean
Indicates if the call item should be updated too |
Delete a specific communication log item.
itemId
required
|
string
The id of the item |
userId
required
|
string
The username of the user accessing the API |
domain
required
|
string
The domain of the user accessing the API |
updateCallItem
required
|
boolean
Indicates if the related call item should be deleted too |
List communication log items for a user. Use either since/olderThan or sinceTime/untilTime parameters to specify an interval of items.
domain
required
|
string
The domain of the user accessing the API |
userId
required
|
string
The username of the user accessing the API |
since |
string
Fetch items whose ID is larger than this value. For example, if since=10 is provided in the query string, items with ID 11 and upwards are returned. |
olderThan |
string
Fetch items whose ID is less than this value. For example, if olderThan=20 is provided, call log items with IDs from 19 and downwards are returned. |
sinceTime |
string
Fetch items whose startTime occurred after this value. |
untilTime |
string
Fetch items whose startTime occurred before this value. |
limit |
string
The maximum number of items that should be fetched |
itemType |
string
Enum: "OUTGOING_CALL" "MISSED_CALL" "INCOMING_CALL" "VOICEMAIL" "RECORDING" "FAX"
The type of items that should be fetched. This parameter can be repeated for each type to be fetched. |
contactId |
string
If specified, fetch items for this specific contact only |
number |
string
If specified, fetch items for the specified phone number only |
deleted |
boolean
If true, fetch deleted items only |
markAsDelete |
boolean
If true, fetch items that are marked as deleted only |
count |
boolean
If true, return the number of items instead of the items in the response body |
This example shows calls that are Incoming, Outgoing or Missed ones.
{- "historyItems": [
- {
- ".CallDTO": {
- "itemId": 1245,
- "startTime": "2020-10-05T11:09:29Z",
- "remoteParty": {
- "number": "+1555123001",
- "displayName": "Jane Doe"
}, - "itemType": "INCOMING_CALL",
- "isSeen": true,
- "duration": 145
}
}, - {
- ".CallDTO": {
- "itemId": 1246,
- "startTime": "2020-10-05T14:06:20Z",
- "remoteParty": {
- "number": "+1555123001",
- "displayName": "Jane Doe"
}, - "itemType": "OUTGOING_CALL",
- "isSeen": true,
- "duration": 25
}
}, - {
- ".CallDTO": {
- "itemId": 1247,
- "startTime": "2020-10-05T15:16:54Z",
- "remoteParty": {
- "number": "+1555123001",
- "displayName": "Jane Doe"
}, - "itemType": "MISSED_CALL",
- "isSeen": false,
- "duration": 0
}
}
], - "flushCache": true,
- "generatedAt": "2020-10-05T19:58:21Z",
- "hintCount": 3
}
Mark specific communication log items as seen and/or played. In case if some of the items are existing, they are deleted and the items that are not found are added in the response body as a string. If all items are found, nothing is returned.
userId
required
|
string
The username of the user accessing the API |
domain
required
|
string
The domain of the user accessing the API |
itemId
required
|
Array of strings
The ids of the items formatted like itemId=1&itemId=2&itemId=3 etc |
untilItemId
required
|
string
Indicates if all items until this id should be updated |
itemType
required
|
string
Enum: "OUTGOING_CALL" "MISSED_CALL" "INCOMING_CALL" "VOICEMAIL" "RECORDING" "FAX"
Indicates that only item types of these types should be updated. The parameter can be repeated. |
isSeen
required
|
boolean
Indicates if the seen state should be set |
isPlayed
required
|
boolean
Indicates if the played state should be set |
updateCallItem
required
|
boolean
Indicates if the call items should be updated too |
All requested items are existing in the system. So response body carries nothing.
Delete a number of specific communication log items.
userId
required
|
string
The username of the user accessing the API |
domain
required
|
string
The domain of the user accessing the API |
itemId |
Array of strings
The ids of the items formatted like itemId=1&itemId=2&itemId=3 etc |
untilItemId |
string
Delete all items until this id |
itemType |
string
Enum: "OUTGOING_CALL" "MISSED_CALL" "INCOMING_CALL" "VOICEMAIL" "RECORDING" "FAX"
Delete items of these types. The parameter can be repeated. |
updateCallItem |
boolean
Indicates if the related call item should be deleted too |
Read group inbox messages.
domain
required
|
string
The domain of the user accessing the API |
userId
required
|
string
The username of the user accessing the API |
This example details the response with one Group Inbox Item in the Communication Log API response.
{- "historyItems": [
- {
- ".GroupInboxVoiceMailDTO": {
- "itemId": 370,
- "startTime": "2020-01-30T17:11:13Z",
- "remoteParty": {
- "number": "+1555123001",
- "displayName": "Jane Doe"
}, - "itemType": "VOICEMAIL",
- "isSeen": true,
- "callItemId": 0,
- "isPlayed": false,
- "inboxName": "Group Inbox 1"
}
}
], - "flushCache": true,
- "generatedAt": "2020-01-31T09:28:21Z",
- "hintCount": 1
}
Set the deleted flag on a specific communication log item. The delete flag is used for further expunging of voicemail items.
itemId
required
|
string
The id of the item |
userId
required
|
string
The username of the user accessing the API |
domain
required
|
string
The domain of the user accessing the API |
This group of APIs enable CTI (Computer Telephony Integration) functionality to be able to control end-user calls. The APIs are authenticated using API tickets for Call Control (CALL_CONTROL) and also requires either a Cloud CTI API license or a Call Control API license.
The Call Control API enables controlling of calls for a user.
To use the API, the end-user
must either have a Cloud CTI API license or a Call Control API license.
Call Control API with Cloud
CTI API license allows you to:
The call specified by {callId} will be transformed into an ad-hoc conference call, if it is not already, and the call specified in the request body will be added to the conference.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user performing the call |
callId
required
|
string
The ID of the call that should be the ad-hoc conference call |
stateToken |
integer <int64>
The expected stateToken of the state at the server. If not matching, the request will fail. |
targetCallId |
string
The callId of the target call that should be retrieved/answered/added |
targetStateToken |
integer <int64>
The expected token of the state of target call at the server. If not matching, the request will fail. |
{- "stateToken": 487345453,
- "targetCallId": "dd33dxw9",
- "targetStateToken": 63772
}
{- "stateToken": 48738853,
- "callId": "xxx111yyy",
- "remoteParty": {
- "type": "SERVICE_ID",
- "telUri": "tel:+46277100",
- "displayName": "Conference",
- "displayNumber": "7100"
}, - "participants": [
- {
- "id": "xxx22yyy",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277565",
- "displayName": "Adrian Hocksley",
- "displayNumber": "7565"
}, - "historyInfo": {
- "subject": "Main Switchboad number",
- "campOn": true,
- "initialParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277469",
- "displayName": "Daisy Smith",
- "displayNumber": "7469"
}, - "previousParty": {
- "type": "FUNCTION_NUMBER_ID",
- "telUri": "tel:+46277400",
- "displayName": "Switchboard",
- "displayNumber": "7400"
}, - "previousRetargetReason": "DISTRIBUTED"
}
}, - {
- "id": "xxx222yyy",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277566",
- "displayName": "Ada Hocklington",
- "displayNumber": "7566"
}
}
], - "conference": true,
- "inbound": true,
- "intruded": false,
- "status": "ACTIVE",
- "event": "PARTICIPANT_ADDED",
- "muted": false,
- "duration": 5,
- "externalRecording": true,
- "externalRecordingDuration": 5,
- "externalRecordingPaused": false,
- "deviceIds": [
- "+1555555"
], - "actions": [
- {
- "action": "MOVE"
}, - {
- "action": "HOLD"
}, - {
- "action": "SAVE_REC"
}, - {
- "action": "PAUSE_REC"
}
]
}
Place an existing call on hold and then retrieves a previously held call. This can also be used to place an existing call on hold and then answer to an alerting call at the same device.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user having the two calls |
callId
required
|
string
The ID of the call that should be put on hold |
stateToken |
integer <int64>
The expected stateToken of the state at the server. If not matching, the request will fail. |
targetCallId |
string
The callId of the target call that should be retrieved/answered/added |
targetStateToken |
integer <int64>
The expected token of the state of target call at the server. If not matching, the request will fail. |
{- "stateToken": 487345453,
- "targetCallId": "dd33dxw9",
- "targetStateToken": 63772
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277463",
- "displayName": "Alice Alison",
- "displayNumber": "7463"
}, - "conference": false,
- "inbound": true,
- "intruded": false,
- "status": "HELD",
- "muted": false,
- "duration": 25,
- "deviceIds": [
- "+1555555"
], - "actions": [
- {
- "action": "MOVE"
}, - {
- "action": "TRANSFER"
}, - {
- "action": "RESUME"
}, - {
- "action": "PARK"
}
]
}
Answer a call that is in the ringing state using a specific device. Note that it's not possible to perform this action for all devices. The call state will show which devices that can be used.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user answering the call |
callId
required
|
string
The ID of the call to answer |
deviceId
required
|
string
The device used to answer the call |
targetUrl |
string
The webhook url to monitor the call state for this call. |
targetId |
string
A unique id of the webhook. Required if the targetUrl is set. |
publicTarget |
boolean
Default: true
Indicates if the target node hosting the webhook is deployed on the same network segment as the service nodes or if callbacks needs to go through the edge http proxy |
Answer a call and request updates using a public webhook url.
{- "targetId": "my_callback_id"
}
Bob answers an incoming call from Alice in device with id +1555555. Call is not recorded.
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277463",
- "displayName": "Alice Alison",
- "displayNumber": "7463"
}, - "conference": false,
- "inbound": true,
- "intruded": false,
- "status": "ACTIVE",
- "muted": false,
- "duration": 5,
- "recording": true,
- "recordingDuration": 5,
- "deviceIds": [
- "+1555555"
], - "actions": [
- {
- "action": "MOVE"
}, - {
- "action": "TRANSFER"
}, - {
- "action": "HOLD"
}, - {
- "action": "PARK"
}, - {
- "action": "STOP_REC"
}
]
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277464",
- "displayName": "Bob Bobson",
- "displayNumber": "7464"
}, - "conference": false,
- "inbound": false,
- "intruded": false,
- "status": "INITIATED",
- "muted": false,
- "duration": 0,
- "deviceIds": [
- "+1555555"
]
}
Hanging up (clear) an established call, reject (decline) a call that is in the ringing state or cancel an outbound ringing call.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user deleting the call |
callId
required
|
string
The ID of the call to delete |
Put the call on hold. Depending on the configuration of the server, music on hold may be played to the other party.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user having the call to hold |
callId
required
|
string
The ID of the call to hold |
stateToken |
integer <int64>
The expected stateToken of the state at the server. If not matching, the request will fail. |
{- "stateToken": 487345453
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277464",
- "displayName": "Bob Bobson",
- "displayNumber": "7464"
}, - "conference": false,
- "inbound": false,
- "intruded": false,
- "status": "HELD",
- "muted": false,
- "duration": 50,
- "deviceIds": [
- "+1555555"
], - "actions": [
- {
- "action": "MOVE"
}, - {
- "action": "TRANSFER"
}, - {
- "action": "RESUME"
}, - {
- "action": "PARK"
}
]
}
Leaving an ad-hoc conference allowing any remaining participants to continue the call. To terminate the conference, use the method to terminate a call.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user having the ad-hoc conference call |
callId
required
|
string
The ID of the ad-hoc conference call |
{- "stateToken": 48738853,
- "callId": "xxx222yyy",
- "conference": true,
- "inbound": true,
- "intruded": false,
- "status": "TERMINATED",
- "event": "LEFT_CONFERENCE",
- "muted": false,
- "duration": 0
}
Setup up call from a particular device. The device ID can be fetched from the UserDeviceInfo API. Successful completion of this request does not mean that the call is established, just that the device has successfully initiated the call.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user performing the call |
deviceId
required
|
string
The device used to perform the call |
targetUrl |
string
The webhook url to monitor the call state for this call. |
targetId |
string
A unique id of the webhook. Required if the targetUrl is set. |
publicTarget |
boolean
Default: true
Indicates if the target node hosting the webhook is deployed on the same network segment as the service nodes or if callbacks needs to go through the edge http proxy |
destination
required
|
string
The target of the call. A SIP or tel URI. |
role |
string
The user role that should be used when performing the call. |
object (UserLineDTO)
The caller ID that should be used for the call. |
|
type |
string
Default: "BASIC"
Enum: "BASIC" "DIVERSION_BYPASS" "INTRUSION" "INTERCOM" "VOICEMAIL" "BARGE" "WHISPER" "MONITOR"
The extended type of the call. |
Alice makes a call from her primary line to the external number +1444344.
{- "destination": "tel:+1444344",
- "userLine": {
- "type": "OFFICE_FIXED",
- "groupId": 0
}
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277464",
- "displayName": "Bob Bobson",
- "displayNumber": "7464"
}, - "conference": false,
- "inbound": false,
- "intruded": false,
- "status": "INITIATED",
- "muted": false,
- "duration": 0,
- "deviceIds": [
- "+1555555"
]
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277464",
- "displayName": "Bob Bobson",
- "displayNumber": "7464"
}, - "conference": false,
- "inbound": false,
- "intruded": false,
- "status": "INITIATED",
- "muted": false,
- "duration": 0,
- "deviceIds": [
- "+1555555"
]
}
Setup up call re-using an existing call leg putting that call on-hold/in the background. This variant of the make call is useful for devices that do not support parallel calls. It's only possible to have one background call per device. If the device supports parallel calls, this API behaves the same way as makeCall. Successful completion of this request does not mean that the call is established, just that the device has successfully initiated the call. The make consultation call API is not supported if the existing call is transcoded.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user performing the call |
callId
required
|
string
The Id of the call that should be re-used |
targetUrl |
string
The webhook url to monitor the call state for this call. |
targetId |
string
A unique id of the webhook. Required if the targetUrl is set. |
publicTarget |
boolean
Default: true
Indicates if the target node hosting the webhook is deployed on the same network segment as the service nodes or if callbacks needs to go through the edge http proxy |
destination
required
|
string
The target of the call. A SIP or tel URI. |
role |
string
The user role that should be used when performing the call. |
object (UserLineDTO)
The caller ID that should be used for the call. |
|
type |
string
Default: "BASIC"
Enum: "BASIC" "DIVERSION_BYPASS" "INTRUSION" "INTERCOM" "VOICEMAIL" "BARGE" "WHISPER" "MONITOR"
The extended type of the call. |
Alice makes a call from her primary line to the external number +1444344.
{- "destination": "tel:+1444344",
- "userLine": {
- "type": "OFFICE_FIXED",
- "groupId": 0
}
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277464",
- "displayName": "Bob Bobson",
- "displayNumber": "7464"
}, - "conference": false,
- "inbound": false,
- "intruded": false,
- "status": "INITIATED",
- "muted": false,
- "duration": 0,
- "deviceIds": [
- "+1555555"
]
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277464",
- "displayName": "Bob Bobson",
- "displayNumber": "7464"
}, - "conference": false,
- "inbound": false,
- "intruded": false,
- "status": "INITIATED",
- "muted": false,
- "duration": 0,
- "deviceIds": [
- "+1555555"
]
}
Move the established call to another available device for the user. Should the call be on hold, then it will remain on hold in the new device.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user having the call to move |
callId
required
|
string
The ID of the call to move |
deviceId
required
|
string
The device to move the call to |
stateToken |
integer <int64>
The expected stateToken of the state at the server. If not matching, the request will fail. |
Move a call to another device.
{ }
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "participants": [
- {
- "id": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473",
- "intrusionType": "BARGE"
}, - "historyInfo": {
- "subject": "Main Switchboad number",
- "acdSupport": "+134777",
- "campOn": false,
- "initialParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousRetargetReason": "TRANSFERRED"
}
}
], - "conference": false,
- "conferenceId": "34322",
- "historyInfo": {
- "subject": "Main Switchboad number",
- "acdSupport": "+134777",
- "campOn": false,
- "initialParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousRetargetReason": "TRANSFERRED"
}, - "inbound": true,
- "intruded": false,
- "status": "RINGING",
- "event": "FAILED",
- "muted": true,
- "eventDescription": "Call setup failed with status code 504",
- "duration": 0,
- "recordable": true,
- "recording": true,
- "recordingDuration": 0,
- "externalRecording": true,
- "externalRecordingDuration": 0,
- "externalRecordingPaused": false,
- "deviceIds": "[+1555555]",
- "actions": "[{action: ANSWER, deviceIds: [+1555555]}]",
- "correlationId": "h4p91mCciTYhnog0PE4aOQ_1716201728788"
}
Mute an ongoing call. Depending on the type of call this action may or may not be available.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user having the call to mute |
callId
required
|
string
The ID of the call to mute |
stateToken |
integer <int64>
The expected stateToken of the state at the server. If not matching, the request will fail. |
{- "stateToken": 487345453
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277464",
- "displayName": "Bob Bobson",
- "displayNumber": "7464"
}, - "conference": false,
- "inbound": false,
- "intruded": false,
- "status": "ACTIVE",
- "event": "MUTED",
- "muted": true,
- "duration": 50,
- "deviceIds": [
- "+1555555"
], - "actions": [
- {
- "action": "MOVE"
}, - {
- "action": "TRANSFER"
}, - {
- "action": "RESUME"
}, - {
- "action": "PARK"
}, - {
- "action": "UNMUTE"
}
]
}
Park the call and make it available for other users, or the same user, to pick it up. The call is no longer belonging to the user, meaning that the Call ID is removed from the user's state.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user having the call to park |
callId
required
|
string
The ID of the call to park |
stateToken |
integer <int64>
The expected stateToken of the state at the server. If not matching, the request will fail. |
{- "stateToken": 487345453
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "participants": [
- {
- "id": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473",
- "intrusionType": "BARGE"
}, - "historyInfo": {
- "subject": "Main Switchboad number",
- "acdSupport": "+134777",
- "campOn": false,
- "initialParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousRetargetReason": "TRANSFERRED"
}
}
], - "conference": false,
- "conferenceId": "34322",
- "historyInfo": {
- "subject": "Main Switchboad number",
- "acdSupport": "+134777",
- "campOn": false,
- "initialParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousRetargetReason": "TRANSFERRED"
}, - "inbound": true,
- "intruded": false,
- "status": "RINGING",
- "event": "FAILED",
- "muted": true,
- "eventDescription": "Call setup failed with status code 504",
- "duration": 0,
- "recordable": true,
- "recording": true,
- "recordingDuration": 0,
- "externalRecording": true,
- "externalRecordingDuration": 0,
- "externalRecordingPaused": false,
- "deviceIds": "[+1555555]",
- "actions": "[{action: ANSWER, deviceIds: [+1555555]}]",
- "correlationId": "h4p91mCciTYhnog0PE4aOQ_1716201728788"
}
Pickup a ringing call for another user using the specified device. This is not an end-user API and can only be accessed using service accounts. When using the service account, the call pickup permissions configured at the organization level do not apply.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user picking up the call |
deviceId
required
|
string
The device to use to pickup the call |
callId
required
|
string
The call ID of the ringing call to pickup |
targetUrl |
string
The webhook url to monitor the call state for this call. |
targetId |
string
A unique id of the webhook. Required if the targetUrl is set. |
publicTarget |
boolean
Default: true
Indicates if the target node hosting the webhook is deployed on the same network segment as the service nodes or if callbacks needs to go through the edge http proxy |
{- "targetId": "my_callback_id",
- "publicTarget": true
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277464",
- "displayName": "Bob Bobson",
- "displayNumber": "7464"
}, - "conference": false,
- "inbound": false,
- "intruded": false,
- "status": "INITIATED",
- "muted": false,
- "duration": 0,
- "deviceIds": [
- "+1555555"
]
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277464",
- "displayName": "Bob Bobson",
- "displayNumber": "7464"
}, - "conference": false,
- "inbound": false,
- "intruded": false,
- "status": "INITIATED",
- "muted": false,
- "duration": 0,
- "deviceIds": [
- "+1555555"
]
}
Pickup a SIP call from a queue or a ringing call for another user using the specified device. The SIP dialog Id of the call must be known and the user must be configured to pick up another user calls.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user picking up the call |
deviceId
required
|
string
The device to use to pickup the call |
targetUrl |
string
The webhook url to monitor the call state for this call. |
targetId |
string
A unique id of the webhook. Required if the targetUrl is set. |
publicTarget |
boolean
Default: true
Indicates if the target node hosting the webhook is deployed on the same network segment as the service nodes or if callbacks needs to go through the edge http proxy |
callId
required
|
string
The Call-ID of the SIP call (dialog) |
toTag
required
|
string
The to tag of the SIP call (dialog) |
fromTag
required
|
string
The from tag of the SIP call (dialog) |
earlyOnly
required
|
boolean
Indicate if the pickup should only be done in SIP early state. See RFC38961, section User Agent Client Behavior: Sending a Replaces Header |
{- "targetId": "my_callback_id",
- "publicTarget": true,
- "toTag": "7743",
- "fromTag": "6472",
- "earlyOnly": true
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "participants": [
- {
- "id": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473",
- "intrusionType": "BARGE"
}, - "historyInfo": {
- "subject": "Main Switchboad number",
- "acdSupport": "+134777",
- "campOn": false,
- "initialParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousRetargetReason": "TRANSFERRED"
}
}
], - "conference": false,
- "conferenceId": "34322",
- "historyInfo": {
- "subject": "Main Switchboad number",
- "acdSupport": "+134777",
- "campOn": false,
- "initialParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousRetargetReason": "TRANSFERRED"
}, - "inbound": true,
- "intruded": false,
- "status": "RINGING",
- "event": "FAILED",
- "muted": true,
- "eventDescription": "Call setup failed with status code 504",
- "duration": 0,
- "recordable": true,
- "recording": true,
- "recordingDuration": 0,
- "externalRecording": true,
- "externalRecordingDuration": 0,
- "externalRecordingPaused": false,
- "deviceIds": "[+1555555]",
- "actions": "[{action: ANSWER, deviceIds: [+1555555]}]",
- "correlationId": "h4p91mCciTYhnog0PE4aOQ_1716201728788"
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277464",
- "displayName": "Bob Bobson",
- "displayNumber": "7464"
}, - "conference": false,
- "inbound": false,
- "intruded": false,
- "status": "INITIATED",
- "muted": false,
- "duration": 0,
- "deviceIds": [
- "+1555555"
]
}
Removing the participant {participantId} from the ad-hoc conference specified by {callId}.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user performing the call |
callId
required
|
string
The ID of the ad-hoc conference call |
participantId
required
|
string
The ID of the participant to remove |
stateToken |
integer <int64>
The expected stateToken of the state at the server. If not matching, the request will fail. |
{- "stateToken": 487345453
}
{- "stateToken": 48738853,
- "callId": "xxx111yyy",
- "remoteParty": {
- "type": "SERVICE_ID",
- "telUri": "tel:+46277100",
- "displayName": "Conference",
- "displayNumber": "7100"
}, - "participants": [
- {
- "id": "xxx22yyy",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277565",
- "displayName": "Adrian Hocksley",
- "displayNumber": "7565"
}, - "historyInfo": {
- "subject": "Main Switchboad number",
- "campOn": true,
- "initialParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277469",
- "displayName": "Daisy Smith",
- "displayNumber": "7469"
}, - "previousParty": {
- "type": "FUNCTION_NUMBER_ID",
- "telUri": "tel:+46277400",
- "displayName": "Switchboard",
- "displayNumber": "7400"
}, - "previousRetargetReason": "DISTRIBUTED"
}
}
], - "conference": true,
- "inbound": true,
- "intruded": false,
- "status": "ACTIVE",
- "event": "PARTICIPANT_LEFT",
- "muted": false,
- "duration": 5,
- "externalRecording": true,
- "externalRecordingDuration": 5,
- "externalRecordingPaused": false,
- "deviceIds": [
- "+1555555"
], - "actions": [
- {
- "action": "MOVE"
}, - {
- "action": "HOLD"
}, - {
- "action": "SAVE_REC"
}, - {
- "action": "PAUSE_REC"
}
]
}
Resume a call that previously was put on hold.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user having the call to resume |
callId
required
|
string
The ID of the call to resume |
stateToken |
integer <int64>
The expected stateToken of the state at the server. If not matching, the request will fail. |
{- "stateToken": 487345453
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277463",
- "displayName": "Alice Alison",
- "displayNumber": "7463"
}, - "conference": false,
- "inbound": true,
- "intruded": false,
- "status": "ACTIVE",
- "muted": false,
- "duration": 80,
- "externalRecording": true,
- "externalRecordingDuration": 5,
- "externalRecordingPaused": false,
- "deviceIds": [
- "+1555555"
], - "actions": [
- {
- "action": "MOVE"
}, - {
- "action": "TRANSFER"
}, - {
- "action": "HOLD"
}, - {
- "action": "PARK"
}, - {
- "action": "DISCARD_REC"
}
]
}
A string of DTMF digits is sent within the call.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user sending the DTMF digits |
callId
required
|
string
The ID of the call to send the DTMF digits in |
stateToken |
integer <int64>
The expected stateToken of the state at the server. If not matching, the request will fail. |
digits |
string
A string of DTMF digits, allowed values are 0-9, A-D, # or *. |
{- "stateToken": 487345453,
- "digits": "5"
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "participants": [
- {
- "id": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473",
- "intrusionType": "BARGE"
}, - "historyInfo": {
- "subject": "Main Switchboad number",
- "acdSupport": "+134777",
- "campOn": false,
- "initialParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousRetargetReason": "TRANSFERRED"
}
}
], - "conference": false,
- "conferenceId": "34322",
- "historyInfo": {
- "subject": "Main Switchboad number",
- "acdSupport": "+134777",
- "campOn": false,
- "initialParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousRetargetReason": "TRANSFERRED"
}, - "inbound": true,
- "intruded": false,
- "status": "RINGING",
- "event": "FAILED",
- "muted": true,
- "eventDescription": "Call setup failed with status code 504",
- "duration": 0,
- "recordable": true,
- "recording": true,
- "recordingDuration": 0,
- "externalRecording": true,
- "externalRecordingDuration": 0,
- "externalRecordingPaused": false,
- "deviceIds": "[+1555555]",
- "actions": "[{action: ANSWER, deviceIds: [+1555555]}]",
- "correlationId": "h4p91mCciTYhnog0PE4aOQ_1716201728788"
}
Transfer a call to a new destination. The call will be automatically unheld if it is currently on hold.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user having the call to transfer |
callId
required
|
string
The ID of the call to transfer |
stateToken |
integer <int64>
The expected stateToken of the state at the server. If not matching, the request will fail. |
blind |
boolean
Default: false
Indicate if the transferred call should be automatically cleared after the transfer has been initiated |
type |
string
Default: "BASIC"
Enum: "BASIC" "VOICEMAIL" "CAMP_ON" "DIVERSION_BYPASS"
The extended type of the transfer. |
destination
required
|
string
The target of the transfer. A SIP or tel URI. |
{- "stateToken": 487345453,
- "blind": true,
- "type": "CAMP_ON",
- "destination": "tel:+15555"
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "participants": [
- {
- "id": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473",
- "intrusionType": "BARGE"
}, - "historyInfo": {
- "subject": "Main Switchboad number",
- "acdSupport": "+134777",
- "campOn": false,
- "initialParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousRetargetReason": "TRANSFERRED"
}
}
], - "conference": false,
- "conferenceId": "34322",
- "historyInfo": {
- "subject": "Main Switchboad number",
- "acdSupport": "+134777",
- "campOn": false,
- "initialParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousRetargetReason": "TRANSFERRED"
}, - "inbound": true,
- "intruded": false,
- "status": "RINGING",
- "event": "FAILED",
- "muted": true,
- "eventDescription": "Call setup failed with status code 504",
- "duration": 0,
- "recordable": true,
- "recording": true,
- "recordingDuration": 0,
- "externalRecording": true,
- "externalRecordingDuration": 0,
- "externalRecordingPaused": false,
- "deviceIds": "[+1555555]",
- "actions": "[{action: ANSWER, deviceIds: [+1555555]}]",
- "correlationId": "h4p91mCciTYhnog0PE4aOQ_1716201728788"
}
A user having two separate calls can use the transfer method to connect the two parties the user is talking to. The two calls does not need to be active on the same device. Should either of the calls be on hold, it will automatically be unheld as the calls are connected. An attempt to update the caller Id to the transferred party will be made for the target call but depending on the device of the remote party, this may not succeed.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user having the call to transfer |
callId
required
|
string
The ID of the call to transfer |
stateToken |
integer <int64>
The expected stateToken of the state at the server. If not matching, the request will fail. |
targetCallId
required
|
string
The callId of the target call the transferred call should be transferred to. |
waitForAnswer |
boolean
If the target call is in ringing state when transferring and waitForAnswer is false, then then the target call will be cancelled and a new call initiated towards the target. If waitForAnswer is true then the transfer will complete when the target call is answered, the transferred party will hear ringing prompt while waiting. The default value of the waitForAnswer property is false. |
targetStateToken |
integer <int64>
The expected stateToken of the state of the target call at the server. If not matching the request will fail. |
{- "stateToken": 487345453,
- "targetCallId": "dd33dxw9",
- "waitForAnswer": false,
- "targetStateToken": 832211
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "participants": [
- {
- "id": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473",
- "intrusionType": "BARGE"
}, - "historyInfo": {
- "subject": "Main Switchboad number",
- "acdSupport": "+134777",
- "campOn": false,
- "initialParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousRetargetReason": "TRANSFERRED"
}
}
], - "conference": false,
- "conferenceId": "34322",
- "historyInfo": {
- "subject": "Main Switchboad number",
- "acdSupport": "+134777",
- "campOn": false,
- "initialParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousRetargetReason": "TRANSFERRED"
}, - "inbound": true,
- "intruded": false,
- "status": "RINGING",
- "event": "FAILED",
- "muted": true,
- "eventDescription": "Call setup failed with status code 504",
- "duration": 0,
- "recordable": true,
- "recording": true,
- "recordingDuration": 0,
- "externalRecording": true,
- "externalRecordingDuration": 0,
- "externalRecordingPaused": false,
- "deviceIds": "[+1555555]",
- "actions": "[{action: ANSWER, deviceIds: [+1555555]}]",
- "correlationId": "h4p91mCciTYhnog0PE4aOQ_1716201728788"
}
Unmute a call that previously was muted.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user having the call to unmute |
callId
required
|
string
The ID of the call to unmute |
stateToken |
integer <int64>
The expected stateToken of the state at the server. If not matching, the request will fail. |
{- "stateToken": 487345453
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277463",
- "displayName": "Alice Alison",
- "displayNumber": "7463"
}, - "conference": false,
- "inbound": true,
- "intruded": false,
- "status": "ACTIVE",
- "event": "UNMUTED",
- "muted": false,
- "duration": 80,
- "externalRecording": true,
- "externalRecordingDuration": 5,
- "externalRecordingPaused": false,
- "deviceIds": [
- "+1555555"
], - "actions": [
- {
- "action": "MOVE"
}, - {
- "action": "TRANSFER"
}, - {
- "action": "HOLD"
}, - {
- "action": "PARK"
}, - {
- "action": "DISCARD_REC"
}, - {
- "action": "MUTE"
}
]
}
The Call Recording API enables controlling of call recording for a user.
The API requires
that the end-user has the license for Cloud CTI API.
Use the Call Recording API to:
If an ongoing on-demand call recording has been explicitly saved, the discard method should be invoked to revoke the save operation. Note that the call is still recorded but will be discarded at the end of the call unless the save operation is once again performed.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user recording the call |
callId
required
|
string
The ID of the call not to save |
stateToken |
integer <int64>
The expected stateToken of the state at the server. If not matching, the request will fail. |
{- "stateToken": 487345453
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277463",
- "displayName": "Alice Alison",
- "displayNumber": "7463"
}, - "conference": false,
- "inbound": true,
- "intruded": false,
- "status": "ACTIVE",
- "muted": false,
- "duration": 200,
- "externalRecording": true,
- "externalRecordingDuration": 200,
- "externalRecordingPaused": false,
- "deviceIds": [
- "+1555555"
], - "actions": [
- {
- "action": "MOVE"
}, - {
- "action": "TRANSFER"
}, - {
- "action": "HOLD"
}, - {
- "action": "PARK"
}, - {
- "action": "SAVE_REC"
}, - {
- "action": "PAUSE_REC"
}
]
}
Pause an ongoing on-demand call recording. It depends on the configuration of the call recording service if this option is available for this user.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user recording the call |
callId
required
|
string
The ID of the call to pause recording for |
stateToken |
integer <int64>
The expected stateToken of the state at the server. If not matching, the request will fail. |
{- "stateToken": 487345453
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277463",
- "displayName": "Alice Alison",
- "displayNumber": "7463"
}, - "conference": false,
- "inbound": true,
- "intruded": false,
- "status": "ACTIVE",
- "muted": false,
- "duration": 300,
- "externalRecording": true,
- "externalRecordingDuration": 300,
- "externalRecordingPaused": false,
- "deviceIds": [
- "+1555555"
], - "actions": [
- {
- "action": "MOVE"
}, - {
- "action": "TRANSFER"
}, - {
- "action": "HOLD"
}, - {
- "action": "PARK"
}, - {
- "action": "DISCARD_REC"
}, - {
- "action": "RESUME_REC"
}
]
}
Resume a paused recording.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user that records the call |
callId
required
|
string
The ID of the call to resume recording for |
stateToken |
integer <int64>
The expected stateToken of the state at the server. If not matching, the request will fail. |
{- "stateToken": 487345453
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277463",
- "displayName": "Alice Alison",
- "displayNumber": "7463"
}, - "conference": false,
- "inbound": true,
- "intruded": false,
- "status": "ACTIVE",
- "muted": false,
- "duration": 300,
- "externalRecording": true,
- "externalRecordingDuration": 250,
- "externalRecordingPaused": false,
- "deviceIds": [
- "+1555555"
], - "actions": [
- {
- "action": "MOVE"
}, - {
- "action": "TRANSFER"
}, - {
- "action": "HOLD"
}, - {
- "action": "PARK"
}, - {
- "action": "DISCARD_REC"
}, - {
- "action": "PAUSE_REC"
}
]
}
If on-demand call recording is enabled for this call, which depends on the configuration of the user, then the whole call will be recorded but the recording must be explicitly saved through the invocation of this method or the recording will be discarded at the end of the call.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user recording the call |
callId
required
|
string
The ID of the call to save |
stateToken |
integer <int64>
The expected stateToken of the state at the server. If not matching, the request will fail. |
{- "stateToken": 487345453
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277463",
- "displayName": "Alice Alison",
- "displayNumber": "7463"
}, - "conference": false,
- "inbound": true,
- "intruded": false,
- "status": "ACTIVE",
- "muted": false,
- "duration": 80,
- "externalRecording": true,
- "externalRecordingDuration": 80,
- "externalRecordingPaused": false,
- "deviceIds": [
- "+1555555"
], - "actions": [
- {
- "action": "MOVE"
}, - {
- "action": "TRANSFER"
}, - {
- "action": "HOLD"
}, - {
- "action": "PARK"
}, - {
- "action": "DISCARD_REC"
}, - {
- "action": "PAUSE_REC"
}
]
}
If it's possible to record this call, which depends on the configuration of the user, then the start method will initate the recording. Any part of the call before the start method is performed will not be part of the recording.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user that should record the call |
callId
required
|
string
The ID of the call to record |
stateToken |
integer <int64>
The expected stateToken of the state at the server. If not matching, the request will fail. |
{- "stateToken": 487345453
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277463",
- "displayName": "Alice Alison",
- "displayNumber": "7463"
}, - "conference": false,
- "inbound": true,
- "intruded": false,
- "status": "ACTIVE",
- "muted": false,
- "duration": 100,
- "recording": true,
- "recordingDuration": 5,
- "deviceIds": [
- "+1555555"
], - "actions": [
- {
- "action": "TRANSFER"
}, - {
- "action": "HOLD"
}, - {
- "action": "STOP_REC"
}
]
}
If the start method has previously been performed to initiate call recording, then the stop method is available to end the call recording.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user that should record the call |
callId
required
|
string
The ID of the call to stop recording |
stateToken |
integer <int64>
The expected stateToken of the state at the server. If not matching, the request will fail. |
{- "stateToken": 487345453
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277463",
- "displayName": "Alice Alison",
- "displayNumber": "7463"
}, - "conference": false,
- "inbound": true,
- "intruded": false,
- "status": "ACTIVE",
- "muted": false,
- "duration": 200,
- "recording": false,
- "deviceIds": [
- "+1555555"
], - "actions": [
- {
- "action": "MOVE"
}, - {
- "action": "TRANSFER"
}, - {
- "action": "HOLD"
}, - {
- "action": "PARK"
}, - {
- "action": "START_REC"
}
]
}
The Call State API enables fetching and monitoring states for users and call.
In order to use
the API, the user must have either a Cloud CTI API License or Call Control API License.
Use the Call
State API to:
Unregister an existing webhook registered for specific user call.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The ID of the user |
callId
required
|
string
The ID of the call |
targetId
required
|
string
The unique id of the webhook that should be unregistered |
Unregister an existing webhook registered for the user.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The ID of the user |
targetId
required
|
string
The unique ID of the webhook that should be unregistered |
Fetch a snapshot of the current state of a call.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The username of the user accessing the API |
callId
required
|
string
The ID of the call |
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "participants": [
- {
- "id": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473",
- "intrusionType": "BARGE"
}, - "historyInfo": {
- "subject": "Main Switchboad number",
- "acdSupport": "+134777",
- "campOn": false,
- "initialParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousRetargetReason": "TRANSFERRED"
}
}
], - "conference": false,
- "conferenceId": "34322",
- "historyInfo": {
- "subject": "Main Switchboad number",
- "acdSupport": "+134777",
- "campOn": false,
- "initialParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousParty": {
- "type": "USER_ID",
- "telUri": "tel:+442528473",
- "displayName": "Nathan Hughes",
- "displayNumber": "8473"
}, - "previousRetargetReason": "TRANSFERRED"
}, - "inbound": true,
- "intruded": false,
- "status": "RINGING",
- "event": "FAILED",
- "muted": true,
- "eventDescription": "Call setup failed with status code 504",
- "duration": 0,
- "recordable": true,
- "recording": true,
- "recordingDuration": 0,
- "externalRecording": true,
- "externalRecordingDuration": 0,
- "externalRecordingPaused": false,
- "deviceIds": "[+1555555]",
- "actions": "[{action: ANSWER, deviceIds: [+1555555]}]",
- "correlationId": "h4p91mCciTYhnog0PE4aOQ_1716201728788"
}
Fetch a snapshot of the current state of a user.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The username of the user accessing the API |
{- "fullState": true,
- "calls": [
- {
- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277464",
- "displayName": "Bob Bobson",
- "displayNumber": "7464"
}, - "conference": false,
- "inbound": false,
- "intruded": false,
- "status": "HELD",
- "muted": false,
- "duration": 50,
- "deviceIds": [
- "+1555555"
], - "actions": [
- {
- "action": "MOVE"
}, - {
- "action": "TRANSFER"
}, - {
- "action": "RESUME"
}, - {
- "action": "PARK"
}
]
}
]
}
Register a webhook to be notified if the state of the call has been updated in the server. The new stateToken of the state will be posted to the registered URL allowing the CTI client to compare it to the token of any state it currently knows about and decide if it needs to fetch the latest state.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The ID of the user |
callId
required
|
string
The ID of the call |
targetUrl
required
|
string
The webhook url |
targetId
required
|
string
A unique id of the webhook. |
publicTarget
required
|
boolean
Indicates if the target node hosting the webhook is deployed on the same network segment as the service nodes or if callbacks needs to go through the edge http proxy |
{- "targetId": "434356",
- "publicTarget": true
}
{- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277464",
- "displayName": "Bob Bobson",
- "displayNumber": "7464"
}, - "conference": false,
- "inbound": false,
- "intruded": false,
- "status": "INITIATED",
- "muted": false,
- "duration": 0,
- "deviceIds": [
- "+1555555"
]
}
Register a webhook where notifications about new and deleted calls for the user will be pushed. The user must be CTI enabled, and the registration is valid for all the users devices.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The ID of the user |
targetUrl
required
|
string
The webhook url |
targetId
required
|
string
A unique id of the webhook. |
publicTarget
required
|
boolean
Indicates if the target node hosting the webhook is deployed on the same network segment as the service nodes or if callbacks needs to go through the edge http proxy |
{- "targetId": "434356",
- "publicTarget": true
}
{- "expiresOn": 3600
}
{- "fullState": true,
- "calls": [
- {
- "stateToken": 487345453,
- "callId": "aaa111bbb",
- "remoteParty": {
- "type": "USER_ID",
- "telUri": "tel:+46277464",
- "displayName": "Bob Bobson",
- "displayNumber": "7464"
}, - "conference": false,
- "inbound": false,
- "intruded": false,
- "status": "HELD",
- "muted": false,
- "duration": 50,
- "deviceIds": [
- "+1555555"
], - "actions": [
- {
- "action": "MOVE"
}, - {
- "action": "TRANSFER"
}, - {
- "action": "RESUME"
}, - {
- "action": "PARK"
}
]
}
]
}
The method will produce a SSE stream of call state objects.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The ID of the user |
callId
required
|
string
The ID of the call |
The method will produce a SSE stream of remote SIP dialog events in the format described in RFC4235.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The ID of the user |
The Event API is used to do different event related operations, such as handling
conferences.
Use Event API to:
Fetch a specified event.
domain
required
|
string
The organization domain |
userId
required
|
string
The user id of the user |
eventId
required
|
integer <int64>
Event id to fetch an event |
The single non-recurring event
{- "id": 1,
- "dateTimeStart": "2025-03-11T15:38:39Z",
- "dateTimeEnd": "2025-03-11T16:38:39Z",
- "name": "Test meeting",
- "organizer": {
- "firstName": "Alice",
- "lastName": "Test",
- "businessPhone": "+123402",
- "mobilePhone": "+46767676195"
}, - "participants": [
- {
- "firstName": "Bob",
- "lastName": "Test",
- "businessPhone": "+123403",
- "mobilePhone": "+46767676194"
}
], - "minutesBeforeMeetingReminder": 15,
- "minutesBeforeMeetingSMS": 15,
- "pincode": "151512",
- "timeZone": "Europe/Stockholm",
- "recurringType": "NONE",
- "note": "Test meeting ongoing",
- "dialInNumbers": "+46767676767,+46767611000,5752222",
- "moxtraBinderId": "IBcgJw9swZjy68F2tP1XEKA3",
- "moxtraMeetId": "408052103",
- "webmeetAllowed": true,
- "recurrenceRangeType": "NONE",
- "synchronizedMeeting": false
}
Update an event.
domain
required
|
string
The organization domain |
userId
required
|
string
The user id of the user |
eventId
required
|
integer <int64>
Event id to update an event |
endDate |
string
Date and time for the end of an event serie, according to ISO 8601: YYYY-MM-DDTHH:mm:ssZ.
The time should be the start time of the event. |
id |
integer <int64>
The event's id. |
dateTimeStart |
string
Date and time for start of the event according to ISO 8601: YYYY-MM-DDTHH:mm:ssZ. |
dateTimeEnd |
string
Date and time for end of the event according to ISO 8601: YYYY-MM-DDTHH:mm:ssZ. |
name |
string
The name of the event. |
required
|
object (EventParticipantDTO)
List of attendees who are participating in the event instance, excluding the organizer. |
Array of objects (EventParticipantDTO)
List of participants excluding the organizer. |
|
minutesBeforeMeetingReminder |
integer <int32>
How many minutes before an event a reminder email should be sent to the
participants. |
minutesBeforeMeetingSMS |
integer <int32>
How many minutes before an event a reminder SMS should be sent to the
participants. |
pincode |
string
Pincode for the event. |
timeZone |
string
The organizer's time zone (or selected time zone) to be used for the event. |
recurringType |
string
Enum: "NONE" "DAILY" "WEEKLY" "BIWEEKLY" "MONTHLY" "YEARLY" "MONTHLY_ABSOLUTE" "MONTHLY_RELATIVE" "YEARLY_ABSOLUTE" "YEARLY_RELATIVE"
Recurring type. |
note |
string
Event note. |
dialInNumbers |
string
The numbers that should be used by event participants when calling in to the event. |
moxtraBinderId |
string
The id of the stream where the event is initiated. |
moxtraMeetId |
string
The id of Moxtra meeting. |
webmeetAllowed |
boolean
Whether web meeting is allowed or not. |
interval |
integer <int32>
The number of units between occurrences, where units can be in days, weeks, months, or years, depending on the type. Required. |
recurrenceRangeType |
string
Enum: "NONE" "END_DATE" "NUMBERED"
The recurrence range type. The possible values are: END_DATE, NONE, NUMBERED. Required when recurrence is used for an event. |
daysOfWeek |
Array of strings
The days of week an event should take place. |
dayOfMonth |
integer <int32>
The day of the month on which the event occurs. Valid values are 1-31. Required if recurringType is MONTHLY_ABSOLUTE or YEARLY_ABSOLUTE. |
monthOfYear |
integer <int32>
The month in which the event occurs. This is a number from 1 to 12, where 1 represents January and 12 represents December. Required if recurringType is YEARLY_ABSOLUTE. |
weekPosition |
string
Enum: "FIRST" "SECOND" "THIRD" "FOURTH" "LAST" "NONE"
Specifies on which instance of the allowed days specified in daysOfsWeek the event occurs, counted from the first instance in the month. Optional and used if type is MONTHLY_ABSOLUTE or YEARLY_ABSOLUTE. |
numberOfOccurrences |
integer <int32>
The number of times to repeat the event. Required and must be positive if recurrenceRangeType is NUMBERED. |
Array of objects (eventexception)
List of exceptions. |
|
synchronizedMeeting |
boolean
Indicates if the meeting has been synchronized from other sources. |
synchronizedSeries |
boolean
Indicates if this synchronized meeting is part of a series. |
rRule |
string
Specifies the recurrence rule of an event. |
{- "id": 1,
- "dateTimeStart": "2025-03-11T15:38:39Z",
- "dateTimeEnd": "2025-03-11T16:38:39Z",
- "name": "Test meeting",
- "organizer": {
- "firstName": "Alice",
- "lastName": "Test",
- "businessPhone": "+123402",
- "mobilePhone": "+46767676195"
}, - "participants": [
- {
- "firstName": "Bob",
- "lastName": "Test",
- "businessPhone": "+123403",
- "mobilePhone": "+46767676194"
}
], - "minutesBeforeMeetingReminder": 15,
- "minutesBeforeMeetingSMS": 15,
- "timeZone": "Europe/Stockholm",
- "recurringType": "DAILY",
- "note": "Test meeting ongoing",
- "moxtraBinderId": "IBcgJw9swZjy68F2tP1XEKA3",
- "moxtraMeetId": "408052103",
- "webmeetAllowed": true,
- "interval": 1,
- "recurrenceRangeType": "NONE",
- "weekPosition": "NONE",
- "synchronizedMeeting": false
}
{- "id": 1,
- "dateTimeStart": "2025-03-11T15:38:39Z",
- "dateTimeEnd": "2025-03-11T16:38:39Z",
- "name": "Test meeting",
- "organizer": {
- "firstName": "Alice",
- "lastName": "Test",
- "businessPhone": "+123402",
- "mobilePhone": "+46767676195"
}, - "participants": [
- {
- "firstName": "Bob",
- "lastName": "Test",
- "businessPhone": "+123403",
- "mobilePhone": "+46767676194"
}
], - "minutesBeforeMeetingReminder": 15,
- "minutesBeforeMeetingSMS": 15,
- "pincode": "151512",
- "timeZone": "Europe/Stockholm",
- "recurringType": "DAILY",
- "note": "Test meeting ongoing",
- "dialInNumbers": "+4676767676",
- "moxtraBinderId": "IBcgJw9swZjy68F2tP1XEKA3",
- "moxtraMeetId": "408052103",
- "webmeetAllowed": true,
- "interval": 1,
- "recurrenceRangeType": "NONE",
- "weekPosition": "NONE",
- "synchronizedMeeting": false,
- "rRule": "FREQ=DAILY;INTERVAL=1"
}
Remove a specified event.
domain
required
|
string
The organization domain |
userId
required
|
string
The user id of the user |
eventId
required
|
integer <int64>
Event id to delete an event |
{- "field": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "warning": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "generated-id": "string"
}
Get the details of a single occurrence or exception from a recurring event.
domain
required
|
string
The organization domain |
userId
required
|
string
The user id of the user |
confId
required
|
integer <int64>
Event id to fetch an occurrence or exception |
eventDate
required
|
string
The date of the event instance in 'yyyy-MM-dd' format |
The occurrence of an event is a non-updated instance of the event.
{- "dateTimeStart": "2023-11-25T12:38:39Z",
- "dateTimeEnd": "2023-11-25T13:38:39Z",
- "name": "Test meeting update",
- "note": "Test meeting instance",
- "isUpdated": true,
- "isCancelled": false,
- "eventId": 1,
- "organizer": {
- "firstName": "Alice",
- "lastName": "Test",
- "businessPhone": "+123402",
- "mobilePhone": "+46767676195"
}, - "participants": [
- {
- "firstName": "Bob",
- "lastName": "Test",
- "businessPhone": "+123403",
- "mobilePhone": "+46767676194"
}
]
}
Modify a single event occurrence or an exception from a recurring event.
domain
required
|
string
The organization domain |
userId
required
|
string
The user id of the user |
confId
required
|
integer <int64>
Event id to update an event occurrence or exception |
eventDate
required
|
string
The date of the event instance in 'yyyy-MM-dd' format |
id |
integer <int64>
The event exception's id. |
dateTimeStart
required
|
string
Date and time for start of the event instance according to ISO 8601: YYYY-MM-DDTHH:mm:ssZ. |
dateTimeEnd
required
|
string
Date and time for end of the event instance according to ISO 8601: YYYY-MM-DDTHH:mm:ssZ. |
name |
string
The name of the event instance. |
note |
string
Event instance note. |
isUpdated |
boolean
Whether the event instance is updated or not. |
isCancelled |
boolean
Whether the event instance is cancelled or not. |
eventId |
integer <int64>
The Id of the event |
required
|
object (EventParticipantDTO)
List of attendees who are participating in the event instance, excluding the organizer. |
required
|
Array of objects (EventParticipantDTO)
List of attendees who are participating in the event instance, excluding the organizer. |
dateTimeOld |
string
Original date and time before updating the exception according to ISO 8601: YYYY-MM-DDTHH:mm:ssZ. |
The exception of an event is an updated occurrence or exception of the event.
{- "id": 1,
- "dateTimeStart": "2023-11-25T12:38:39Z",
- "dateTimeEnd": "2023-11-25T13:38:39Z",
- "name": "Test meeting update",
- "note": "Test meeting instance",
- "isUpdated": true,
- "isCancelled": false,
- "eventId": 1,
- "organizer": {
- "firstName": "Alice",
- "lastName": "Test",
- "businessPhone": "+123402",
- "mobilePhone": "+46767676195"
}, - "participants": [
- {
- "firstName": "Bob",
- "lastName": "Test",
- "businessPhone": "+123403",
- "mobilePhone": "+46767676194"
}
]
}
Exception
{- "id": 1,
- "dateTimeStart": "2023-11-25T12:38:39Z",
- "dateTimeEnd": "2023-11-25T13:38:39Z",
- "name": "Test meeting update",
- "note": "Test meeting instance",
- "isUpdated": true,
- "isCancelled": false,
- "eventId": 1,
- "organizer": {
- "firstName": "Alice",
- "lastName": "Test",
- "businessPhone": "+123402",
- "mobilePhone": "+46767676195"
}, - "participants": [
- {
- "firstName": "Bob",
- "lastName": "Test",
- "businessPhone": "+123403",
- "mobilePhone": "+46767676194"
}
], - "dateTimeOld": "2023-11-25T15:38:39Z"
}
Remove a single event occurrence or an exception from a recurring event.
domain
required
|
string
The organization domain |
userId
required
|
string
The user id of the user |
confId
required
|
integer <int64>
Event id to delete an event occurrence or exception |
eventDate
required
|
string
The date of the event instance in 'yyyy-MM-dd' format |
Cancelled exception
{- "id": 2,
- "dateTimeStart": "2023-11-25T12:38:39Z",
- "dateTimeEnd": "2023-11-25T13:38:39Z",
- "name": "Test meeting update",
- "note": "Test meeting instance",
- "isUpdated": false,
- "isCancelled": true,
- "eventId": 1,
- "participants": [
- { }
], - "dateTimeOld": "2023-11-25T15:38:39Z"
}
Fetch events for a specified user, where the user is either the organizer or a participant.
domain
required
|
string
The organization domain |
userId
required
|
string
The user id of the user |
{- "events": [
- {
- "id": 1,
- "dateTimeStart": "2025-03-11T15:38:39Z",
- "dateTimeEnd": "2025-03-11T16:38:39Z",
- "name": "Test meeting",
- "organizer": {
- "firstName": "Alice",
- "lastName": "Test",
- "businessPhone": "+123402",
- "mobilePhone": "+46767676195"
}, - "participants": [
- {
- "firstName": "Bob",
- "lastName": "Test",
- "businessPhone": "+123403",
- "mobilePhone": "+46767676194"
}
], - "minutesBeforeMeetingReminder": 15,
- "minutesBeforeMeetingSMS": 15,
- "pincode": "151512",
- "timeZone": "Europe/Stockholm",
- "recurringType": "DAILY",
- "note": "Test meeting ongoing",
- "dialInNumbers": "+46767676767,+46767611000,5752222",
- "moxtraBinderId": "IBcgJw9swZjy68F2tP1XEKA3",
- "moxtraMeetId": "408052103",
- "webmeetAllowed": true,
- "interval": 1,
- "recurrenceRangeType": "NONE",
- "weekPosition": "NONE",
- "exceptions": [
- {
- "id": 1,
- "dateTimeStart": "2023-11-25T12:38:39Z",
- "dateTimeEnd": "2023-11-25T13:38:39Z",
- "name": "Test meeting update",
- "note": "Test meeting instance",
- "isUpdated": true,
- "isCancelled": false,
- "eventId": 1,
- "organizer": {
- "firstName": "Alice",
- "lastName": "Test",
- "businessPhone": "+123402",
- "mobilePhone": "+46767676195"
}, - "participants": [
- {
- "firstName": "Bob",
- "lastName": "Test",
- "businessPhone": "+123403",
- "mobilePhone": "+46767676194"
}
], - "dateTimeOld": "2023-11-25T15:38:39Z"
}
], - "synchronizedMeeting": false,
- "rRule": "FREQ=DAILY;INTERVAL=1"
}
]
}
Schedule a new event.
domain
required
|
string
The organization domain |
userId
required
|
string
The user id of the user |
endDate |
string
Date and time for the end of an event serie, according to ISO 8601: YYYY-MM-DDTHH:mm:ssZ.
The time should be the start time of the event. |
id |
integer <int64>
The event's id. |
dateTimeStart |
string
Date and time for start of the event according to ISO 8601: YYYY-MM-DDTHH:mm:ssZ. |
dateTimeEnd |
string
Date and time for end of the event according to ISO 8601: YYYY-MM-DDTHH:mm:ssZ. |
name |
string
The name of the event. |
required
|
object (EventParticipantDTO)
List of attendees who are participating in the event instance, excluding the organizer. |
Array of objects (EventParticipantDTO)
List of participants excluding the organizer. |
|
minutesBeforeMeetingReminder |
integer <int32>
How many minutes before an event a reminder email should be sent to the
participants. |
minutesBeforeMeetingSMS |
integer <int32>
How many minutes before an event a reminder SMS should be sent to the
participants. |
pincode |
string
Pincode for the event. |
timeZone |
string
The organizer's time zone (or selected time zone) to be used for the event. |
recurringType |
string
Enum: "NONE" "DAILY" "WEEKLY" "BIWEEKLY" "MONTHLY" "YEARLY" "MONTHLY_ABSOLUTE" "MONTHLY_RELATIVE" "YEARLY_ABSOLUTE" "YEARLY_RELATIVE"
Recurring type. |
note |
string
Event note. |
dialInNumbers |
string
The numbers that should be used by event participants when calling in to the event. |
moxtraBinderId |
string
The id of the stream where the event is initiated. |
moxtraMeetId |
string
The id of Moxtra meeting. |
webmeetAllowed |
boolean
Whether web meeting is allowed or not. |
interval |
integer <int32>
The number of units between occurrences, where units can be in days, weeks, months, or years, depending on the type. Required. |
recurrenceRangeType |
string
Enum: "NONE" "END_DATE" "NUMBERED"
The recurrence range type. The possible values are: END_DATE, NONE, NUMBERED. Required when recurrence is used for an event. |
daysOfWeek |
Array of strings
The days of week an event should take place. |
dayOfMonth |
integer <int32>
The day of the month on which the event occurs. Valid values are 1-31. Required if recurringType is MONTHLY_ABSOLUTE or YEARLY_ABSOLUTE. |
monthOfYear |
integer <int32>
The month in which the event occurs. This is a number from 1 to 12, where 1 represents January and 12 represents December. Required if recurringType is YEARLY_ABSOLUTE. |
weekPosition |
string
Enum: "FIRST" "SECOND" "THIRD" "FOURTH" "LAST" "NONE"
Specifies on which instance of the allowed days specified in daysOfsWeek the event occurs, counted from the first instance in the month. Optional and used if type is MONTHLY_ABSOLUTE or YEARLY_ABSOLUTE. |
numberOfOccurrences |
integer <int32>
The number of times to repeat the event. Required and must be positive if recurrenceRangeType is NUMBERED. |
Array of objects (eventexception)
List of exceptions. |
|
synchronizedMeeting |
boolean
Indicates if the meeting has been synchronized from other sources. |
synchronizedSeries |
boolean
Indicates if this synchronized meeting is part of a series. |
rRule |
string
Specifies the recurrence rule of an event. |
{- "dateTimeStart": "2025-03-11T15:38:39Z",
- "dateTimeEnd": "2025-03-11T16:38:39Z",
- "name": "Test meeting",
- "organizer": {
- "firstName": "Alice",
- "lastName": "Test",
- "businessPhone": "+123402",
- "mobilePhone": "+46767676195"
}, - "participants": [
- {
- "firstName": "Bob",
- "lastName": "Test",
- "businessPhone": "+123403",
- "mobilePhone": "+46767676194"
}
], - "minutesBeforeMeetingReminder": 15,
- "minutesBeforeMeetingSMS": 15,
- "timeZone": "Europe/Stockholm",
- "recurringType": "DAILY",
- "note": "Test meeting ongoing",
- "moxtraBinderId": "IBcgJw9swZjy68F2tP1XEKA3",
- "moxtraMeetId": "408052103",
- "webmeetAllowed": true,
- "interval": 1,
- "recurrenceRangeType": "NONE",
- "weekPosition": "NONE",
- "synchronizedMeeting": false
}
{- "id": 1,
- "dateTimeStart": "2025-03-11T15:38:39Z",
- "dateTimeEnd": "2025-03-11T16:38:39Z",
- "name": "Test meeting",
- "organizer": {
- "firstName": "Alice",
- "lastName": "Test",
- "businessPhone": "+123402",
- "mobilePhone": "+46767676195"
}, - "participants": [
- {
- "firstName": "Bob",
- "lastName": "Test",
- "businessPhone": "+123403",
- "mobilePhone": "+46767676194"
}
], - "minutesBeforeMeetingReminder": 15,
- "minutesBeforeMeetingSMS": 15,
- "pincode": "151512",
- "timeZone": "Europe/Stockholm",
- "recurringType": "DAILY",
- "note": "Test meeting ongoing",
- "dialInNumbers": "+4676767676",
- "moxtraBinderId": "IBcgJw9swZjy68F2tP1XEKA3",
- "moxtraMeetId": "408052103",
- "webmeetAllowed": true,
- "interval": 1,
- "recurrenceRangeType": "NONE",
- "weekPosition": "NONE",
- "synchronizedMeeting": false,
- "rRule": "FREQ=DAILY;INTERVAL=1"
}
Fetch events for a stream.
binder_id
required
|
string
Stream identification |
unique_id
required
|
string
Unique id of a user, can be either en email address or a mobile number |
{- "events": [
- {
- "id": 1,
- "dateTimeStart": "2025-03-11T15:38:39Z",
- "dateTimeEnd": "2025-03-11T16:38:39Z",
- "name": "Test meeting",
- "organizer": {
- "firstName": "Alice",
- "lastName": "Test",
- "businessPhone": "+123402",
- "mobilePhone": "+46767676195"
}, - "participants": [
- {
- "firstName": "Bob",
- "lastName": "Test",
- "businessPhone": "+123403",
- "mobilePhone": "+46767676194"
}
], - "minutesBeforeMeetingReminder": 15,
- "minutesBeforeMeetingSMS": 15,
- "pincode": "151512",
- "timeZone": "Europe/Stockholm",
- "recurringType": "DAILY",
- "note": "Test meeting ongoing",
- "dialInNumbers": "+46767676767,+46767611000,5752222",
- "moxtraBinderId": "IBcgJw9swZjy68F2tP1XEKA3",
- "moxtraMeetId": "408052103",
- "webmeetAllowed": true,
- "interval": 1,
- "recurrenceRangeType": "NONE",
- "weekPosition": "NONE",
- "exceptions": [
- {
- "id": 1,
- "dateTimeStart": "2023-11-25T12:38:39Z",
- "dateTimeEnd": "2023-11-25T13:38:39Z",
- "name": "Test meeting update",
- "note": "Test meeting instance",
- "isUpdated": true,
- "isCancelled": false,
- "eventId": 1,
- "organizer": {
- "firstName": "Alice",
- "lastName": "Test",
- "businessPhone": "+123402",
- "mobilePhone": "+46767676195"
}, - "participants": [
- {
- "firstName": "Bob",
- "lastName": "Test",
- "businessPhone": "+123403",
- "mobilePhone": "+46767676194"
}
], - "dateTimeOld": "2023-11-25T15:38:39Z"
}
], - "synchronizedMeeting": false,
- "rRule": "FREQ=DAILY;INTERVAL=1"
}
]
}
Get a web meeting.
domain
required
|
string
The organization domain |
userId
required
|
string
The user id of the user |
eventId
required
|
integer <int64>
Event id to fetch a web meet |
{- "data": {
- "id": "654297226"
}, - "code": "RESPONSE_SUCCESS"
}
Join conference call on user's answer place.
domain
required
|
string
The organization domain |
userId
required
|
string
The user id of the user |
eventId
required
|
integer <int64>
Event id to join a conference |
answerPlace |
string
Deprecated
The register user device name |
sipInstance |
string
Deprecated
Instance Id (sipInstance) of the user agent |
autoAnswer |
string
Deprecated
Auto answer on user device |
selectedDeviceID |
string
The Device ID of the user agent |
"string"
Hangs up conference call on user's answer place.
domain
required
|
string
The organization domain |
userId
required
|
string
The user id of the user |
eventId
required
|
integer <int64>
Event id to leave a conference |
answerPlace |
string
Deprecated
The register user device name |
sipInstance |
string
Deprecated
Instance Id (sipInstance) of the user agent |
selectedDeviceID |
string
The Device ID of the user agent |
{- "field": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "warning": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "generated-id": "string"
}
The Buddy List API is used to manage user's favourites. Favourites list is the default
contact list. It can contain personal contacts, directory contacts and function numbers. Favourites show
up by default when no contact has been searched.
Use the Buddy List API to:
Verify a contact is in the favourite contact list.
domain
required
|
string
The domain of the user accessing the API |
user
required
|
string
The username of the user whose contact list we are managing |
cid
required
|
string
The contact ID of the user we want to verify is in the favourites list |
Add a contact to a user's favourites.
domain
required
|
string
The domain of the user accessing the API |
user
required
|
string
The username of the user whose contact list we are managing |
cid
required
|
string
The contact ID of the user we want to add to the favourites list |
Delete a contact from a user's favourites.
domain
required
|
string
The domain of the user accessing the API |
user
required
|
string
The username of the user whose contact list we are managing |
cid
required
|
string
The contact ID of the user we want to remove from the favourites list |
Update the favourites of a user based on the configured favourites templates of the organization and groups the user belongs to.
domain
required
|
string
The domain of the user accessing the API |
user
required
|
string
The username of the user whose contact list we are managing |
applyContactTemplates
required
|
string
Set to 'true' to generate favourites based on exisiting templates on organization and group level |
The Contacts API operates primarily against a user's contact list. Searches can return
results from the directory as well.
Use the Contacts API to:
Add a contact to a user's contact list.
domain
required
|
string
The domain of the user accessing the API. |
user
required
|
string
The username of the user accessing the API. |
cid
required
|
string
The ID of the contact to be added to the contact list. |
{- "query": "query",
- "contact": [
- {
- "firstname": "Jack",
- "lastname": "Jackson",
- "company": "Organization",
- "presence": {
- "futurePresenceAccess": "WRITE",
- "activityAccess": "WRITE",
- "roleAccess": "WRITE",
- "noteAccess": "WRITE",
- "role": "Business",
- "note": "Vacation",
- "activity": {
- "id": "1231141551161",
- "expiration": "NEVER",
- "available": true
}, - "idle": false,
- "available": true,
- "capabilities": [
- "MESSAGE",
- "PARTIAL_COLLABORATION",
- "SMS"
]
}, - "incall": false,
- "inlist": true,
- "diversionAccess": "NONE",
- "type": "DIRECTORY",
- "image": 12,
- "vcard": 113,
- "contactStatus": "FAVORITE",
- "preferredNumber": "+1231231",
- "collaboration": true,
- "email": "[email protected]"
}
]
}
Remove a contact from a user's contact list
domain
required
|
string
The domain of the user accessing the API |
user
required
|
string
The username of the user accessing the API |
cid
required
|
string
The ID of the contact to be deleted |
{- "field": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "warning": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "generated-id": "string"
}
Get a list of matching contacts for a user. By default contacts are ordered alphabetically by name. The user of the API is expected to reorder them as needed.
domain
required
|
string
The domain of the user accessing the API. |
user
required
|
string
The username of the user accessing the API. |
query |
string
If stated, contacts where any word in a searchable field starts with the stated query will be returned. If not stated, only user's favourites will be returned. |
maxResults |
string
Limit the amount of results when searching with a provided filter. If omitted, a maximum of 25 matching contacts will be returned. |
dontIncludeFnrs |
boolean
Exclude function numbers from the search result by providing this parameter with value 'true'. Otherwise, function numbers are included. |
includeBlocked |
boolean
Include blocked external contacts in the search result by providing this parameter with value 'true'. Otherwise, blocked external contacts are not included. |
includeFields |
boolean
Include directory fields of directory contacts by providing this parameter with value 'true'. Note that including fields will increase the response time. Default is false. |
{- "query": "query",
- "contact": [
- {
- "firstname": "Alice",
- "lastname": "Alisson",
- "company": "Organization",
- "presence": {
- "futurePresenceAccess": "WRITE",
- "activityAccess": "WRITE",
- "roleAccess": "WRITE",
- "noteAccess": "WRITE",
- "role": "Business",
- "note": "Example Note",
- "activity": {
- "id": "1230040550060",
- "expiration": "NEVER",
- "available": true
}, - "idle": false,
- "available": true,
- "capabilities": [
- "MESSAGE",
- "PARTIAL_COLLABORATION",
- "SMS"
]
}, - "incall": false,
- "inlist": true,
- "diversionAccess": "NONE",
- "type": "SHORTCUT",
- "image": 12,
- "vcard": 168,
- "contactStatus": "FAVORITE",
- "preferredNumber": "+1234567",
- "collaboration": true,
- "contactEntryId": "Y29udGFjdElkQGV4YW1wbGUub3JnQGRpcmVjdG9yeQ"
}
]
}
Add multiple contacts to a user's contact list.
domain
required
|
string
The domain of the user accessing the API. |
user
required
|
string
The username of the user accessing the API. |
query |
string
The query that was used to get the list of contacts. |
Array of objects (ContactDTO)
List of contacts. |
{- "query": "query",
- "contact": [
- {
- "firstname": "Jack",
- "lastname": "Jackson",
- "company": "Organization",
- "presence": {
- "futurePresenceAccess": "NONE",
- "activityAccess": "NONE",
- "roleAccess": "NONE",
- "noteAccess": "NONE",
- "role": "Business",
- "note": "Vacation",
- "activity": {
- "id": "1231141551161",
- "expiration": "NEVER",
- "available": true
}, - "capabilities": [
- "MESSAGE",
- "PARTIAL_COLLABORATION",
- "SMS"
]
}, - "incall": false,
- "inlist": true,
- "type": "DIRECTORY",
- "image": 12,
- "vcard": 113,
- "contactStatus": "FAVORITE",
- "collaboration": true,
- "email": "[email protected]"
}
]
}
{- "query": "query",
- "contact": [
- {
- "firstname": "Jack",
- "lastname": "Jackson",
- "company": "Organization",
- "presence": {
- "futurePresenceAccess": "WRITE",
- "activityAccess": "WRITE",
- "roleAccess": "WRITE",
- "noteAccess": "WRITE",
- "role": "Business",
- "note": "Vacation",
- "activity": {
- "id": "1231141551161",
- "expiration": "NEVER",
- "available": true
}, - "idle": false,
- "available": true,
- "capabilities": [
- "MESSAGE",
- "PARTIAL_COLLABORATION",
- "SMS"
]
}, - "incall": false,
- "inlist": true,
- "diversionAccess": "NONE",
- "type": "DIRECTORY",
- "image": 12,
- "vcard": 113,
- "contactStatus": "FAVORITE",
- "preferredNumber": "+1231231",
- "collaboration": true,
- "email": "[email protected]"
}
]
}
Add contact status for a user in contact list
domain
required
|
string
The domain of the user accessing the API |
user
required
|
string
The username of the user accessing the API |
cid
required
|
string
The ID of the contact |
contactStatus
required
|
string
Enum: "FAVORITE" "CONTACT" "VIP" "BLOCKED"
The status of the contact. |
{- "contactStatus": "FAVORITE"
}
The Contacts Information API has a set of commands to get more information and manipulate
individual contacts. This is based on the presence authorization in Dstny Core. Contact management is
authenticated using API tickets for Contact search.
Use the Contacts Information API to:
Retrieve a contact's information.
NOTE: This method is DEPRECATED since 5.7.0 and
will be removed in future releases.
domain
required
|
string
The domain of the contact |
cid
required
|
string
The ID of the contact |
A directory contact
{- "firstname": "John",
- "lastname": "Doe",
- "company": "Example organization",
- "presence": {
- "futurePresenceAccess": "NONE",
- "activityAccess": "NONE",
- "roleAccess": "NONE",
- "noteAccess": "NONE",
- "capabilities": [
- "FULL_COLLABORATION",
- "SMS"
]
}, - "inlist": false,
- "diversionAccess": "NONE",
- "type": "DIRECTORY",
- "vcard": 22,
- "contactStatus": "CONTACT",
- "preferredNumber": "+46812345001",
- "collaboration": true,
- "phonenumbers": [
- {
- "number": "+46456345001",
- "type": "mobile"
}
], - "faxNumber": "+46812349002"
}
Retrieve a contact's availability. Response will be 'true' if the contact is
available.
NOTE: This method is DEPRECATED since 5.7.0 and will be removed in future
releases.
domain
required
|
string
The domain of the contact |
cid
required
|
string
The ID of the contact |
Fetches the contact image of the specified user in an organization.
NOTE: This method is
DEPRECATED since 5.7.0 and will be removed in future releases.
domain
required
|
string
The domain of the contact |
cid
required
|
string
The ID of the contact |
ver
required
|
string
The image version |
prefWidth |
integer <int32>
Preferred width (pixels) |
prefHeight |
integer <int32>
Preferred height (pixels) |
Retrieve a contact's call state. Response will be 'true' if the contact is in a
call.
NOTE: This method is DEPRECATED since 5.7.0 and will be removed in future
releases.
domain
required
|
string
The domain of the contact |
cid
required
|
string
The ID of the contact |
Update a contact's presence information. If the user has no permission to change particular
field, it will reply with an old field, without producing forbidden error(silent mode).
If PIDF
format is used as input, the response will be empty.
NOTE: This method is DEPRECATED since
5.7.0 and will be removed in future releases.
domain
required
|
string
The domain of the contact |
cid
required
|
string
The ID of the contact |
forcePremappedDiversion |
string
If set to 'true', activity diversion will override the premapped
diversion. |
role |
string
The current role of the contact |
note |
string
The presence note |
object (Activity)
The presence activity of the contact |
{- "activity": {
- "id": "meeting",
- "expiration": "2010-10-11T05:30:00Z",
- "available": false
}, - "available": false
}
{- "futurePresenceAccess": "NONE",
- "activityAccess": "NONE",
- "roleAccess": "NONE",
- "noteAccess": "NONE",
- "capabilities": [
- "FULL_COLLABORATION"
]
}
Retrieve a contact's activity expiration.
The response will be presented in UTC time
format, yyyy-MM-dd'T'HH:mm:ss'Z'.
NOTE: This method is DEPRECATED since
5.7.0 and will be removed in future releases.
domain
required
|
string
The domain of the contact |
cid
required
|
string
The ID of the contact |
Update a contact's presence note.
NOTE: This method is DEPRECATED since 5.7.0 and
will be removed in future releases.
domain
required
|
string
The domain of the contact |
cid
required
|
string
The ID of the contact |
note
required
|
string
The note |
Retrieve a contact's presence information.
NOTE: This method is DEPRECATED since
5.7.0 and will be removed in future releases.
domain
required
|
string
The domain of the contact |
cid
required
|
string
The ID of the contact |
{- "presence": {
- "futurePresenceAccess": "NONE",
- "activityAccess": "NONE",
- "roleAccess": "NONE",
- "noteAccess": "NONE",
- "capabilities": [
- "FULL_COLLABORATION"
]
}, - "forbidden": [
- "role",
- "activity",
- "note"
]
}
Update the presence information for a directory contact, with information returned on which fields
that failed to update. Note this is not an atomic API. The response will contain a set of fields (in
forbidden tag) that were not allowed to change for a particular user. The response will also contain
the new presence result. The fields that were allowed to change have their new values and the fields
that was forbidden have their old value.
NOTE: This method is DEPRECATED since 5.7.0 and
will be removed in future releases.
domain
required
|
string
The domain of the contact |
cid
required
|
string
The ID of the contact |
forcePremappedDiversion |
string
If set to 'true', activity diversion will override the premapped diversion |
object (presence)
The presence information for the contact. |
|
forbidden |
Array of strings
Contains one or multiple elements (fields) that the user does not have write access to. |
Unsuccessful
{- "activity": {
- "id": "meeting",
- "expiration": "2010-10-11T05:30:00Z",
- "available": false
}, - "available": false
}
{- "presence": {
- "futurePresenceAccess": "NONE",
- "activityAccess": "NONE",
- "roleAccess": "NONE",
- "noteAccess": "NONE",
- "capabilities": [
- "FULL_COLLABORATION"
]
}, - "forbidden": [
- "role",
- "activity",
- "note"
]
}
Retrieve a contact's vCard information.
NOTE: This method is DEPRECATED since 5.7.0
and will be removed in future releases.
domain
required
|
string
The domain of the contact |
cid
required
|
string
The ID of the contact |
ver |
string
The vCard version |
{- "Description": {
- "TEL": [
- {
- "value": "+46812345001",
- "parseType": "Resource",
- "type": [
]
}, - {
- "value": "5001",
- "parseType": "Resource",
- "type": [
]
}
], - "group": [
- {
- "value": "Support",
- "parseType": "Resource"
}, - {
- "value": "Technical Support",
- "parseType": "Resource"
}
], - "field": [
- {
- "id": "field1",
- "value": "Field1 content"
}, - {
- "id": "field2",
- "value": "Field2 content"
}, - {
- "id": "field3",
- "value": "Field3 content"
}, - {
- "id": "field4",
- "value": "Field4 content"
}
], - "FN": "John Doe",
- "N": {
- "parseType": "Resource",
- "Family": "Doe",
- "Given": "John"
}, - "ADR": {
- "parseType": "Resource",
- "Pcode": "Stockholm",
- "Country": "Sweden",
- "Locality": "111 11",
- "Street": "Example Street 1"
}, - "ORG": {
- "parseType": "Resource",
- "Orgunit": "Support",
- "Orgname": "Example Organisation"
}, - "EMAIL": {
- "parseType": "Resource",
}
}
}
Update a contact's vCard information.
NOTE: This method is DEPRECATED since 5.7.0 and
will be removed in future releases.
domain
required
|
string
The domain of the contact |
cid
required
|
string
The ID of the contact |
required
|
object (Desc)
Contact description |
{- "Description": {
- "TEL": [
- {
- "value": "+46812345001",
- "type": [
]
}, - {
- "value": "5001",
- "type": [
]
}
], - "group": [
- {
- "value": "Support"
}, - {
- "value": "Technical Support"
}
], - "N": {
- "Family": "Doe",
- "Given": "John"
}, - "ADR": {
- "Pcode": "Stockholm",
- "Country": "Sweden",
- "Locality": "111 11",
- "Street": "Example Street 1"
}, - "ORG": {
- "Orgunit": "Support",
- "Orgname": "Example Organisation"
},
}
}
{- "field": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "warning": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "generated-id": "string"
}
Retrieve a contact's directory fields.
NOTE: This method is DEPRECATED since 5.7.0
and will be removed in future releases.
domain
required
|
string
The domain of the contact |
cid
required
|
string
The ID of the contact |
{- "field": [
- {
- "id": "field1",
- "label": "Label1",
- "currentValue": "Field1",
- "editable": true
}, - {
- "id": "field2",
- "currentValue": "Field2",
- "editable": true
}, - {
- "id": "field3",
- "label": "Field3",
- "currentValue": "Field3",
- "editable": true
}, - {
- "id": "field4",
- "currentValue": "Field4",
- "editable": true
}
]
}
Update a contact's directory fields.
NOTE: This method is DEPRECATED since 5.7.0 and
will be removed in future releases.
domain
required
|
string
The domain of the contact |
cid
required
|
string
The ID of the contact. |
Array of objects (FieldDTO)
List of fields. |
{ "field": [ { "id": "field1", "currentValue": "Field1", "requestedValue": "Field1" }, { "id": "field2", "currentValue": "Field2", "requestedValue": "Field2" }, { "id": "field3", "currentValue": "Field3", "requestedValue": "Field3" }, { "id": "field4", "currentValue": "Field4", "requestedValue": "Field4" } ] }
{- "field": [
- {
- "id": "field1",
- "currentValue": "Field1",
- "requestedValue": "Field1"
}, - {
- "id": "field2",
- "currentValue": "Field2",
- "requestedValue": "Field2"
}, - {
- "id": "field3",
- "currentValue": "Field3",
- "requestedValue": "Field3"
}, - {
- "id": "field4",
- "currentValue": "Field4",
- "requestedValue": "Field4"
}
]
}
Update a contact's activity.
NOTE: This method is DEPRECATED since 5.7.0 and will be
removed in future releases.
domain
required
|
string
The domain of the contact |
cid
required
|
string
The ID of the contact |
activity
required
|
string
The presence activity |
available |
boolean
The availability |
Update a contact's activity expiration.
NOTE: This method is DEPRECATED since 5.7.0
and will be removed in future releases.
domain
required
|
string
The domain of the contact |
cid
required
|
string
The ID of the contact |
expires
required
|
string
The activity expires string, or 'never' if the activity should not have an
expiry time. |
Set a contact's presence role.
NOTE: This method is DEPRECATED since 5.7.0 and will
be removed in future releases.
domain
required
|
string
The domain of the contact |
cid
required
|
string
The ID of the contact |
role
required
|
string
The presence role |
The Contacts Information V1 API is used to read and modify individual contacts. Most operations
are based on the presence authorization framework in Dstny Core and are applicable for directory
contacts only. All methods in this API can accept a Contact Entry ID to be stated in place of a Contact
ID. Contact management is authenticated using API tickets for Contact search.
Use the Contacts
Information V1 API to:
Read presence events for a directory contact in an organization, either as structure or in
'application/pidf+xml' format, see RFC3863/RFC4480/4481/RFC4482.
When fetching
information in PIDF format, only domain and cid shall be used as input parameters.
domain
required
|
string
The domain of the organization |
cid
required
|
string
The ID of the directory contact, including domain |
startDate |
string
Start date in UTC format. Eg. 2020-04-01T00:00:00Z. If startDate is not used, it will be set to now. |
endDate |
string
End date in UTC format. Eg. 2020-05-01T00:00:00Z. |
expandRecurrence |
string
If set to true, the recurrence data should be expanded in the response. Default is false. |
eventType |
string
The type of events to include in the result. Valid values are: |
cachedCalendar |
boolean
Fetch only synchronized calendar events when value is true, i.e. the response will only contain events that are within 24 hours. If cachedCalendar is not set, it will default to false. |
{- "presence": [
- {
- "role": "business",
- "note": "Daily standup",
- "presenceId": "3",
- "activity": "meeting",
- "priority": 0,
- "name": "Standup meeting",
- "source": "INTERNAL",
- "modifiable": true,
- "deleted": false,
- "futurePresenceAccess": "WRITE",
- "activityAccess": "WRITE",
- "roleAccess": "WRITE",
- "noteAccess": "WRITE",
- "dt-start": "2021-02-01T08:30:00Z",
- "dt-end": "2021-02-01T09:00:00Z",
- "tzid": "Europe/Stockholm",
- "instances": [
- {
- "deleted": false,
- "dt-start": "2021-02-01T08:30:00Z",
- "dt-end": "2021-02-01T09:00:00Z",
- "instanceId": "1612168200000"
}, - {
- "deleted": false,
- "dt-start": "2021-02-02T08:30:00Z",
- "dt-end": "2021-02-02T09:00:00Z",
- "instanceId": "1612254600000"
}
], - "recur": {
- "freq": "WEEKLY",
- "byday": "MO,TU,WE,TH"
}
}, - {
- "role": "business",
- "note": "Lunch",
- "presenceId": "1",
- "activity": "lunch",
- "priority": 0,
- "name": "Lunch",
- "source": "INTERNAL",
- "modifiable": true,
- "deleted": false,
- "futurePresenceAccess": "WRITE",
- "activityAccess": "WRITE",
- "roleAccess": "WRITE",
- "noteAccess": "WRITE",
- "dt-start": "2021-01-10T11:00:00Z",
- "dt-end": "2021-01-10T12:00:00Z",
- "tzid": "Europe/Stockholm",
- "instances": [
- {
- "deleted": false,
- "dt-start": "2021-02-01T11:00:00Z",
- "dt-end": "2021-02-01T12:00:00Z",
- "instanceId": "1612341000000"
}, - {
- "deleted": false,
- "dt-start": "2021-02-02T11:00:00Z",
- "dt-end": "2021-02-02T12:00:00Z",
- "instanceId": "1612427400000"
}
], - "recur": {
- "until": "2021-02-14T23:00:00Z",
- "freq": "DAILY"
}
}
], - "calendar-sync-status": "calendar-sync-not-enabled"
}
Update the presence state for a directory contact in an organization. The presence is provided in 'application/pidf+xml' format, see RFC3863/RFC4480/4481/RFC4482.
domain
required
|
string
The domain of the organization |
cid
required
|
string
The ID of the directory contact, including domain |
{- "field": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "warning": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "generated-id": "string"
}
Create a scheduled presence event for a directory contact in an organization.
domain
required
|
string
The domain of the organization |
cid
required
|
string
The ID of the directory contact, including domain |
role |
string
A role type. Eg. business or private. Role types can be managed under 'Presence states/Roles' in the 'Admin view'. |
note |
string
A string containing a note, maximum 250 characters long. |
presenceId |
string
An identifier of this future presence to be used in URL for methods(GET/PUT/DELETE) operating on a specific future presence. |
activity |
string
An activity type. Eg. free, busy, lunch, meeting. Activity types can be managed under 'Presence states/Activities' in the 'Admin view'. |
priority |
integer <int32>
The priority decides how activities overlap. Highest priority overrides lower priority presence changes. This makes it possible to handle "double booking" due to synchronizing with external calendars. The lowest priority 0 is default. |
name |
string
The name of the scheduled activity. |
busyType |
string
Enum: "FREE" "TENTATIVE" "BUSY" "OOF" "WORKING_ELSEWHERE"
The free/busy type of the external calendar event. |
source |
string
The source of the presence item. Values are INTERNAL for client app created items and CALENDAR for items synchronized from external calendar. |
modifiable |
boolean
A boolean value denoting whether the presence item is modifiable (i.e. a locally created item) or not modifiable (synced from external calendar). |
deleted |
boolean
A boolean value denoting whether the presence has been deleted (true) and therefore should either not be displayed if the tag modifiable is set to true or displayed as greyed out if synchronized from an external calendar. |
private |
boolean
Indicate if the external calendar event is set to private. |
dt-start |
string
The start date and time for activity. Standard XML schema formatted date string in UTC format. Eg. 2020-04-04T09:00:00Z |
dt-end |
string
The end date and time for activity. Can be max 30 days apart from dt-start. Eg. 2020-04-04T09:00:00Z |
tzid |
string
The timezone for the dt-start and dt-end value. |
Array of objects (PresenceInstanceDto)
List of presence instances, only presented when expandRecurrance is set to true in the request. |
|
object (RecurrenceDTO)
Recurrence settings |
{- "role": "business",
- "note": "Coffee time",
- "activity": "out_of_office",
- "priority": 0,
- "name": "Coffe break",
- "source": "INTERNAL",
- "modifiable": true,
- "deleted": false,
- "futurePresenceAccess": "WRITE",
- "activityAccess": "WRITE",
- "roleAccess": "WRITE",
- "noteAccess": "WRITE",
- "dt-start": "2021-01-10T14:30:00Z",
- "dt-end": "2021-01-10T14:45:00Z",
- "tzid": "Europe/Stockholm",
- "recur": {
- "freq": "WEEKLY",
- "byday": "MO,TU,WE,TH"
}
}
{- "role": "business",
- "note": "Coffee time",
- "presenceId": "4",
- "activity": "out_of_office",
- "priority": 0,
- "name": "Coffe break",
- "source": "INTERNAL",
- "modifiable": true,
- "deleted": false,
- "futurePresenceAccess": "WRITE",
- "activityAccess": "WRITE",
- "roleAccess": "WRITE",
- "noteAccess": "WRITE",
- "dt-start": "2021-01-10T14:30:00Z",
- "dt-end": "2021-01-10T14:45:00Z",
- "tzid": "Europe/Stockholm",
- "recur": {
- "freq": "WEEKLY",
- "byday": "MO,TU,WE,TH"
}
}
Read a specific scheduled presence for a directory contact in an organization.
domain
required
|
string
The domain of the organization |
cid
required
|
string
The ID of the directory contact, including domain |
presenceId
required
|
string
The ID of the scheduled presence change |
{- "role": "business",
- "note": "Daily standup",
- "presenceId": "3",
- "activity": "meeting",
- "priority": 0,
- "name": "Standup meeting",
- "source": "INTERNAL",
- "modifiable": true,
- "deleted": false,
- "futurePresenceAccess": "WRITE",
- "activityAccess": "WRITE",
- "roleAccess": "WRITE",
- "noteAccess": "WRITE",
- "dt-start": "2021-02-01T08:30:00Z",
- "dt-end": "2021-02-01T09:00:00Z",
- "tzid": "Europe/Stockholm",
- "recur": {
- "freq": "WEEKLY",
- "byday": "MO,TU,WE,TH"
}
}
Update a specific scheduled presence change for a directory contact in an organization.
domain
required
|
string
The domain of the organization |
cid
required
|
string
The ID of the directory contact, including domain |
presenceId
required
|
string
The ID of the scheduled presence |
role |
string
A role type. Eg. business or private. Role types can be managed under 'Presence states/Roles' in the 'Admin view'. |
note |
string
A string containing a note, maximum 250 characters long. |
presenceId |
string
An identifier of this future presence to be used in URL for methods(GET/PUT/DELETE) operating on a specific future presence. |
activity |
string
An activity type. Eg. free, busy, lunch, meeting. Activity types can be managed under 'Presence states/Activities' in the 'Admin view'. |
priority |
integer <int32>
The priority decides how activities overlap. Highest priority overrides lower priority presence changes. This makes it possible to handle "double booking" due to synchronizing with external calendars. The lowest priority 0 is default. |
name |
string
The name of the scheduled activity. |
busyType |
string
Enum: "FREE" "TENTATIVE" "BUSY" "OOF" "WORKING_ELSEWHERE"
The free/busy type of the external calendar event. |
source |
string
The source of the presence item. Values are INTERNAL for client app created items and CALENDAR for items synchronized from external calendar. |
modifiable |
boolean
A boolean value denoting whether the presence item is modifiable (i.e. a locally created item) or not modifiable (synced from external calendar). |
deleted |
boolean
A boolean value denoting whether the presence has been deleted (true) and therefore should either not be displayed if the tag modifiable is set to true or displayed as greyed out if synchronized from an external calendar. |
private |
boolean
Indicate if the external calendar event is set to private. |
dt-start |
string
The start date and time for activity. Standard XML schema formatted date string in UTC format. Eg. 2020-04-04T09:00:00Z |
dt-end |
string
The end date and time for activity. Can be max 30 days apart from dt-start. Eg. 2020-04-04T09:00:00Z |
tzid |
string
The timezone for the dt-start and dt-end value. |
Array of objects (PresenceInstanceDto)
List of presence instances, only presented when expandRecurrance is set to true in the request. |
|
object (RecurrenceDTO)
Recurrence settings |
{- "role": "business",
- "note": "Daily standup",
- "presenceId": "3",
- "activity": "meeting",
- "priority": 0,
- "name": "Standup meeting",
- "source": "INTERNAL",
- "modifiable": true,
- "deleted": false,
- "futurePresenceAccess": "WRITE",
- "activityAccess": "WRITE",
- "roleAccess": "WRITE",
- "noteAccess": "WRITE",
- "dt-start": "2021-02-01T08:30:00Z",
- "dt-end": "2021-02-01T09:00:00Z",
- "tzid": "Europe/Stockholm",
- "recur": {
- "freq": "WEEKLY",
- "byday": "MO,TU,WE,TH"
}
}
{- "field": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "warning": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "generated-id": "string"
}
Delete a scheduled presence for a directory contact in an organization.
domain
required
|
string
The domain of the organization |
cid
required
|
string
The ID of the directory contact, including domain |
presenceId
required
|
string
The ID of the scheduled presence |
startDate |
string
Delete from date in UTC format. Eg. 2020-04-01T00:00:00Z |
untilDate |
string
Delete to date in UTC format. Eg. 2020-05-01T00:00:00Z |
{- "field": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "warning": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "generated-id": "string"
}
Read information about a contact in an organization
domain
required
|
string
The domain of the organization |
cid
required
|
string
The ID of the contact, including domain |
includeFields |
boolean
Whether directory fields of directory contacts should be included. Note that including fields will increase the response time. Default is false. |
A directory contact, including fields
{- "firstname": "John",
- "lastname": "Doe",
- "company": "Example organization",
- "presence": {
- "futurePresenceAccess": "NONE",
- "activityAccess": "NONE",
- "roleAccess": "NONE",
- "noteAccess": "NONE",
- "capabilities": [
- "FULL_COLLABORATION",
- "SMS"
]
}, - "inlist": false,
- "diversionAccess": "NONE",
- "type": "DIRECTORY",
- "vcard": 22,
- "contactStatus": "CONTACT",
- "preferredNumber": "+46812345001",
- "collaboration": true,
- "phonenumbers": [
- {
- "number": "+46456345001",
- "type": "mobile"
}
], - "faxNumber": "+46812349002",
- "contactEntryId": "Y29udGFjdElkQGV4YW1wbGUub3JnQGRpcmVjdG9yeQ",
- "fields": {
- "fields": [
- {
- "id": "field1",
- "label": "Manager",
- "value": "James"
}, - {
- "id": "field2",
- "label": "Work title",
- "value": "Account manager"
}, - {
- "id": "field4",
- "label": "ICE contact",
- "value": "+4681234567"
}
]
}
}
Read directory field information for a directory contact in an organization. Available fields are visible fields with a configured value, or fields that can be edited by the calling user.
domain
required
|
string
The domain of the organization |
cid
required
|
string
The ID of the directory contact, including domain. |
Get visible fields for another user (Searchable fields with a configured value, or fields the calling user is allowed to edit)
{- "fields": [
- {
- "id": "field1",
- "label": "Manager",
- "value": "James",
- "editable": false
}, - {
- "id": "field3",
- "label": "Work office",
- "value": "A57",
- "editable": false
}, - {
- "id": "field4",
- "label": "ICE contact",
- "value": "+4681234567",
- "editable": false
}, - {
- "id": "field5",
- "label": "Hobbies",
- "editable": false
}, - {
- "id": "field7",
- "label": "Salary class",
- "value": "37",
- "editable": false
}
]
}
Update directory fields for a directory contact. All provided fields will be updated with the requested value, so take care not to include fields that should not change.
domain
required
|
string
The domain of the organization |
cid
required
|
string
The ID of the directory contact, including domain. |
Array of objects (DirectoryFieldInfoDTO)
The directory fields. |
Request to modify two values and delete one
{- "fields": [
- {
- "id": "field4",
- "requestedValue": "+4681234499"
}, - {
- "id": "field5",
- "requestedValue": "Sailing, skiing, hiking"
}, - {
- "id": "field8"
}
]
}
{- "field": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "warning": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "generated-id": "string"
}
Read the image of a directory contact in an organization.
domain
required
|
string
The domain of the organization |
cid
required
|
string
The ID of the contact, including domain |
ver |
string
The image version. Not used as only the current version is maintained |
prefWidth |
integer <int32>
Preferred width (pixels) |
prefHeight |
integer <int32>
Preferred height (pixels) |
Read the line state of an accessible contact (directory contact or mobile subscriber) in an organization. Response will be 'true' if the contact is in a call.
domain
required
|
string
The domain of the organization |
cid
required
|
string
The ID of the contact, including domain. Use userid@domain to read linestate of a user, or number@domain to read linestate of a mobile subscriber. |
Update the current presence note of a directory contact in an organization.
domain
required
|
string
The domain of the organization |
cid
required
|
string
The ID of the directory contact, including domain |
note |
string
The note to set |
ver |
string
Version number (not used) |
Read vCard information for a contact in an organization.
domain
required
|
string
The domain of the organization |
cid
required
|
string
The ID of the contact, including domain, or the phone number of the contact |
ver |
string
The vCard version |
{- "Description": {
- "TEL": [
- {
- "value": "+46812345001",
- "parseType": "Resource",
- "type": [
]
}, - {
- "value": "5001",
- "parseType": "Resource",
- "type": [
]
}
], - "group": [
- {
- "value": "Support",
- "parseType": "Resource"
}, - {
- "value": "Technical Support",
- "parseType": "Resource"
}
], - "field": [
- {
- "id": "field1",
- "value": "Field1 content"
}, - {
- "id": "field2",
- "value": "Field2 content"
}, - {
- "id": "field3",
- "value": "Field3 content"
}, - {
- "id": "field4",
- "value": "Field4 content"
}
], - "FN": "John Doe",
- "N": {
- "parseType": "Resource",
- "Family": "Doe",
- "Given": "John"
}, - "ADR": {
- "parseType": "Resource",
- "Pcode": "Stockholm",
- "Country": "Sweden",
- "Locality": "111 11",
- "Street": "Example Street 1"
}, - "ORG": {
- "parseType": "Resource",
- "Orgunit": "Support",
- "Orgname": "Example Organisation"
}, - "EMAIL": {
- "parseType": "Resource",
}
}
}
Update vCard information for a personal contact in the organization.
domain
required
|
string
The domain of the organization |
cid
required
|
string
The ID of the personal contact, including domain |
required
|
object (Desc)
Contact description |
{- "Description": {
- "TEL": [
- {
- "value": "+46812345001",
- "type": [
]
}, - {
- "value": "5001",
- "type": [
]
}
], - "group": [
- {
- "value": "Support"
}, - {
- "value": "Technical Support"
}
], - "N": {
- "Family": "Doe",
- "Given": "John"
}, - "ADR": {
- "Pcode": "Stockholm",
- "Country": "Sweden",
- "Locality": "111 11",
- "Street": "Example Street 1"
}, - "ORG": {
- "Orgunit": "Support",
- "Orgname": "Example Organisation"
},
}
}
{- "field": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "warning": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "generated-id": "string"
}
List the supported time zone ID values and their offset values
when |
string
Calculate offsets for this given date Standard XML schema formatted date string in UTC format. Eg. 2021-01-01T09:00:00Z |
tzid |
string
Set to a time zone ID to view only that timezone. Useful when the offset for a time zone is wanted. |
{- "timezone": [
- {
- "region": "America",
- "city": "Montreal",
- "offset": "-18000000",
- "tzid": "America/Montreal"
}, - {
- "region": "Europe",
- "city": "Stockholm",
- "offset": "3600000",
- "tzid": "Europe/Stockholm"
}, - {
- "region": "Etc",
- "city": "GMT",
- "offset": "0",
- "tzid": "Etc/GMT"
}
]
}
Update the current presence activity of a directory contact in an organization.
domain
required
|
string
The domain of the organization |
cid
required
|
string
The ID of the directory contact, including domain |
activity
required
|
string
The presence activity to set |
available |
boolean
The availability to set for the activity. If not provided, the default availability of the activity will be set. |
Update the current activity expiration for a directory contact in an organization.
domain
required
|
string
The domain of the organization |
cid
required
|
string
The ID of the directory contact, including domain |
expires
required
|
string
The activity expires string, or 'never' if the activity should not have an
expiry time. |
Update the current presence role of a directory contact in an organization.
domain
required
|
string
The domain of the organization |
cid
required
|
string
The ID of the directory contact, including domain |
role
required
|
string
The presence role to set |
Produces an SSE stream of linestate events for a contact in an organization, in application/dialog-info+xml format, see RFC4235.
domain
required
|
string
The domain of the organization |
cid
required
|
string
The ID of the contact, including domain |
Produces an SSE stream of presence states for a directory contact in an organization, in 'application/pidf+xml' format, see RFC3863/RFC4480/4481/RFC4482.
domain
required
|
string
The domain of the organization |
cid
required
|
string
The ID of the directory contact, including domain |
The Personal Contacts API is used to manage contact list for all users at
user/group/organization level in a specific organization.
Use the Personal Contacts API to:
List all contacts for a user in the organization.
domain
required
|
string
The domain of the user that owns the contacts |
user
required
|
string
The username of the user that owns the contacts |
{- "personal_contact": [
- {
- "cid": "167271@internal",
- "company": "MinFirma AB",
- "department": "Rnd",
- "firstname": "John",
- "lastname": "Doe",
- "shortname": "jodo",
- "street": "Firmagatan 1",
- "city": "Stockholm",
- "postalcode": "12177",
- "country": "Sweden",
- "speeddial": 5,
- "showInDefaultContactList": true,
- "contactStatus": "VIP",
- "ownerType": "USER",
- "phoneNumbers": [
- {
- "type": "WORK",
- "phoneNumber": "+46850654760",
- "preferredNumber": true
}
]
}, - {
- "cid": "167271@internal",
- "company": "MinFirma AB",
- "department": "Support",
- "firstname": "Bob",
- "lastname": "Dilen",
- "shortname": "bodi",
- "street": "Firmagatan 1",
- "city": "Stockholm",
- "postalcode": "12177",
- "country": "Sweden",
- "speeddial": 7,
- "showInDefaultContactList": true,
- "contactStatus": "FAVORITE",
- "ownerType": "USER",
- "phoneNumbers": [
- {
- "type": "MAIN",
- "phoneNumber": "+46890657890",
- "preferredNumber": true
}
]
}
]
}
Create a contact for a user in the organization.
domain
required
|
string
The domain of the user that owns the contact |
user
required
|
string
The username of the user that owns the contact |
cid |
string
The ID of the contact. Required when updating a contact. |
company |
string <= 64 characters
The company of the contact. |
department |
string <= 64 characters
The department that the contact belongs to. |
firstname |
string <= 64 characters
The first name of the contact. A string preferably without spaces as it is not possible
to search for first name together with last name if either has a space in the name.
|
lastname |
string <= 64 characters
The last name of the contact. A string preferably without spaces as it is not possible to
search for first name together with last name if either has a space in the name.
|
shortname |
string <= 64 characters
The short name of the contact. A string preferably without spaces as it is not possible to search for first name together with last name if either has a space in the name. |
string <= 64 characters
The email of the contact. |
|
street |
string <= 64 characters
The street address of the contact. |
city |
string <= 64 characters
The city of residence for the contact. |
postalcode |
string <= 64 characters
The postal code of the address of the contact. |
country |
string <= 64 characters
The country of residence for the contact. |
speeddial |
integer <int32>
[ 1 .. 10 ]
The speed dial number. The value should be an integer in range from 1 to 10. |
showInDefaultContactList |
boolean
If set to 'true' then the contact is shown in the default contact list. Otherwise set to 'false'. |
contactStatus |
string
Enum: "FAVORITE" "CONTACT" "VIP" "BLOCKED"
The status of the contact. Default is 'CONTACT'. |
Array of objects (PhoneNumberDto)
A list of phone numbers for the contact. |
{- "company": "MinFirma AB",
- "department": "Rnd",
- "firstname": "John",
- "lastname": "Doe",
- "shortname": "jodo",
- "street": "Firmagatan 1",
- "city": "Stockholm",
- "postalcode": "12177",
- "country": "Sweden",
- "speeddial": 5,
- "showInDefaultContactList": true,
- "contactStatus": "VIP",
- "phoneNumbers": [
- {
- "type": "WORK",
- "phoneNumber": "+46850654760",
- "preferredNumber": true
}
]
}
{- "cid": "167271@internal",
- "company": "MinFirma AB",
- "department": "Rnd",
- "firstname": "John",
- "lastname": "Doe",
- "shortname": "jodo",
- "street": "Firmagatan 1",
- "city": "Stockholm",
- "postalcode": "12177",
- "country": "Sweden",
- "speeddial": 5,
- "showInDefaultContactList": true,
- "contactStatus": "VIP",
- "ownerType": "USER",
- "phoneNumbers": [
- {
- "type": "WORK",
- "phoneNumber": "+46850654760",
- "preferredNumber": true
}
]
}
List all contacts for a user group in the organization.
domain
required
|
string
The domain of the user group that owns the contacts |
groupId
required
|
string
The name of the user group that owns the contacts |
{- "personal_contact": [
- {
- "cid": "167271@internal",
- "company": "MinFirma AB",
- "department": "Rnd",
- "firstname": "John",
- "lastname": "Doe",
- "shortname": "jodo",
- "street": "Firmagatan 1",
- "city": "Stockholm",
- "postalcode": "12177",
- "country": "Sweden",
- "speeddial": 5,
- "showInDefaultContactList": true,
- "contactStatus": "VIP",
- "ownerType": "GROUP",
- "phoneNumbers": [
- {
- "type": "WORK",
- "phoneNumber": "+46850654760",
- "preferredNumber": true,
- "abbreviatednumber": "4760"
}
]
}, - {
- "cid": "167271@internal",
- "company": "MinFirma AB",
- "department": "Support",
- "firstname": "Bob",
- "lastname": "Dilen",
- "shortname": "bodi",
- "street": "Firmagatan 1",
- "city": "Stockholm",
- "postalcode": "12177",
- "country": "Sweden",
- "speeddial": 7,
- "showInDefaultContactList": true,
- "contactStatus": "FAVORITE",
- "ownerType": "GROUP",
- "phoneNumbers": [
- {
- "type": "MAIN",
- "phoneNumber": "+46890657890",
- "preferredNumber": true,
- "abbreviatednumber": "7890"
}
]
}
]
}
Create a contact for a user group in the organization.
domain
required
|
string
The domain of the user group that owns the contact |
groupId
required
|
string
The name of the user group that owns the contact |
cid |
string
The ID of the contact. Required when updating a contact. |
company |
string <= 64 characters
The company of the contact. |
department |
string <= 64 characters
The department that the contact belongs to. |
firstname |
string <= 64 characters
The first name of the contact. A string preferably without spaces as it is not possible
to search for first name together with last name if either has a space in the name.
|
lastname |
string <= 64 characters
The last name of the contact. A string preferably without spaces as it is not possible to
search for first name together with last name if either has a space in the name.
|
shortname |
string <= 64 characters
The short name of the contact. A string preferably without spaces as it is not possible to search for first name together with last name if either has a space in the name. |
string <= 64 characters
The email of the contact. |
|
street |
string <= 64 characters
The street address of the contact. |
city |
string <= 64 characters
The city of residence for the contact. |
postalcode |
string <= 64 characters
The postal code of the address of the contact. |
country |
string <= 64 characters
The country of residence for the contact. |
speeddial |
integer <int32>
[ 1 .. 10 ]
The speed dial number. The value should be an integer in range from 1 to 10. |
showInDefaultContactList |
boolean
If set to 'true' then the contact is shown in the default contact list. Otherwise set to 'false'. |
contactStatus |
string
Enum: "FAVORITE" "CONTACT" "VIP" "BLOCKED"
The status of the contact. Default is 'CONTACT'. |
Array of objects (PhoneNumberDto)
A list of phone numbers for the contact. |
{- "company": "MinFirma AB",
- "department": "Rnd",
- "firstname": "John",
- "lastname": "Doe",
- "shortname": "jodo",
- "street": "Firmagatan 1",
- "city": "Stockholm",
- "postalcode": "12177",
- "country": "Sweden",
- "speeddial": 5,
- "showInDefaultContactList": true,
- "contactStatus": "VIP",
- "phoneNumbers": [
- {
- "type": "WORK",
- "phoneNumber": "+46850654760",
- "preferredNumber": true,
- "abbreviatednumber": "4760"
}
]
}
{- "cid": "167271@internal",
- "company": "MinFirma AB",
- "department": "Rnd",
- "firstname": "John",
- "lastname": "Doe",
- "shortname": "jodo",
- "street": "Firmagatan 1",
- "city": "Stockholm",
- "postalcode": "12177",
- "country": "Sweden",
- "speeddial": 5,
- "showInDefaultContactList": true,
- "contactStatus": "VIP",
- "ownerType": "GROUP",
- "phoneNumbers": [
- {
- "type": "WORK",
- "phoneNumber": "+46850654760",
- "preferredNumber": true,
- "abbreviatednumber": "4760"
}
]
}
List all contacts on organization level when requested by an administrator.
domain
required
|
string
The domain of the organization that owns the contacts |
{- "personal_contact": [
- {
- "cid": "167271@internal",
- "company": "MinFirma AB",
- "department": "Rnd",
- "firstname": "John",
- "lastname": "Doe",
- "shortname": "jodo",
- "street": "Firmagatan 1",
- "city": "Stockholm",
- "postalcode": "12177",
- "country": "Sweden",
- "speeddial": 5,
- "showInDefaultContactList": true,
- "contactStatus": "VIP",
- "ownerType": "ORG",
- "phoneNumbers": [
- {
- "type": "WORK",
- "phoneNumber": "+46850654760",
- "preferredNumber": true,
- "abbreviatednumber": "4760"
}
]
}, - {
- "cid": "167271@internal",
- "company": "MinFirma AB",
- "department": "Support",
- "firstname": "Bob",
- "lastname": "Dilen",
- "shortname": "bodi",
- "street": "Firmagatan 1",
- "city": "Stockholm",
- "postalcode": "12177",
- "country": "Sweden",
- "speeddial": 7,
- "showInDefaultContactList": true,
- "contactStatus": "FAVORITE",
- "ownerType": "ORG",
- "phoneNumbers": [
- {
- "type": "MAIN",
- "phoneNumber": "+46890657890",
- "preferredNumber": true,
- "abbreviatednumber": "7890"
}
]
}
]
}
Creates contact on organization level when requested by an administrator.
domain
required
|
string
The domain of the organization that owns the contact |
cid |
string
The ID of the contact. Required when updating a contact. |
company |
string <= 64 characters
The company of the contact. |
department |
string <= 64 characters
The department that the contact belongs to. |
firstname |
string <= 64 characters
The first name of the contact. A string preferably without spaces as it is not possible
to search for first name together with last name if either has a space in the name.
|
lastname |
string <= 64 characters
The last name of the contact. A string preferably without spaces as it is not possible to
search for first name together with last name if either has a space in the name.
|
shortname |
string <= 64 characters
The short name of the contact. A string preferably without spaces as it is not possible to search for first name together with last name if either has a space in the name. |
string <= 64 characters
The email of the contact. |
|
street |
string <= 64 characters
The street address of the contact. |
city |
string <= 64 characters
The city of residence for the contact. |
postalcode |
string <= 64 characters
The postal code of the address of the contact. |
country |
string <= 64 characters
The country of residence for the contact. |
speeddial |
integer <int32>
[ 1 .. 10 ]
The speed dial number. The value should be an integer in range from 1 to 10. |
showInDefaultContactList |
boolean
If set to 'true' then the contact is shown in the default contact list. Otherwise set to 'false'. |
contactStatus |
string
Enum: "FAVORITE" "CONTACT" "VIP" "BLOCKED"
The status of the contact. Default is 'CONTACT'. |
Array of objects (PhoneNumberDto)
A list of phone numbers for the contact. |
{- "company": "MinFirma AB",
- "department": "Rnd",
- "firstname": "John",
- "lastname": "Doe",
- "shortname": "jodo",
- "street": "Firmagatan 1",
- "city": "Stockholm",
- "postalcode": "12177",
- "country": "Sweden",
- "speeddial": 5,
- "showInDefaultContactList": true,
- "contactStatus": "VIP",
- "phoneNumbers": [
- {
- "type": "WORK",
- "phoneNumber": "+46850654760",
- "preferredNumber": true,
- "abbreviatednumber": "4760"
}
]
}
{- "cid": "167271@internal",
- "company": "MinFirma AB",
- "department": "Rnd",
- "firstname": "John",
- "lastname": "Doe",
- "shortname": "jodo",
- "street": "Firmagatan 1",
- "city": "Stockholm",
- "postalcode": "12177",
- "country": "Sweden",
- "speeddial": 5,
- "showInDefaultContactList": true,
- "contactStatus": "VIP",
- "ownerType": "ORG",
- "phoneNumbers": [
- {
- "type": "WORK",
- "phoneNumber": "+46850654760",
- "preferredNumber": true,
- "abbreviatednumber": "4760"
}
]
}
Retrieve the specific contact for a user in the organization.
domain
required
|
string
The domain of the user that owns the contact |
user
required
|
string
The username of the user that owns the contact |
cid
required
|
string
The ID of the contact |
{- "cid": "167271@internal",
- "company": "MinFirma AB",
- "department": "Rnd",
- "firstname": "John",
- "lastname": "Doe",
- "shortname": "jodo",
- "street": "Firmagatan 1",
- "city": "Stockholm",
- "postalcode": "12177",
- "country": "Sweden",
- "speeddial": 5,
- "showInDefaultContactList": true,
- "contactStatus": "VIP",
- "ownerType": "USER",
- "phoneNumbers": [
- {
- "type": "WORK",
- "phoneNumber": "+46850654760",
- "preferredNumber": true
}
]
}
Update the specific contact for a user in the organization.
domain
required
|
string
The domain of the user that owns the contact |
user
required
|
string
The username of the user that owns the contact |
cid
required
|
string
The ID of the contact |
cid |
string
The ID of the contact. Required when updating a contact. |
company |
string <= 64 characters
The company of the contact. |
department |
string <= 64 characters
The department that the contact belongs to. |
firstname |
string <= 64 characters
The first name of the contact. A string preferably without spaces as it is not possible
to search for first name together with last name if either has a space in the name.
|
lastname |
string <= 64 characters
The last name of the contact. A string preferably without spaces as it is not possible to
search for first name together with last name if either has a space in the name.
|
shortname |
string <= 64 characters
The short name of the contact. A string preferably without spaces as it is not possible to search for first name together with last name if either has a space in the name. |
string <= 64 characters
The email of the contact. |
|
street |
string <= 64 characters
The street address of the contact. |
city |
string <= 64 characters
The city of residence for the contact. |
postalcode |
string <= 64 characters
The postal code of the address of the contact. |
country |
string <= 64 characters
The country of residence for the contact. |
speeddial |
integer <int32>
[ 1 .. 10 ]
The speed dial number. The value should be an integer in range from 1 to 10. |
showInDefaultContactList |
boolean
If set to 'true' then the contact is shown in the default contact list. Otherwise set to 'false'. |
contactStatus |
string
Enum: "FAVORITE" "CONTACT" "VIP" "BLOCKED"
The status of the contact. Default is 'CONTACT'. |
Array of objects (PhoneNumberDto)
A list of phone numbers for the contact. |
{- "cid": "167271@internal",
- "company": "MinFirma AB",
- "department": "Support",
- "firstname": "Bob",
- "lastname": "Dilen",
- "shortname": "bodi",
- "street": "Firmagatan 1",
- "city": "Stockholm",
- "postalcode": "12177",
- "country": "Sweden",
- "speeddial": 7,
- "showInDefaultContactList": true,
- "contactStatus": "FAVORITE",
- "phoneNumbers": [
- {
- "type": "MAIN",
- "phoneNumber": "+46890657890",
- "preferredNumber": true
}
]
}
"string"
Delete the specific contact for a user.
domain
required
|
string
The domain of the user that owns the contact |
user
required
|
string
The username of the user that owns the contact |
cid
required
|
string
The ID of the contact |
"string"
Retrieve a contact for a user group in the organization.
domain
required
|
string
The domain of the user group that owns the contact |
groupId
required
|
string
The name of the user group that owns the contact |
cid
required
|
string
The ID of the contact |
{- "cid": "167271@internal",
- "company": "MinFirma AB",
- "department": "Rnd",
- "firstname": "John",
- "lastname": "Doe",
- "shortname": "jodo",
- "street": "Firmagatan 1",
- "city": "Stockholm",
- "postalcode": "12177",
- "country": "Sweden",
- "speeddial": 5,
- "showInDefaultContactList": true,
- "contactStatus": "VIP",
- "ownerType": "GROUP",
- "phoneNumbers": [
- {
- "type": "WORK",
- "phoneNumber": "+46850654760",
- "preferredNumber": true,
- "abbreviatednumber": "4760"
}
]
}
Update the specific contact for a user group in the organization.
domain
required
|
string
The domain of the user group that owns the contact |
groupId
required
|
string
The name of the user group that owns the contact |
cid
required
|
string
The ID of the contact |
cid |
string
The ID of the contact. Required when updating a contact. |
company |
string <= 64 characters
The company of the contact. |
department |
string <= 64 characters
The department that the contact belongs to. |
firstname |
string <= 64 characters
The first name of the contact. A string preferably without spaces as it is not possible
to search for first name together with last name if either has a space in the name.
|
lastname |
string <= 64 characters
The last name of the contact. A string preferably without spaces as it is not possible to
search for first name together with last name if either has a space in the name.
|
shortname |
string <= 64 characters
The short name of the contact. A string preferably without spaces as it is not possible to search for first name together with last name if either has a space in the name. |
string <= 64 characters
The email of the contact. |
|
street |
string <= 64 characters
The street address of the contact. |
city |
string <= 64 characters
The city of residence for the contact. |
postalcode |
string <= 64 characters
The postal code of the address of the contact. |
country |
string <= 64 characters
The country of residence for the contact. |
speeddial |
integer <int32>
[ 1 .. 10 ]
The speed dial number. The value should be an integer in range from 1 to 10. |
showInDefaultContactList |
boolean
If set to 'true' then the contact is shown in the default contact list. Otherwise set to 'false'. |
contactStatus |
string
Enum: "FAVORITE" "CONTACT" "VIP" "BLOCKED"
The status of the contact. Default is 'CONTACT'. |
Array of objects (PhoneNumberDto)
A list of phone numbers for the contact. |
{- "cid": "167271@internal",
- "company": "MinFirma AB",
- "department": "Support",
- "firstname": "Bob",
- "lastname": "Dilen",
- "shortname": "bodi",
- "street": "Firmagatan 1",
- "city": "Stockholm",
- "postalcode": "12177",
- "country": "Sweden",
- "speeddial": 7,
- "showInDefaultContactList": true,
- "contactStatus": "FAVORITE",
- "phoneNumbers": [
- {
- "type": "MAIN",
- "phoneNumber": "+46890657890",
- "preferredNumber": true,
- "abbreviatednumber": "7890"
}
]
}
"string"
Delete the specific contact for a user group in the organization.
domain
required
|
string
The domain of the user group that owns the contact |
groupId
required
|
string
The name of the user group that owns the contact |
cid
required
|
string
The ID of the contact |
"string"
Retrieve the specific contact on the organization level when requested by an administrator.
domain
required
|
string
The domain of the organization that owns the contact |
cid
required
|
string
The ID of the contact |
{- "cid": "167271@internal",
- "company": "MinFirma AB",
- "department": "Rnd",
- "firstname": "John",
- "lastname": "Doe",
- "shortname": "jodo",
- "street": "Firmagatan 1",
- "city": "Stockholm",
- "postalcode": "12177",
- "country": "Sweden",
- "speeddial": 5,
- "showInDefaultContactList": true,
- "contactStatus": "VIP",
- "ownerType": "ORG",
- "phoneNumbers": [
- {
- "type": "WORK",
- "phoneNumber": "+46850654760",
- "preferredNumber": true,
- "abbreviatednumber": "4760"
}
]
}
Update the specific contact on organization level when requested by an administrator.
domain
required
|
string
The domain of the organization that owns the contact |
cid
required
|
string
The ID of the contact |
cid |
string
The ID of the contact. Required when updating a contact. |
company |
string <= 64 characters
The company of the contact. |
department |
string <= 64 characters
The department that the contact belongs to. |
firstname |
string <= 64 characters
The first name of the contact. A string preferably without spaces as it is not possible
to search for first name together with last name if either has a space in the name.
|
lastname |
string <= 64 characters
The last name of the contact. A string preferably without spaces as it is not possible to
search for first name together with last name if either has a space in the name.
|
shortname |
string <= 64 characters
The short name of the contact. A string preferably without spaces as it is not possible to search for first name together with last name if either has a space in the name. |
string <= 64 characters
The email of the contact. |
|
street |
string <= 64 characters
The street address of the contact. |
city |
string <= 64 characters
The city of residence for the contact. |
postalcode |
string <= 64 characters
The postal code of the address of the contact. |
country |
string <= 64 characters
The country of residence for the contact. |
speeddial |
integer <int32>
[ 1 .. 10 ]
The speed dial number. The value should be an integer in range from 1 to 10. |
showInDefaultContactList |
boolean
If set to 'true' then the contact is shown in the default contact list. Otherwise set to 'false'. |
contactStatus |
string
Enum: "FAVORITE" "CONTACT" "VIP" "BLOCKED"
The status of the contact. Default is 'CONTACT'. |
Array of objects (PhoneNumberDto)
A list of phone numbers for the contact. |
{- "cid": "167271@internal",
- "company": "MinFirma AB",
- "department": "Support",
- "firstname": "Bob",
- "lastname": "Dilen",
- "shortname": "bodi",
- "street": "Firmagatan 1",
- "city": "Stockholm",
- "postalcode": "12177",
- "country": "Sweden",
- "speeddial": 7,
- "showInDefaultContactList": true,
- "contactStatus": "FAVORITE",
- "phoneNumbers": [
- {
- "type": "MAIN",
- "phoneNumber": "+46890657890",
- "preferredNumber": true,
- "abbreviatednumber": "7890"
}
]
}
"string"
Delete the specific contact on organization level when requested by an administrator.
domain
required
|
string
The domain of the organization that owns the contact |
cid
required
|
string
The ID of the contact |
"string"
Retrieve localized phone labels.
domain
required
|
string
The domain of the organization |
locale
required
|
string
The locale to be translated to |
{- "phoneLabels": [
- {
- "labelValue": "HOME",
- "labelName": "Home"
}, - {
- "labelValue": "WORK",
- "labelName": "Work"
}, - {
- "labelValue": "MOBILE",
- "labelName": "Mobile"
}, - {
- "labelValue": "MAIN",
- "labelName": "Main"
}, - {
- "labelValue": "WORK_FAX",
- "labelName": "Work fax"
}, - {
- "labelValue": "HOME_FAX",
- "labelName": "Home fax"
}, - {
- "labelValue": "PAGER",
- "labelName": "Pager"
}, - {
- "labelValue": "OTHER",
- "labelName": "Other"
}
]
}
The Activity Diversion Mapping API is used to manage diversions for activities.
Use the
Activity Diversion Mapping API to:
Get all activity diversions for a user.
userId
required
|
string
The user ID of the user accessing the API |
domain
required
|
string
The domain of the user accessing the API |
{- "diversion-mapping": [
- {
- "activityId": "busy",
- "phoneNumber": "+12345678"
}, - {
- "activityId": "lunch",
- "phoneNumber": "+12345679"
}, - {
- "activityId": "out_of_office",
- "phoneNumber": "+12345679"
}
]
}
Set activity diversions for a user.
Both POST and PUT can be used in the request.
This will
replace all existing settings.
userId
required
|
string
The user ID of the user accessing the API |
domain
required
|
string
The domain of the user accessing the API |
Array of objects (DiversionMappingDTO)
List of activity diversions |
{- "diversion-mapping": [
- {
- "activityId": "busy",
- "phoneNumber": "+12345678"
}, - {
- "activityId": "lunch",
- "phoneNumber": "+12345679"
}, - {
- "activityId": "out_of_office",
- "phoneNumber": "+12345679"
}
]
}
{- "diversion-mapping": [
- {
- "activityId": "busy",
- "phoneNumber": "+12345678"
}, - {
- "activityId": "lunch",
- "phoneNumber": "+12345679"
}, - {
- "activityId": "out_of_office",
- "phoneNumber": "+12345679"
}
]
}
Get the diversion number for a specified activity for a user.
Available activity ids can be
fetched with the Configuration API.
userId
required
|
string
The user ID of the user accessing the API |
domain
required
|
string
The domain of the user accessing the API |
activityId
required
|
string
The ID of the activity |
{- "activityId": "lunch",
- "phoneNumber": "+12345679"
}
Set an activity diversion for a user.
Both POST and PUT can be used in the request.
Available
activity ids can be fetched with the Configuration API.
userId
required
|
string
The user ID of the user accessing the API |
domain
required
|
string
The domain of the user accessing the API |
activityId
required
|
string
The ID of the activity |
activityId |
string
The activity the call shall be diverted for |
phoneNumber |
string
Phone number the call will be diverted to for specified activity |
{- "phoneNumber": "+12345679"
}
{- "activityId": "out_of_office",
- "phoneNumber": "+12345679"
}
Delete diversion for specified activity for a user.
Available activity ids can be fetched with
the Configuration API.
userId
required
|
string
The user ID of the user accessing the API |
domain
required
|
string
The domain of the user accessing the API |
activityId
required
|
string
The ID of the activity |
The Diversion API is used to set the active diversion number and diversion rules of a
user.
Use the Diversion API to:
Retrieves a user's diversion rules.
userId
required
|
string
The username of the user accessing the API |
domain
required
|
string
The domain of the user accessing the API |
{- "user": {
- "domain": "example.com",
- "userid": "albo"
}, - "userDiversionLineRules": [
- {
- "lineNumber": "+123460000",
- "lineOrderType": "PRIMARY",
- "lineType": "OFFICE_FIXED",
- "userDiversionRules": [
- {
- "diversionRoutingRulesType": "CFWD_ALL"
}, - {
- "phoneNumber": "+12345679",
- "diversionRoutingRulesType": "CFWD_ON_BUSY"
}, - {
- "diversionRoutingRulesType": "CFWD_ON_BUSY_IN_CALL"
}, - {
- "diversionRoutingRulesType": "CFWD_ON_BUSY_IN_CALL_OR_UNREACHABLE"
}, - {
- "diversionRoutingRulesType": "CFWD_ON_BUSY_OR_UNREACHABLE"
}, - {
- "phoneNumber": "+12345678",
- "diversionRoutingRulesType": "CFWD_NO_ANSWER"
}, - {
- "diversionRoutingRulesType": "CFWD_NO_ANSWER_OR_UNREACHABLE"
}, - {
- "diversionRoutingRulesType": "CFWD_UNREACHABLE"
}
]
}, - {
- "lineNumber": "+123467890",
- "lineOrderType": "SECONDARY",
- "lineType": "OFFICE_MOBILE",
- "userDiversionRules": [
- {
- "diversionRoutingRulesType": "CFWD_ALL"
}, - {
- "diversionRoutingRulesType": "CFWD_ON_BUSY"
}, - {
- "diversionRoutingRulesType": "CFWD_ON_BUSY_IN_CALL"
}, - {
- "diversionRoutingRulesType": "CFWD_ON_BUSY_IN_CALL_OR_UNREACHABLE"
}, - {
- "diversionRoutingRulesType": "CFWD_ON_BUSY_OR_UNREACHABLE"
}, - {
- "phoneNumber": "+12345678",
- "diversionRoutingRulesType": "CFWD_NO_ANSWER"
}, - {
- "diversionRoutingRulesType": "CFWD_NO_ANSWER_OR_UNREACHABLE"
}, - {
- "diversionRoutingRulesType": "CFWD_UNREACHABLE"
}
]
}
]
}
Updates the user's defined diversion rules for available lines.
Both POST and PUT can be
used in the request.
userId
required
|
string
The username of the user accessing the API |
domain
required
|
string
The domain of the user accessing the API |
object (UserIdentityDTO)
User information |
|
Array of objects (userDiversionLineRule)
List of diversion details for a user's lines |
{- "user": {
- "domain": "example.com",
- "userid": "albo"
}, - "userDiversionLineRules": [
- {
- "lineNumber": "+123460000",
- "lineOrderType": "PRIMARY",
- "lineType": "OFFICE_FIXED",
- "userDiversionRules": [
- {
- "diversionRoutingRulesType": "CFWD_ALL"
}, - {
- "phoneNumber": "+12345679",
- "diversionRoutingRulesType": "CFWD_ON_BUSY"
}, - {
- "diversionRoutingRulesType": "CFWD_ON_BUSY_IN_CALL"
}, - {
- "diversionRoutingRulesType": "CFWD_ON_BUSY_IN_CALL_OR_UNREACHABLE"
}, - {
- "diversionRoutingRulesType": "CFWD_ON_BUSY_OR_UNREACHABLE"
}, - {
- "phoneNumber": "+12345678",
- "diversionRoutingRulesType": "CFWD_NO_ANSWER"
}, - {
- "diversionRoutingRulesType": "CFWD_NO_ANSWER_OR_UNREACHABLE"
}, - {
- "diversionRoutingRulesType": "CFWD_UNREACHABLE"
}
]
}, - {
- "lineNumber": "+123467890",
- "lineOrderType": "SECONDARY",
- "lineType": "OFFICE_MOBILE",
- "userDiversionRules": [
- {
- "diversionRoutingRulesType": "CFWD_ALL"
}, - {
- "diversionRoutingRulesType": "CFWD_ON_BUSY"
}, - {
- "diversionRoutingRulesType": "CFWD_ON_BUSY_IN_CALL"
}, - {
- "diversionRoutingRulesType": "CFWD_ON_BUSY_IN_CALL_OR_UNREACHABLE"
}, - {
- "diversionRoutingRulesType": "CFWD_ON_BUSY_OR_UNREACHABLE"
}, - {
- "phoneNumber": "+12345678",
- "diversionRoutingRulesType": "CFWD_NO_ANSWER"
}, - {
- "diversionRoutingRulesType": "CFWD_NO_ANSWER_OR_UNREACHABLE"
}, - {
- "diversionRoutingRulesType": "CFWD_UNREACHABLE"
}
]
}
]
}
{- "field": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "warning": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "generated-id": "string"
}
Deletes a user's defined diversion rules.
userId
required
|
string
The username of the user accessing the API |
domain
required
|
string
The domain of the user accessing the API |
{- "field": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "warning": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "generated-id": "string"
}
Retrieves a user's diversion rules for specified line order type.
userId
required
|
string
The username of the user accessing the API |
domain
required
|
string
The domain of the user accessing the API |
lineOrderType
required
|
string
User line order for which diversion details shall to be fetched. Possible values
are: |
{- "user": {
- "domain": "example.com",
- "userid": "albo"
}, - "userDiversionLineRules": [
- {
- "lineNumber": "+123460000",
- "lineOrderType": "PRIMARY",
- "lineType": "OFFICE_FIXED",
- "userDiversionRules": [
- {
- "diversionRoutingRulesType": "CFWD_ALL"
}, - {
- "phoneNumber": "+12345679",
- "diversionRoutingRulesType": "CFWD_ON_BUSY"
}, - {
- "diversionRoutingRulesType": "CFWD_ON_BUSY_IN_CALL"
}, - {
- "diversionRoutingRulesType": "CFWD_ON_BUSY_IN_CALL_OR_UNREACHABLE"
}, - {
- "diversionRoutingRulesType": "CFWD_ON_BUSY_OR_UNREACHABLE"
}, - {
- "phoneNumber": "+12345678",
- "diversionRoutingRulesType": "CFWD_NO_ANSWER"
}, - {
- "diversionRoutingRulesType": "CFWD_NO_ANSWER_OR_UNREACHABLE"
}, - {
- "diversionRoutingRulesType": "CFWD_UNREACHABLE"
}
]
}
]
}
Creates or updates a user's defined diversion rule for a pre-defined diversion rule
type.
Both PUT and POST can be used in the request.
userId
required
|
string
The username of the user accessing the API |
domain
required
|
string
The domain of the user accessing the API |
lineOrderType
required
|
string
User line order for which diversion shall be set. Possible values are: |
object (UserIdentityDTO)
User information |
|
Array of objects (userDiversionLineRule)
List of diversion details for a user's lines |
{- "userDiversionLineRules": [
- {
- "userDiversionRules": [
- {
- "phoneNumber": "+12345679",
- "diversionRoutingRulesType": "CFWD_ON_BUSY"
}
]
}
]
}
{- "field": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "warning": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "generated-id": "string"
}
Deletes a user's defined diversion rule for a line order type.
userId
required
|
string
The username of the user accessing the API |
domain
required
|
string
The domain of the user accessing the API |
lineOrderType
required
|
string
User line order for which diversion rules shall be deleted. Possible values
are: |
{- "field": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "warning": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "generated-id": "string"
}
Retrieves a user's diversion rules for a specific line order and rule type.
userId
required
|
string
The username of the user accessing the API |
domain
required
|
string
The domain of the user accessing the API |
diversionRuleType
required
|
string
Enum: "CFWD_ALL" "CFWD_ON_BUSY_IN_CALL" "CFWD_ON_BUSY" "CFWD_NO_ANSWER" "CFWD_UNREACHABLE" "CFWD_NO_ANSWER_OR_UNREACHABLE"
"CFWD_ON_BUSY_OR_UNREACHABLE"
"CFWD_ON_BUSY_IN_CALL_OR_UNREACHABLE"
The diversion rule type for which details shall be fetched. |
lineOrderType
required
|
string
User line order for which diversion details shall be fetched. Possible values
are: |
{- "lineOrderType": "PRIMARY",
- "phoneNumber": "+12345678",
- "diversionRoutingRulesType": "CFWD_NO_ANSWER"
}
Creates or updates a user's defined diversion rule for a pre-defined diversion rule
type.
Both POST and PUT can be used in the request.
userId
required
|
string
The username of the user accessing the API |
domain
required
|
string
The domain of the user accessing the API |
diversionRuleType
required
|
string
Enum: "CFWD_ALL" "CFWD_ON_BUSY_IN_CALL" "CFWD_ON_BUSY" "CFWD_NO_ANSWER" "CFWD_UNREACHABLE" "CFWD_NO_ANSWER_OR_UNREACHABLE"
"CFWD_ON_BUSY_OR_UNREACHABLE"
"CFWD_ON_BUSY_IN_CALL_OR_UNREACHABLE"
The diversion rule type details shall be set for. |
lineOrderType
required
|
string
User line order for which diversion rules shall be set. Possible values are: |
lineOrderType |
string
Enum: "PRIMARY" "SECONDARY"
The line order |
phoneNumber |
string
Phone number to be used for this diversion rule type |
diversionRoutingRulesType |
string
Enum: "NONE" "CFWD_ALL" "CFWD_ON_BUSY_IN_CALL" "CFWD_ON_BUSY" "CFWD_NO_ANSWER" "CFWD_UNREACHABLE" "CFWD_NO_ANSWER_OR_UNREACHABLE"
"CFWD_ON_BUSY_OR_UNREACHABLE"
"CFWD_ON_BUSY_IN_CALL_OR_UNREACHABLE"
The diversion rule type |
{- "phoneNumber": "+12345679",
- "diversionRoutingRulesType": "CFWD_ON_BUSY"
}
{- "field": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "warning": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "generated-id": "string"
}
Deletes a user's defined diversion rule for a pre-defined diversion rule type.
userId
required
|
string
The username of the user accessing the API |
domain
required
|
string
The domain of the user accessing the API |
diversionRuleType
required
|
string
Enum: "CFWD_ALL" "CFWD_ON_BUSY_IN_CALL" "CFWD_ON_BUSY" "CFWD_NO_ANSWER" "CFWD_UNREACHABLE" "CFWD_NO_ANSWER_OR_UNREACHABLE"
"CFWD_ON_BUSY_OR_UNREACHABLE"
"CFWD_ON_BUSY_IN_CALL_OR_UNREACHABLE"
The diversion rule type for which diversion shall be deleted |
lineOrderType
required
|
string
User line order for which diversion rules shall be deleted. Possible values
are: |
{- "field": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "warning": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "generated-id": "string"
}
Retrieves a user's active diversion number.
userId
required
|
string
The username of the user accessing the API |
domain
required
|
string
The domain of the user accessing the API |
{- "diversion-number": "+14423455"
}
Sets a user's active diversion number.
Both POST and PUT can be used in the request.
userId
required
|
string
The username of the user accessing the API |
domain
required
|
string
The domain of the user accessing the API |
phoneNumber
required
|
string
The diversion number |
activityScoped |
boolean
Set to true if the diversion number should be cleared after a change of presence activity. |
{- "diversion-number": "+14423455"
}
The Mobile Subscriber API is used to set features on a subscriber level.
Use Mobile
Subscriber API to:
Retrieve the full caller ID setting for incoming calls to a subscriber's mobile.
number
required
|
string
The mobile number of the subscriber |
domain
required
|
string
The organization domain |
true
Update the full caller ID setting for incoming calls to a subscriber's mobile.
number
required
|
string
The mobile number of the subscriber |
domain
required
|
string
The organization domain |
enable
required
|
boolean
Indicate if integration should be enabled or disabled |
Retrieve the number presentation setting of a mobile subscriber.
number
required
|
string
The mobile number of the subscriber |
domain
required
|
string
The organization domain |
"2"
Update the number presentation of a mobile subscriber.
number
required
|
string
The mobile number of the subscriber |
domain
required
|
string
The organization domain |
value
required
|
integer <int32>
The number presentation setting. The parameter can have 4 different values; |
Update the PBX integration of a mobile subscriber.
number
required
|
string
The mobile number of the subscriber |
domain
required
|
string
The organization domain |
enable
required
|
boolean
Indicate if integration should be enabled or disabled |
Update the Route to PBX setting of a mobile subscriber.
number
required
|
string
The mobile number of the subscriber |
domain
required
|
string
The organization domain |
enable
required
|
boolean
Indicate if route to PBX should be enabled or disabled |
The Presence Shortcuts API is used to manage presence shortcuts on user level. Use the Presence Shortcuts API to:
Read a specific presence shortcut for the user.
domain
required
|
string
The domain of the user accessing the API |
user
required
|
string
The username of the user accessing the API |
id
required
|
string
The ID of the presence shortcut that should be read |
{- "id": "sdfdsf3333",
- "name": "Weekend",
- "activityId": "busy",
- "available": false,
- "durationType": "UNTIL_NEXT_WORKING_DAY",
- "order": 1,
- "imageId": "ic_shortcut_big_red",
- "applyDiversionNumber": false
}
Update a specific presence shortcut for a user. A new shortcut will be created if it does not already exist.
domain
required
|
string
The domain of the user accessing the API |
user
required
|
string
The username of the user accessing the API |
id
required
|
string
The ID of the presence shortcut that should be updated |
id
required
|
string
The ID of the presence shortcut. The ID needs to be unique for the end-user. Ignored for PUT/POST of a single presence shortcut. |
name
required
|
string
The name of the presence shortcut. |
activityId
required
|
string
The ID of the presence activity. |
available
required
|
boolean
Indicate if the presence shortcut should set the user in available or do not disturb. |
durationType
required
|
string
Enum: "NO_END_TIME" "UNTIL_NEXT_WORKING_DAY" "MINUTES"
Indicate if an expiration time should be set for the presence state. |
durationMinutes |
integer <int32>
The expiration time for the presence state. Is only applicable if durationType is set to MINUTES. |
order
required
|
integer <int32>
A number that is used to order the presence shortcuts in end-user applications. |
imageId
required
|
string
Enum: "ic_shortcut_big_green" "ic_shortcut_big_red" "ic_shortcut_car" "ic_shortcut_coffee" "ic_shortcut_home" "ic_shortcut_office" "ic_shortcut_pizza" "ic_shortcut_plane" "ic_shortcut_watch"
The image (icon) of the presence shortcut that will be used in end-user applications to easily differentiate between the user's shortcuts. |
diversionPhoneNumber |
string
A phone number that all incoming end-user calls will be diverted to when applying this shortcut. This value is only considered if applyDiversionNumber is set to true. |
applyDiversionNumber |
boolean
Indicate if the shortcut will override any default diversion set for the presence activity (Activity Diversion). Default is false. |
{- "id": "yyrn333ffFFs2",
- "name": "Short lunch break",
- "activityId": "lunch",
- "available": false,
- "durationType": "MINUTES",
- "durationMinutes": 45,
- "order": 4,
- "imageId": "ic_shortcut_pizza",
- "diversionPhoneNumber": "+45552641",
- "applyDiversionNumber": true
}
{- "id": "sdfdsf3333",
- "name": "Weekend",
- "activityId": "busy",
- "available": false,
- "durationType": "UNTIL_NEXT_WORKING_DAY",
- "order": 1,
- "imageId": "ic_shortcut_big_red",
- "applyDiversionNumber": false
}
Delete a specific presence shortcut for a user.
domain
required
|
string
The domain of the user accessing the API |
user
required
|
string
The username of the user accessing the API |
id
required
|
string
The ID of the presence shortcut that should be deleted |
Read all presence shortcuts for a user.
domain
required
|
string
The domain of the user accessing the API |
user
required
|
string
The username of the user accessing the API |
{- "presenceShortcut": [
- {
- "id": "sdfdsf3333",
- "name": "Weekend",
- "activityId": "busy",
- "available": false,
- "durationType": "UNTIL_NEXT_WORKING_DAY",
- "order": 1,
- "imageId": "ic_shortcut_big_red",
- "applyDiversionNumber": false
}, - {
- "id": "23342323232",
- "name": "Short lunch break",
- "activityId": "lunch",
- "available": false,
- "durationType": "MINUTES",
- "durationMinutes": 45,
- "order": 2,
- "imageId": "ic_shortcut_pizza",
- "diversionPhoneNumber": "+5545445656",
- "applyDiversionNumber": true
}
]
}
Update all presence shortcuts for a user. Any existing presence shortcut for the user will be overwritten by this list.
domain
required
|
string
The domain of the user accessing the API |
user
required
|
string
The username of the user accessing the API |
required
|
Array of objects (PresenceShortcutDTO)
A list of presence shortcuts |
{- "presenceShortcut": [
- {
- "id": "yyrn333ffFFs2",
- "name": "Short lunch break",
- "activityId": "lunch",
- "available": false,
- "durationType": "MINUTES",
- "durationMinutes": 45,
- "order": 4,
- "imageId": "ic_shortcut_pizza",
- "diversionPhoneNumber": "+45552641",
- "applyDiversionNumber": true
}
]
}
{- "presenceShortcut": [
- {
- "id": "sdfdsf3333",
- "name": "Weekend",
- "activityId": "busy",
- "available": false,
- "durationType": "UNTIL_NEXT_WORKING_DAY",
- "order": 1,
- "imageId": "ic_shortcut_big_red",
- "applyDiversionNumber": false
}, - {
- "id": "23342323232",
- "name": "Short lunch break",
- "activityId": "lunch",
- "available": false,
- "durationType": "MINUTES",
- "durationMinutes": 45,
- "order": 2,
- "imageId": "ic_shortcut_pizza",
- "diversionPhoneNumber": "+5545445656",
- "applyDiversionNumber": true
}
]
}
The End-user Configuration API is used to fetch different configuration data.
Use the
End-user Configuration API to:
Read mapping for the possible devices the user can set up calls from.
domain
required
|
string
The domain of the user accessing the API |
user
required
|
string
The username of the user accessing the API |
language |
string
The language to use for localization. Stated as a ISO 639-1 language code (e.g. 'sv' for Swedish) optionally combined with an ISO-3166-2 Country code (e.g. 'en_US' for US English). If not provided, the language of the user will be used. |
User answer the call from a mobile device.
{- "answerplace": [
- {
- "id": "mobile",
- "name": "Mobile"
}
]
}
Read the presence roles available for the user. Roles can be used to define different work situations.
domain
required
|
string
The domain of the user accessing the API |
user
required
|
string
The username of the user accessing the API |
language |
string
The language to use for localization. Stated as a ISO 639-1 language code (e.g. 'sv' for Swedish) optionally combined with an ISO-3166-2 Country code (e.g. 'en_US' for US English). If not provided, the language of the user will be used. |
Available roles, localized in English
{- "role": [
- {
- "id": "business",
- "name": "Business",
- "stateName": "Business"
}, - {
- "id": "private",
- "name": "Private",
- "stateName": "Private"
}, - {
- "id": "1400593658949",
- "name": "Support",
- "stateName": "Support"
}
]
}
Read the presence activities available for the user.
domain
required
|
string
The domain of the user accessing the API |
user
required
|
string
The username of the user accessing the API |
language |
string
The language to use for localization. Stated as a ISO 639-1 language code (e.g. 'sv' for Swedish) optionally combined with an ISO-3166-2 Country code (e.g. 'en_US' for US English). If not provided, the language of the user will be used. |
Available activites, localized in English
{- "activity": [
- {
- "id": "available",
- "name": "Available",
- "available": true,
- "default": true,
- "stateName": "Available"
}, - {
- "id": "lunch",
- "name": "Lunch",
- "available": false,
- "default": false,
- "stateName": "Lunch"
}, - {
- "id": "meeting",
- "name": "Meeting",
- "available": false,
- "default": false,
- "stateName": "Meeting"
}
]
}
Read an aggregated document with all configuration settings.
domain
required
|
string
The domain of the user accessing the API |
user
required
|
string
The username of the user accessing the API |
language |
string
The language to use for localization. Stated as a ISO 639-1 language code (e.g. 'sv' for Swedish) optionally combined with an ISO-3166-2 Country code (e.g. 'en_US' for US English). If not provided, the language of the user will be used. |
{- "activities": {
- "activity": [
- {
- "id": "available",
- "name": "Available",
- "available": true,
- "default": true,
- "stateName": "Available"
}, - {
- "id": "lunch",
- "name": "Lunch",
- "available": false,
- "default": false,
- "stateName": "Lunch"
}, - {
- "id": "meeting",
- "name": "Meeting",
- "available": false,
- "default": false,
- "stateName": "Meeting"
}
]
}, - "roles": {
- "role": [
- {
- "id": "business",
- "name": "Business",
- "stateName": "Business"
}, - {
- "id": "private",
- "name": "Private",
- "stateName": "Private"
}, - {
- "id": "1400593658949",
- "name": "Support",
- "stateName": "Support"
}
]
}, - "answerplaces": {
- "answerplace": [
- {
- "id": "mobile",
- "name": "Mobile"
}
]
}, - "topics-enabled": true,
- "sms-allowed": true,
- "fallbackToDefaultPresenceState": false,
- "defaultPresenceState": "Available",
- "callrouting-enabled": true,
- "fields": {
- "field": [
- {
- "id": "field7",
- "label": "Department",
- "currentValue": "Field7",
- "requestedValue": "Field7",
- "editable": true,
- "dateRequested": "2020-10-10T13:12:12Z"
}
]
}
}
Retrieve URL to the web client to access enduser portal and web softphone.
domain
required
|
string
The domain of the user accessing the API |
user
required
|
string
The username of the user accessing the API |
{
}
Produces an SSE stream of application configuration data in application/app-config-data format.
domain
required
|
string
The domain of the user accessing the API |
user
required
|
string
The username of the user accessing the API |
The User Device Information API is used to manage information about end user devices.
Use the
User Device Information API to:
Unregister an existing webhook registered for the user.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The ID of the user |
targetId
required
|
string
The unique id of the webhook that should be unregistered |
Retrieve detailed information about a certain user device. The returned document contains a list of attributes providing detailed information about the user's device.
domain
required
|
string
The domain of the organization the user belongs to |
userId
required
|
string
The user ID |
deviceId
required
|
string
The device ID |
[- {
- "name": "USER_AGENT",
- "value": "Telepo Softphone/Mac/5.x.x.xxxx"
}
]
Retrieve display icon name for a certain user device. If no icon has been configured for the device, the default icon of the type of the device is returned.
domain
required
|
string
The domain of the organization the user belongs to |
userId
required
|
string
The user ID |
deviceId
required
|
string
The device ID |
fallback |
boolean
If true, the default icon name will be returned if no name is configured |
"DESKPHONE_TYPE_2"
Set or Update the display icon name for a certain user device. The icon name must correspond to the type of the device.
domain
required
|
string
The domain of the organization the user belongs to |
userId
required
|
string
The user ID |
deviceId
required
|
string
The device ID |
name
required
|
string
Enum: "DEFAULT" "TYPE_1" "TYPE_2"
The display icon name of the device to be updated |
Retrieve a list with all the user's devices. The returned document contains a list with information on all the user's devices. If there are no devices, an empty document is returned.
domain
required
|
string
The domain of the organization the user belongs to |
userId
required
|
string
The user ID |
type |
string
Enum: "MOBILE" "TABLET" "SOFTPHONE" "DESKPHONE" "PBX" "DECT" "THIRD_PARTY" "WEB_SOFTPHONE" "TEAMS"
The type of devices to fetch. If not stated, all device types are retrieved. |
[- {
- "deviceId": "kf45ffr3dd3dtj7r",
- "deviceType": "SOFTPHONE",
- "deviceName": "My work laptop",
- "deviceIcon": "DEFAULT",
- "deviceTypeName": "Application for Desktop",
- "deviceStatus": "INACTIVE",
- "revocable": true,
- "hasAttributes": true
}, - {
- "deviceId": "dhhjhdsb008jnnh",
- "deviceType": "MOBILE",
- "deviceName": "My black iPhone XS",
- "deviceIcon": "TYPE_2",
- "deviceTypeName": "Mobile Application",
- "deviceStatus": "ACTIVE",
- "revocable": true,
- "hasAttributes": true
}
]
Retrieve display name of certain user device.
domain
required
|
string
The domain of the organization the user belongs to |
userId
required
|
string
The user ID |
deviceId
required
|
string
The device ID |
fallback |
boolean
If true, the default name will be returned if no name is configured |
"My work laptop"
Set or Update the display name of a certain user device.
domain
required
|
string
The domain of the organization the user belongs to |
userId
required
|
string
The user ID |
deviceId
required
|
string
The device ID |
name
required
|
string
The display name of the device to be updated (max 32 characters) |
Retrieve a compact list with all the user's active devices. The returned document contains all the user's devices that are not known to be currently unreachable. If there are no active devices, an empty document is returned.
domain
required
|
string
The domain of the organization the user belongs to |
userId
required
|
string
The user ID |
[- {
- "deviceId": "dhhjhdsb008jnnh",
- "deviceType": "MOBILE",
- "deviceName": "My black iPhone XS",
- "deviceIcon": "TYPE_2"
}
]
Register a webhook where notifications when there are any changes in the user's device set.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The ID of the user |
targetUrl
required
|
string
The webhook url |
targetId
required
|
string
A unique id of the webhook. |
publicTarget
required
|
boolean
Indicates if the target node hosting the webhook is deployed on the same network segment as the service nodes or if callbacks needs to go through the edge http proxy |
{- "targetId": "434356",
- "publicTarget": true
}
{- "expiresOn": 3600
}
{- "timeStamp": "2025-03-10 20:28:32.213",
- "changedField": "DEVICE_INFO"
}
Subscribe for update events when there are any changes in the users device set. Subscription data is in application/app-config-data format.
domain
required
|
string
The domain of the organization the user belongs to |
userId
required
|
string
The user id |
The User Information API provides functionality similar to the Contacts API, but is
designed
to provide information about the calling user. It can also be used to provide information
and
to manipulate other users' presence state if the calling user is authorized to do so.
The
UserInfo API also allows for changing a contact's picture.
Use the User Information API to:
Get the photo associated with a user.
domain
required
|
string
The domain of the user |
user
required
|
string
The user ID of the user |
prefWidth |
integer <int32>
The preferred width of the photo |
prefHeight |
integer <int32>
The preferred height of the photo |
Upload a photo to be associated with a user. Both PUT and POST methods are accepted for this
operation.
The photo shall be added in the HTTP body.
domain
required
|
string
The domain of the user |
user
required
|
string
The user ID of the user |
Get the presence state for the accessing user.
domain
required
|
string
The domain of the user accessing the API |
user
required
|
string
The user ID of the user accessing the API |
{- "futurePresenceAccess": "NONE",
- "activityAccess": "NONE",
- "roleAccess": "NONE",
- "noteAccess": "NONE",
- "note": "Planning our upgrade",
- "activity": {
- "id": "working",
- "expiration": "2020-09-21T11:05:00Z",
- "available": true
}, - "idle": false,
- "available": true,
- "capabilities": [
- "SMS"
]
}
Update the presence state of a user.
domain
required
|
string
The domain of the user to be updated |
user
required
|
string
The user ID of the user to be updated |
role |
string
The current role of the contact |
note |
string
The presence note |
object (Activity)
The presence activity of the contact |
Setting a new presence note
{- "note": "Presenting at the conference"
}
{- "futurePresenceAccess": "NONE",
- "activityAccess": "NONE",
- "roleAccess": "NONE",
- "noteAccess": "NONE",
- "note": "Discuss UX with Dan",
- "activity": {
- "id": "meeting",
- "expiration": "2010-10-11T05:30:00Z",
- "available": false
}, - "idle": true,
- "available": false
}
Get end-time of the user's current activity. Returns 'never' if no end-time is set.
domain
required
|
string
The domain of the user |
user
required
|
string
The user ID of the user |
2020-01-31T20:00:00Z
Get the availability state for the user. The operation returns "true" if the user is available, and "false" otherwise.
domain
required
|
string
The domain of the user |
user
required
|
string
The user ID of the user |
true
Set the activity of the user.
domain
required
|
string
The domain of the user |
user
required
|
string
The user ID of the user |
activity
required
|
string
The new activity ID |
available |
boolean
The new availability of the user |
available
Set a user's current activity's end-time.
domain
required
|
string
The domain of the user |
user
required
|
string
The user ID of the user |
expires
required
|
string
The activity end-time in ISO-8601 format, or 'never' if the activity should not have an expiry time |
2020-05-09T08:45:00Z
The User Line API allows to set or check the current caller ID that is used during the calls and
is displayed on the destination party as a number.
Use User Line API to:
Get the list of all available lines that user can use
domain
required
|
string
The organization domain |
user
required
|
string
The username of the user |
{- "line": [
- {
- "groupId": 0,
- "type": "OFFICE_FIXED",
- "number": "+123400",
- "name": "office fixed",
- "active": true
}
]
}
Get the current active caller ID for a user.
domain
required
|
string
The organization domain |
user
required
|
string
The username of the user |
{- "number": "+123400",
- "type": "SWITCHBOARD",
- "name": "swithboard",
- "groupId": 0
}
Update the current active caller ID for user.
domain
required
|
string
The organization domain |
user
required
|
string
The username of the user |
type
required
|
string
Enum: "ANONYMOUS" "ACD" "ACD_LIGHT" "ATTENDANT" "SWITCHBOARD" "OFFICE_FIXED" "PRIVATE_FIXED" "OFFICE_MOBILE" "PRIVATE_MOBILE"
The outbound number type |
groupId
required
|
integer <int64>
For PRIVATE_FIXED/OFFICED_FIXED/PRIVATE_MOBILE/OFFICE_MOBILE 0 indicate primary line and 1 indicate secondary line. For ACD/ACD_LIGHT/ATTENDANT this value indicates internal ID of the funtional number. |
{- "type": "OFFICE_FIXED",
- "groupId": 0
}
{- "field": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "warning": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "generated-id": "string"
}
The User Voicemail Settings API is a group of methods to manage Voicemail Settings at end user
level.
Use the Voicemail Settings API to:
Retrieve voicemail settings for a user.
domain
required
|
string
The domain of the organization |
userId
required
|
string
The user id of the user |
{- "playActivity": true,
- "playMergedUnavailableEndTime": false,
- "playHumanAssistance": true,
- "humanAssistanceNumber": "+4676767676",
- "smsNotification": false,
- "emailNotification": true,
- "fileAttached": false,
- "voicemailInboxFullSmsNotification": false,
- "voicemailInboxFullEmailNotification": true,
- "allowDownload": true,
- "allowVoicemail": true,
- "bypassVoicemail": false,
- "voicemailCallbackEnabled": false
}
Update voicemail settings for a user.
domain
required
|
string
The organization domain |
userId
required
|
string
The user id of the user |
playActivity |
boolean
Whether the greeting played when a caller reaches the voice mail service will include information about callee's current activity. |
playMergedUnavailableEndTime |
boolean
Whether the end time of the last consecutive activity present with unavailable status. |
playHumanAssistance |
boolean
Whether the human assistance option should be played out as part of the greeting. |
humanAssistanceNumber |
string
The number that the human assistance option redirects to, if the 'playHumanAssistance' value set to true. |
smsNotification |
boolean
Whether SMS should be used for new voicemail messages notifications. |
emailNotification |
boolean
Whether email should be used for new voicemail messages notifications. |
fileAttached |
boolean
Whether the voicemail is to be attached to the email notifications. |
voicemailInboxFullSmsNotification |
boolean
Whether SMS notifications should be used when the voicemail inbox approaches it's maximum capacity. |
voicemailInboxFullEmailNotification |
boolean
Whether email notifications should be used when the voicemail inbox approaches it's maximum capacity. |
allowDownload |
boolean
Whether the users are allowed to download vociemails to their mobile from the inbox page of the mobile app. |
allowVoicemail |
boolean
Whether the callers are allowed to deposit voicemail messages. |
bypassVoicemail |
boolean
Whether bypass voicemail as part of the greeting. |
voicemailCallbackEnabled |
boolean
Whether the user will get the option to call back to the number that left the voicemail message. |
{- "playActivity": true,
- "playMergedUnavailableEndTime": false,
- "playHumanAssistance": true,
- "humanAssistanceNumber": "+4676767676",
- "smsNotification": false,
- "emailNotification": true,
- "fileAttached": false,
- "voicemailInboxFullSmsNotification": false,
- "voicemailInboxFullEmailNotification": true,
- "allowDownload": true,
- "allowVoicemail": true,
- "bypassVoicemail": false,
- "voicemailCallbackEnabled": false
}
The User Tickets API is used to manage API tickets for a user
Use the User Tickets API to:
There are two authentication approaches for this method. One approach is to use Password based
ticket and the other one is to use Superuser Ticket.
For details on how to calculate the ticket
string for the password based ticket, please see Using the API within the API reference.
domain
required
|
string
The domain of the user to create an API ticket for |
user
required
|
string
The username of the user to create an API ticket for |
api
required
|
Array of strings
One or more valid external APIs (e.g. ?api=CALLS&api=USER). |
platform
required
|
string
Specifies which client that is making the request. The license validation is matched against the client value. It can have one of the following values: android, iphone, other |
ver |
string
The version of the platform. Not required when the value of the platform is other |
number |
string
The mobile number of the device that sends the request (applicable for platforms iphone and android). If stated, the number must be a mobile number of the user. |
name |
string
A user defined name of the ticket, max 64 characters |
expires |
integer <int32>
Expiration time of the ticket in seconds |
deviceDisplayName |
string
A user defined name of the device |
PASSWORD_BASED_TICKET
{- "expires": "2023-11-10T14:38:39.482+00:00",
- "name": "ALL_CALLS",
- "token": "2343.ZSDjndiJSDjksHj",
- "allowedApis": [
- "CALLS"
]
}
If the ticket is deleted or revoked, it returns API ticket deleted successfully. The method is accessible through Password based ticket and Superuser Ticket.
domain
required
|
string
The domain of the user of the API ticket to delete |
user
required
|
string
The username of the user of the API ticket to delete |
ticketName
required
|
string
The user defined name of the ticket to delete |
The SMS API provides possibility to send SMS via the system. An end-user must have a valid ticket for the API and be authorized to send SMS to use this API.
An end-user with authorized ticket could send SMS to recipient.
to
required
|
string
The the number to send to. This number will be expanded according to the sending user's number plan. For example, if the user's organization has a number plan conversion of 08 -> +468, the user can send to 0890510 and the SMS will be routed to +46890510. |
smsText
required
|
string
The SMS text |
{ "smsText": "Everythingâs going to be amazing" }
{- "field": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "warning": [
- {
- "fieldName": "user",
- "code": "user.does.not.exist",
- "description": "string",
- "name": "[email protected]"
}
], - "generated-id": "string"
}