Document Metadata
Format: PDF
Title: Cisco Unity Connection Provisioning Interface (CUPI) API
Author: Unknown
Creator: DITA Open Toolkit
Page 1
Cisco Unity Connection Provisioning Interface (CUPI) API
First Published: 2019-11-20
Last Modified: 2022-06-20
Americas Headquarters
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706
USA
http://www.cisco.com
Tel: 408 526-4000
800 553-NETS (6387)
Fax: 408 527-0883


Page 2
© 2019 Cisco Systems, Inc. All rights reserved.
Page 3
C O N T E N T S
API Overview
1
C H A P T E R 1
API Overview
1
Introduction
1
Benefits
1
Technical Details
2
Getting Started
2
Other CUPI Resources
3
Troubleshooting
3
Cisco Unity Connection Provisioning Interface (CUPI) API -- Getting the Object Schema Details
5
C H A P T E R 2
Getting the Schema Details
5
Cisco Unity Connection Provisioning Interface (CUPI) API -- About Versioning
7
C H A P T E R 3
About Versioning
7
Getting Unity Connection Version
7
Cisco Unity Connection Provisioning Interface (CUPI) API -- Authentication and Authorization
9
C H A P T E R 4
About CUPI Authentication and Authorization
9
Cisco Unity Connection Provisioning Interface (CUPI) API -- Error Handling
11
C H A P T E R 5
Possible Errors
11
Cisco Unity Connection Provisioning Interface (CUPI) API -- Examples of Basic Operations
13
C H A P T E R 6
Reading a User's Information
13
Creating a User
13
Modifying a User
13
Cisco Unity Connection Provisioning Interface (CUPI) API
iii

Page 4
Deleting a User
14
Searching for a User
14
Reset the MWI for a User
14
Cisco Unity Connection Provisioning Interface (CUPI) API -- Getting the Object Count Without Getting
the Objects
15
C H A P T E R 7
Getting the Object Count Without Getting the Objects
15
Examples
15
Cisco Unity Connection Provisioning Interface (CUPI) API -- Searching and Sorting
17
C H A P T E R 8
Searching
17
Sorting
17
Constraints on the Allowed Values in Search Queries and Sorts
18
Cisco Unity Connection Provisioning Interface (CUPI) API -- Voice Names
19
C H A P T E R 9
About Voice Names
19
Listing and Viewing
19
Voice Name GET for Connection 8.5 and Later
19
Voice Name GET for Connection 7.x and 8.0.x
20
Setting Voice Names
20
Cisco Unity Connection Provisioning Interface (CUPI) API -- Subscriber Dependency
21
C H A P T E R 1 0
Subscriber Dependency API
21
Listing Dependencies of All Users
21
Finding Dependencies
23
Moving Dependencies of One User to Another
24
Explanation of Data Fields
25
Possible Value of Dependency Type
25
Possible Values of DependentEntityObjectType
27
Possible Values of DependencyDestinationType
27
Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Extension
29
C H A P T E R 1 1
Alternate Extensions API
29
Listing the Basic Settings of Alternate Extension
29
Cisco Unity Connection Provisioning Interface (CUPI) API
iv
Contents
Page 5
Listing the Advanced Settings of Alternate Extension
30
Create a new Alternate Extension
31
Update Basic Settings of Alternate Extension
32
Delete Alternate Extension
32
Explanation of Data Fields
33
Explanation of Data Fields: Advance Settings
33
Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Names API
39
C H A P T E R 1 2
Alternate Names API
39
Listing the Alternate Names
39
Create a new Alternate Name
40
Update Alternate Names
41
Delete Alternate Names
41
Reference
41
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Caller Input
43
C H A P T E R 1 3
Caller Inputs API
43
Listing Caller Inputs
43
Updating Caller Input Parameters
44
Updating Caller Input Keys
44
Explanation of Data Fields
48
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Greetings
51
C H A P T E R 1 4
Greetings API
51
Updating Fields of Greeting
52
Explanation of Data Fields
53
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Mailbox API
57
C H A P T E R 1 5
Mailbox API
57
Listing the Mailbox Details of a User
57
Updating Mailbox Quota
58
Explanation of Data Fields
59
Cisco Unity Connection Provisioning Interface (CUPI) API
v
Contents
Page 6
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Actions API
63
C H A P T E R 1 6
Message Actions API
63
Listing Message Actions
63
Update Message Actions
64
Explanation of Data Fields
65
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Settings API
67
C H A P T E R 1 7
Message Settings API
67
Listing Message Settings
68
Updating Message Settings
70
Updating after Message Actions
70
Explanation of Data Fields
73
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Waiting Indicators
77
C H A P T E R 1 8
Message Waiting Indicator (MWI) Settings API
77
Listing All MWIs
77
Listing Details of a Specific MWI
78
Create a New MWI
79
Update a MWI
79
Delete a MWI
80
Explanation of Data Fields
80
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API
83
C H A P T E R 1 9
User Notification Devices API
83
Pager
83
Listing Pager Device
84
Create Pager Device
85
Phone Devices
86
Listing Phone Device
86
Create Phone Device
87
Update Phone Device
87
Delete Phone Device
88
SMTP Device
88
Cisco Unity Connection Provisioning Interface (CUPI) API
vi
Contents
Page 7
Listing SMTP Device
88
Update SMTP Device
89
About HTML Notification Devices (in Cisco Unity Connection 9.0(1) and Later)
90
Listing HTML Notification Devices
90
Listing an HTML Notification Device for Users
90
Modifying an HTML Notification Device for Users
91
Modifying an HTML Notification Device to Apply HTML Notification Template
91
Configuring an HTML-Based Notification Template with an HTML Notification Device
91
Configuring Schedule Notification
92
Explanation of Data Fields
94
Enum Type
96
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Phone Menu API
97
C H A P T E R 2 0
Phone Menu API
97
Listing Phone Menu Fields
97
Updating Phone menu fields
100
Updating Conversation fields
101
Explanation of Data Fields
104
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Playback Message Settings
107
C H A P T E R 2 1
Playback Message Settings API
107
Edit Parameters
107
Explanation of Data Fields
109
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Post Greeting Recording
117
C H A P T E R 2 2
Post Greeting Recording Settings API
117
Update Post Greeting Recording Settings
117
Explanation of Data Fields
118
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Private List API
119
C H A P T E R 2 3
Private List API
119
Listing All the Private Lists
119
Listing a Particular Private List
120
Create a Private list
121
Cisco Unity Connection Provisioning Interface (CUPI) API
vii
Contents
Page 8
Update Private List
121
Delete Private List
122
Explanation of Data Fields
122
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Send Message Settings
125
C H A P T E R 2 4
Send Message Settings API
125
Listing the Send Message Settings
125
Update Send Message Settings
126
Explanation of Data Fields
127
Cisco Unity Connection Provisioning Interface (CUPI) API -- User SMTP Proxy Address
129
C H A P T E R 2 5
SMTP Proxy Address API
129
Listing the SMTP proxy Address
129
Create an SMTP Proxy Address
130
Update SMTP proxy Address
131
Delete SMTP Proxy Address
131
Explanation of Data Fields
132
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Transfer Rules
133
C H A P T E R 2 6
Transfer Rule API
133
Listing All Transfer Rules
133
Viewing the Alternate Transfer Rule
135
Updating Transfer Option
136
Explanation of Data Fields
137
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
141
C H A P T E R 2 7
User API
141
Listing the Users
141
Listing Users based on Email Address
146
Listing Specific Tenant Related Users by System Administrator
150
Viewing the Details of a Specific User
150
Creating a User
157
Updating a User
158
Update Language and TimeZone:
159
Cisco Unity Connection Provisioning Interface (CUPI) API
viii
Contents
Page 9
Delete a User
159
Explanation of Data Fields:
160
Admin User API
165
Listing Admin Users without Mailbox
165
Viewing Details of Admin User without Mailbox
169
Creating Admin User without Mailbox
171
Updating Admin User without Mailbox
172
Deleting Admin User without Mailbox
173
Explanation of Data Fields
173
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Password PIN Settings
177
C H A P T E R 2 8
User Password and PIN Settings API
177
Listing User PIN Settings
177
Listing User Password Settings
178
Update Password/PIN Settings
179
Unlock Password/PIN Settings
179
To Unlock Password
180
Change Password/PIN
180
Explanation of Data Fields
181
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Roles
185
C H A P T E R 2 9
User Roles API
185
Listing User Roles
185
Adding Roles
186
Delete Role of User
187
Explanation of Data Fields
187
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
189
C H A P T E R 3 0
Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Names
189
About Alternate Names
189
Listing and Viewing
189
Searching
191
Creating
191
Updating
191
Cisco Unity Connection Provisioning Interface (CUPI) API
ix
Contents
Page 10
Deleting
192
Cisco Unity Connection Provisioning Interface (CUPI) API -- Changing Passwords and Password
Settings
192
Changing a User's PIN
192
Changing a User's Password
192
Setting the User Cannot Change Password Flag
192
Cisco Unity Connection Provisioning Interface (CUPI) API -- Changing Primary and Alternate
Extensions
193
About Changing Primary and Alternate Extensions
193
Viewing the Primary Extension
193
Updating the Primary Extension
193
Creating a New Alternate Extension
194
Updating an Existing Alternate Extension
194
Explaining the IdIndex Field
194
Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS)
195
About Classes of Service (COSes)
195
Listing and Viewing
195
Searching
197
Creating
197
Updating
197
Deleting
197
Cisco Unity Connection Provisioning Interface (CUPI) API -- Enabling Single Inbox Example
198
Enabling Single Inbox for a User
198
Update Class of Service
198
Create or Update Unified Messaging Service
198
Create or Update Unified Messaging Accounts
198
Cisco Unity Connection Provisioning Interface (CUPI) API -- Notification Devices
199
About Notification Devices
199
Listing and Viewing
199
Listing and Viewing Notification Devices
200
Listing and Viewing Specialized Devices
204
Listing of HTML Notification Device for a User (in Cisco Unity Connection 9.0(1) and Later)
206
Listing Properties of an HTML Notification Device (in Cisco Unity Connection 9.0(1) and
Later)
207
Searching
208
Cisco Unity Connection Provisioning Interface (CUPI) API
x
Contents
Page 11
Creating
208
Updating
208
Updating an Existing Phone Device
208
Updating an HTML Notification Device to Apply the HTML Notification Template (in Cisco
Unity Connection 9.0(1) and Later)
209
Deleting
209
Explanation of Data Fields
209
Cisco Unity Connection Provisioning Interface (CUPI) API -- Private List Members
212
Viewing
212
Creating
214
Deleting
214
Cisco Unity Connection Provisioning Interface (CUPI) API -- Private Lists
215
Viewing
215
Creating
215
Updating
216
Deleting
216
Voice Names
216
Cisco Unity Connection Provisioning Interface (CUPI) API -- SMTP Proxy Addresses
217
About SMTP Proxy Addresses
217
Listing and Viewing
217
Searching
218
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Import
219
LDAP Import
219
Initial Configuration
219
GET a List of Users That Can Be Imported
219
Offset and Limit Parameters Can Be Part of the ldap Query
219
Filter and Sort
219
Import a User
220
License Users Entitlement
221
C H A P T E R 3 1
Cisco Unity Connection Provisioning Interface (CUPI) API -- License User Entitlement
221
License User Entitlement APIs
221
Listing the Users with Their Licensing Details Who Belongs to a Particular Tenant
221
List Users by Performing an Query
222
Cisco Unity Connection Provisioning Interface (CUPI) API
xi
Contents
Page 12
Explanation of Data Fields
223
Cisco Unity Connection Provisioning Interface (CUPI) API -- Bulk User License
223
Bulk User License APIs
223
Listing the Users with Their License Details
224
Listing Users with License Details Using Pagination
225
List the Number of Users Using Licenses
225
Listing Users Using Same Type of Licenses
226
Listing License Details of a Particular User
227
Explanation of Data Fields
228
Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs
229
C H A P T E R 3 2
Classes of Service
229
Listing the Class of Services
230
Viewing the Specific Class of Services
231
Creating a Class of Services
233
Updating the Class of Services
234
Deleting the Class of Services
235
Explanation of Data Fields
236
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
247
C H A P T E R 3 3
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Caller Inputs
247
User Template Caller Inputs
247
Updating Caller Input Parameters
248
Updating Caller Input Keys
248
Explanation of Data Fields
251
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Greetings API
252
User Template Greetings APIs
252
Updating Fields of Greeting
253
Changing after Greeting Actions
255
Changing Caller Option
258
Creating Greeting
259
Save Video Greetings
259
Explanation of Data Fields
260
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Mailbox
263
Cisco Unity Connection Provisioning Interface (CUPI) API
xii
Contents
Page 13
Updating Mailbox Quota
263
Updating Mailbox Store
264
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Message Settings
264
User Template Message Settings
264
Updating Message Settings
265
Updating after Message Actions
265
Explanation of Data Fields
268
Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Action Template
272
Message Action Template
272
Updating Message Action
272
Explanation of Data Fields
273
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Notification Devices
274
User Template Notification Devices
274
Pager
275
Explanation of Fields: Pager
276
Phone Devices
278
HTML Devices
279
Explanation of Fields: HTML Device
279
SMTP Devices
280
Explanation of fields: SMTP Devices
280
Creating a new Notification device
282
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Phone Menu
282
User Template Phone Menu
282
Updating Phone menu fields
282
Updating Conversation fields
283
Explanation of Data Fields
285
Cisco Unity Connection Provisioning Interface (CUPI) API -- Playback Message Settings
286
Playback Message Settings
286
Edit Parameters
287
Explanation of Data Fields
287
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Post Greeting
Recordings
289
User Template Post Greeting Recordings
289
Update Post Greeting Recording Settings
289
Cisco Unity Connection Provisioning Interface (CUPI) API
xiii
Contents
Page 14
Explanation of Data Fields
290
Cisco Unity Connection Provisioning Interface (CUPI) API -- Send Message Settings
290
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Transfer Rules
290
Transfer Rules API
290
Viewing the Alternate Transfer Rule
291
Updating Transfer Option
294
Explanation of Data Fields
295
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template
297
User Templates API
297
Listing the User Templates
297
Viewing the Details of Specific User Template
304
Viewing the Details of the User Templates Based on Partition Object ID
311
Creating a User Template
317
Creating a User Template with Specific Partition Object ID
318
Updating Fields of User Templates
319
Update Country Code of the User Template
319
Update Language of User Template
320
Delete the User Template
321
Updating Password Settings and Changing Passwords
321
Adding or Deleting Roles
323
Explanation of Data Fields
326
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
345
C H A P T E R 3 4
Cisco Unity Connection Provisioning Interface (CUPI) API -- Basic User Template Information
345
About User Templates
345
Listing and Viewing User Templates
346
Generic Examples to List User Templates
346
Adding User Template
362
Modifying a User Template
363
Deleting User Templates
364
Cisco Unity Connection Provisioning Interface (CUPI) API -- Default User Template
364
About Default Templates
364
Listing Default Templates
364
Modifying Default Templates
367
Cisco Unity Connection Provisioning Interface (CUPI) API
xiv
Contents
Page 15
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template VoiceMail PIN
368
Changing User Template Voicemail PIN
368
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Transfer Options
368
About Transfer Options
368
Listing and Viewing
368
Creating
370
Updating
370
Deleting
370
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Caller Input
371
About Caller Input
371
Listing and Viewing Caller Input
371
Modifying a Caller Input
374
Explanation of Data Fields
375
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Greetings
376
Listing and Viewing
376
Creating Greetings
379
Modifying Greetings
379
Deleting Greetings
380
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Settings Notification
Devices
380
About Notification Devices
380
Listing and Viewing Notification Devices
380
Adding a New Notification Device
386
Adding Pager Notification Device
387
Adding Phone Notification Device
387
Adding HTML Notification Device
387
Adding SMTP Notification Device
388
Modifying Notification Device
388
Deleting a New Notification Device
388
Explanation of Data Fields
389
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Settings Video Service
Account
389
Listing the User Template Video Service Account
389
Creating the User Template Video Service Account
390
Cisco Unity Connection Provisioning Interface (CUPI) API
xv
Contents
Page 16
Updating the User Template Video Service Account
391
Deleting the User Template Video Service Account
392
Explanation of Data Fields
392
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
393
C H A P T E R 3 5
Cisco Unity Connection Provisioning Interface (CUPI) API -- Caller Input APIs
393
Caller Inputs API
393
Listing the Caller Inputs
393
Viewing the Details of Specific Caller Input
395
Updating a Caller Input
396
Explanation of Data Fields
397
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Template APIs
398
Call Handler Templates APIs
398
Listing the Call Handler Templates
398
Listing Specific Tenant Related Call Handler Templates by System Administrator
401
Viewing the Details of Specific Call Handler Template
402
Creating a New Call Handler Template
404
Delete the Call Handler Template
405
Assigning a Schedule to a Call Handler Template
406
Updating Partition of the Call Handler Template
406
Updating Language Option of the Call Handler Template
407
Updating Timezone of a Call Handler Template
409
Explanation of Data Fields
409
Cisco Unity Connection Provisioning Interface (CUPI) API -- Enumeration Types
414
Enumeration Type
414
Call Actions
414
Play Post Greeting Recording
415
Play After Message Recording
415
Send Private Message
415
Send Urgent Message
415
Play What
416
Transfer Rule Action
416
Call Handler RNA Action
416
Call Handler Hold Mode
416
Cisco Unity Connection Provisioning Interface (CUPI) API
xvi
Contents
Page 17
Transfer Type
417
AfterMessageTargetConversation/ AfterGreetingTargetConversation/ TargetConversation
417
Greeting Type
418
Cisco Unity Connection Provisioning Interface (CUPI) API -- Greetings APIs
418
Greetings API
418
Listing the Greetings
419
Viewing the Details of Specific Greeting
421
Updating a Greeting
422
Explanation of Data Fields
423
Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Settings APIs
426
Message Settings APIs
426
Updating a Message Setting
426
Cisco Unity Connection Provisioning Interface (CUPI) API -- Post Greeting Recordings APIs
427
Post Greeting Recordings APIs
427
Updating a Post Greeting Recordings
427
Cisco Unity Connection Provisioning Interface (CUPI) API -- Transfer Rule APIs
428
TransferRulesAPIs
428
Listing the Transfer Rules
428
Viewing the Details of Specific Transfer Rule
431
Updating a Transfer Rule
432
Explanation of Data Fields
433
Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List
439
C H A P T E R 3 6
Cisco Unity Connection Provisioning Interface (CUPI) API -- Distribution List APIs
439
Distribution List APIs
439
Listing the Distribution Lists
439
Viewing the Specific Distribution List
442
Getting the Distribution List Based on an Query
443
Creating a Distribution List
446
Delete the Distribution List
446
Updating the Distribution List
447
Updating the Distribution List for Tenant
448
Updating the Alternate Names of Distribution Lists
449
Explanation of the Data Fields for Distribution List
451
Cisco Unity Connection Provisioning Interface (CUPI) API
xvii
Contents
Page 18
Explanation of the Data Fields for Alternate Names of Distribution List
453
Cisco Unity Connection Provisioning Interface (CUPI) API -- Distribution List Members APIs
453
Distribution List Members APIs
453
Listing the Distribution List Members
454
Creating a Distribution List Member
455
Delete a Member from the Distribution List
456
Explanation of the Data Fields for Distribution List Member
457
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
459
C H A P T E R 3 7
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler APIs
459
Call Handler APIs
459
Listing the Call Handlers
460
Listing Specific Tenant Related Call Handlers by System Administrator
465
Viewing the Specific Call Handler
466
Creating a Call Handler
469
Delete the Call Handler
470
Assigning a Schedule Set to a Call Handler
471
Specify Message Recipient for a Call Handler
471
Caller Input Keys
472
Updating Caller Input Keys
472
Update the Language of Call Handler
472
Updating Time Zone of Call Handler
472
Explanation of Data Fields
473
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Owner APIs
479
Add a Call Handler Owner
479
View the Call Handler Owners
480
View the Details of Specific Call Handler Owner
482
Delete a Call Handler Owner
483
Explanation of Data Fields
484
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Enumeration Types
484
Call Action
484
Play After Message Recording
485
AfterMessageTargetConversation
485
Greeting Type
485
Cisco Unity Connection Provisioning Interface (CUPI) API
xviii
Contents
Page 19
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Greetings APIs
486
Call Handler Greetings APIs
486
Listing the Greetings
486
Viewing the Details of Specific Greeting
488
Updating a Greeting
489
Using the CUTI to record greetings via the Phone
490
Enabling or disabling the Greeting
490
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Greetings APIs
490
Disabling the Greeting
490
Save Video Greetings
491
Explanation of Data Fields
492
Cisco Unity Connection Provisioning Interface (CUPI) API -- TransferRulesAPIs
495
Listing the Transfer Rules
495
Update a Transfer Rule
498
Explanation of Data Fields
499
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings
505
C H A P T E R 3 8
Cisco Unity Connection Provisioning Interface (CUPI) API -- Assigning a Schedule to a Call
Handler
505
Introduction
505
Creating a Schedule
505
Associating a ScheduleSet with a Call Handler
505
Retrieving the List of Call Handlers
505
Selecting the Call Handler
508
Modifying the Call Handler
508
Finding Which Schedule Is Assigned to a Call Handler
508
Cisco Unity Connection Provisioning Interface (CUPI) API -- Caller Input Keys
509
About Caller Input Keys
509
Ignore
509
Hang Up
509
Restart Greeting
509
Route from Next Call Routing Rule
510
Skip Greeting
510
Take a Message
510
Cisco Unity Connection Provisioning Interface (CUPI) API
xix
Contents
Page 20
Transfer to an Alternate Contact Number
510
Transfer to a User or a Call Handler
511
Transfer to an Interview Handler
511
Transfer to a Directory Handler
511
Transfer to the Broadcast Message Administrator Conversation
512
Transfer to the Caller System Transfer Conversation
512
Transfer to the Greetings Administrator Conversation
512
Transfer to the Sign-In Conversation
512
Transfer to the User System Transfer Conversation
513
Cisco Unity Connection Provisioning Interface (CUPI) API -- Greetings
513
About Greetings
513
Listing and Viewing
513
Greeting Audio GET for 8.5 and Later
513
Voice Name GET for 7.x and 8.0.x
514
Setting Greetings
514
Setting a Greeting in 8.5 and Later
514
Setting a Greeting in 7.x and 8.0.x
514
Cisco Unity Connection Provisioning Interface (CUPI) API -- Updating Caller Input Keys
515
Introduction
515
Examples
515
Ignore
515
Hang Up
515
Restart Greeting
516
Route from Next Call Routing Rule
516
Skip Greeting
516
Take a Message
516
Alternate Contact Number (ACN)
516
Transfer to a User or a Call Handler
517
Go to an Interview Handler
517
Go to a Directory Handler
517
Go to the Broadcast Message Administrator Conversation
518
Go to the User System Transfer Conversation
518
Go to the Greetings Administrator Conversation
518
Go to the Sign-In Conversation
518
Cisco Unity Connection Provisioning Interface (CUPI) API
xx
Contents
Page 21
Go to the User System Transfer Conversation
518
Cisco Unity Connection Provisioning Interface (CUPI) API -- Custom Recordings
519
About Custom Recordings
519
Listing Custom Recording
519
Listing Languages for a Custom Recording
520
Modifying Custom Recording
521
Deleting Custom Recording
521
Explanation of Data Fields
522
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
523
C H A P T E R 3 9
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
523
Directory Handler APIs
523
Listing the Directory Handlers
523
Viewing the Specific Directory Handler
527
Creating a Directory Handler
531
Delete the Directory Handler
531
Updating the Search Scope of the Directory Handler
532
Updating the Exit Action on a directory handler
535
Setting Voice Enable to true for a Directory Handler
538
Updating the Language of Directory Handler
539
Explanation of Data Fields
540
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler Greeting APIs
545
Directory Handler Greeting APIs
545
Enable Use of Custom Recordings on a Directory Handler
545
Listing Directory Handler Greeting
546
Viewing Custom Recording for a Particular Language
547
Playing an Existing Greeting
547
Add or Update Greeting by Uploading File from the Desktop
547
Add/Update Greeting Recording Used in Telephony Interface
549
Explanation of Data Fields
550
Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs
551
C H A P T E R 4 0
Cisco Unity Connection Provisioning Interface (CUPI) API -- Interview Handler APIs
551
Interview Handler APIs
551
Cisco Unity Connection Provisioning Interface (CUPI) API
xxi
Contents
Page 22
Listing the Interview Handlers
551
Viewing the Details of Specific Interview Handler
553
Delete the Interview Handler
556
Updating the Interview Handler
556
Explanation of Data Fields
558
Cisco Unity Connection Provisioning Interface (CUPI) API -- Interview Handler Questions APIs
561
Interview Handler Questions APIs
561
Listing the Interview Handler Questions
561
Viewing the Specific Interview Handler Question
562
Updating the Interview Handler Questions
563
Explanation of Data Fields
564
Update the Interview question using the Input Stream
564
Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing
565
C H A P T E R 4 1
Cisco Unity Connection Provisioning Interface (CUPI) API-- Routing Rules
565
About Routing Rules and Routing Rule Conditions
565
Routing Rules
566
Listing and Viewing
566
Searching
569
Creating
569
Updating
570
Deleting
570
Changing Routing Rule Indices
571
Routing Rule Conditions
572
Listing and Viewing
572
Creating
573
Updating
573
Deleting
574
Routing Rule Examples
574
Transfer to a User or a Call Handler
574
Go to a User or Call Handler's Greeting
574
Go to an Interview Handler
575
Go to a Directory Handler
575
Go to a Specific Conversation
575
Cisco Unity Connection Provisioning Interface (CUPI) API
xxii
Contents
Page 23
Routing Rule Condition Examples
575
Condition Based on a Phone Number
576
Condition Based on a Port
576
Condition Based on a Phone System
576
Condition Based on a Schedule Set
576
Enumeration Type
577
Routing Rule RouteAction
577
Routing Rule RouteTargetHandlerObjectType
577
Routing Rule State
577
Routing Rule Type
578
Routing Rule Condition Operator
578
Routing Rule Condition Parameter
578
Routing Rule RouteTargetConversation
578
Cisco Unity Connection Provisioning Interface (CUPI) API -- Routing Rule Conditions
580
Routing Rule Condition API
580
Listing the Routing Rule Conditions
580
Creating a Routing Rule Condition
581
Updating a Routing Rule Condition
581
Deleting a Routing Rule Condition
581
Explanation of Data Fields
582
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
585
C H A P T E R 4 2
Cisco Unity Connection Provisioning Interface (CUPI) API -- Mailbox Store API
585
Mailbox Stores Configuration
585
Listing the Mailbox Stores
585
Viewing the Specific Mailbox Stores
587
Viewing the Number of Mailboxes in a Mailbox Store
588
Creating the Mailbox Store
588
Updating the Mailbox Stores
589
Deleting the Mailbox Store
589
Explanation of Data Fields
590
Cisco Unity Connection Provisioning Interface (CUPI) API -- Mailbox Quota alert
592
Mailbox Quota Alert
592
GET : https:// <connection-server>/vmrest/mailboxquotatexts
593
Cisco Unity Connection Provisioning Interface (CUPI) API
xxiii
Contents
Page 24
GET :https:// <connection-server>/vmrest/mailboxquotatexts/<mailboxQuotaTextObjectId>
593
PUT : https:// <connection-server>/vmrest/mailboxquotatexts/<mailboxQuotaTextObjectId>
594
Explanation of Data Fields
594
Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Aging Policy
595
Message Aging Policy
595
Listing the Message Aging Policies
596
Viewing the Specific Message Aging Policy
597
Creating a Message Aging Policy
598
Updating a Message Aging Policy Parameters
599
Deleting a Message Aging Policy
599
Explanation of Data Fields
600
Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Aging Rules
600
Message Aging Rules
600
Listing the Message Aging Rules
600
Viewing the Specific Message Aging Rule
602
Updating a Message Aging Rule
603
Explanation of Data Fields
604
Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Aging Text
606
Message Aging Text
606
Listing the Message Aging Texts
606
Viewing the Specific Message Aging Text
607
Updating a Message Aging Text
608
Explanation of Data Fields
610
Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Expiration
610
Message Expiration
610
Fetching Message Expiration field value
610
Enabling and Updating Message Expiration field value
611
Explanation of Data Fields
612
Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging
613
C H A P T E R 4 3
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Unified Messaging Account
613
Create a Unified Messaging Account
613
Updating the Unified Messaging Account
614
Explanation of Data Fields
615
Cisco Unity Connection Provisioning Interface (CUPI) API
xxiv
Contents
Page 25
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Unified Messaging
Account
615
Unified Messaging Account API
615
Updating the Unified Messaging Account
615
Explanation of Data Fields
616
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template External Services
616
About External Services
616
Listing External Services
617
Listing Specific Tenant Related User Template External Services by System Administrator
619
Adding Unified Messaging Service
619
Adding Exchange/BPOS-D External Service
620
Adding Meeting Place External Service
620
Adding Office 365 External Service
621
Modifying Unified Messaging Service
622
Deleting Unified Messaging Service
623
Explanation of Data Fields
623
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template External Service Accounts
625
About External Service Accounts
625
Listing External Service Accounts
625
Adding New External Service Account
626
Modifying External Service Account
627
Deleting External Service Account
627
Explanation of Data Fields
627
Cisco Unity Connection Provisioning Interface (CUPI) API -- End User Unified Messaging
Accounts
628
Unified Messaging Account API
628
Updating the Unified Messaging Account
628
Explanation of Data Fields
629
Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan
631
C H A P T E R 4 4
Cisco Unity Connection Provisioning Interface (CUPI) API -- Partition API
631
Partition API
631
Listing the Partitions
632
Cisco Unity Connection Provisioning Interface (CUPI) API
xxv
Contents
Page 26
Viewing a Specific Partition
633
Creating a Partition
634
Updating a Partition
634
Deleting a Partition
635
Deleting a Partition Included in Search Scope
635
Explanation of Data Fields
636
Cisco Unity Connection Provisioning Interface (CUPI) API -- Search Space API
636
Search Space API
636
Listing the Search Spaces
636
Viewing the Specific Search Space Details
637
Creating a Search Space
638
Creating a Search Space
639
Adding a Member in a Search Space
639
List all the Search Space Members Associated with a Specific Search Space
640
Deleting the Search Space
642
Deleting the Search Space Members
642
Explanation of Data Fields
643
Cisco Unity Connection Provisioning Interface (CUPI) API -- Search Space Member API
644
Search Space API
644
Listing the Search Spaces Members Based on Partition Object ID
644
Explanation of Data Fields
646
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
647
C H A P T E R 4 5
Cisco Unity Connection Provisioning Interface (CUPI) API -- General Configuration
647
Default Unity Connection Sender Name
647
Viewing the sender name for System Generated Notifications
648
Updating the Sender Name for System Generated Notification
648
Ciphers
649
Viewing the Selected Option of TLS, SRTP, and HTTPS Cipher values
649
Updating the Values For TLS, SRTP, HTTPS Ciphers and TLS Version
650
Corresponding Enum values for TLS, SRTP and HTTPS Ciphers
651
Cisco Unity Connection Provisioning Interface (CUPI) API -- Cluster
651
About Clusters
651
Listing Cisco Unity Connection Cluster locations
651
Cisco Unity Connection Provisioning Interface (CUPI) API
xxvi
Contents
Page 27
Viewing a specific location in Cisco Unity Connection Cluster
653
Explanation of Data Fields
654
Cisco Unity Connection Provisioning Interface (CUPI) API -- Configuration Values
656
About Configuration Values
656
Listing and Viewing
656
Updating
657
HTTP Examples
657
GET Examples
657
PUT Examples
660
Cisco Unity Connection Provisioning Interface (CUPI) API -- Authentication Rules
661
About Authentication Rules
661
Listing Authentication Rules
661
Adding a new Authentication Rule
664
Modifying Authentication Rules
665
Deleting Authentication Rules
665
Explanation of Data Fields
666
Cisco Unity Connection Provisioning Interface (CUPI) API -- Roles
666
Roles
666
Listing Privileges
667
Listing Roles
667
Listing System Roles
668
Listing Custom Roles
669
Creating a New Custom Role
670
Modifying Custom Role
671
Listing Privileges for Roles
671
Deleting a Custom Role
672
Explanation of Data Fields
672
Cisco Unity Connection Provisioning Interface (CUPI) API -- Restriction Patterns
673
Restriction Patterns
673
Listing the Restriction Pattern for a Particular Restriction Table
673
Viewing the Specific Restriction Pattern for a Particular Restriction Table
674
Creating a Restriction Pattern
674
Updating a Restriction Pattern
675
Deleting a Restriction Pattern
676
Cisco Unity Connection Provisioning Interface (CUPI) API
xxvii
Contents
Page 28
Explanation of Data Fields
677
Cisco Unity Connection Provisioning Interface (CUPI) API -- Restriction Tables
678
Restriction Tables
678
Listing the Restriction Tables
678
Viewing the Specific Restriction Table
679
Creating a Restriction Table
680
Updating a Restriction Table Parameters
682
Deleting a Restriction Table
683
Explanation of Data Fields
683
Cisco Unity Connection Provisioning Interface (CUPI) API -- License Dump APIs
684
License Dump APIs
684
Listing the License Status Count
686
Viewing the Specific License Status Count
687
Explanation of Data Fields
688
Cisco Unity Connection Provisioning Interface (CUPI) API -- Smart Licensing
689
Overview
689
Transport Settings
689
Listing Transport Settings
690
Modifying Transport Settings
690
Registering the Unity Connection
691
Reregistering the Unity Connection
692
Deregistering the Unity Connection
692
Renew Authorization of the Unity Connection
693
Renew Registration of the Unity Connection
693
Listing Licensing Details
693
Getting License Data for STT
697
Explanation of Data Fields
697
Cisco Unity Connection Provisioning Interface (CUPI) API -- Custom Subject Line
699
Listing Subject Line Formats
699
Listing a particular subject line format
700
Modifying Subject Line Formats
701
Listing Subject Line Parameters
701
Listing a particular Subject Line Parameter
702
Modifying Subject Line Parameter
702
Cisco Unity Connection Provisioning Interface (CUPI) API
xxviii
Contents
Page 29
Explanation of Data Fields
702
Cisco Unity Connection Provisioning Interface (CUPI) API -- Language Map
704
About Language Map
704
Listing and Viewing
704
Miscellaneous
705
Cisco Unity Connection Provisioning Interface (CUPI) API -- LDAP Phone Number Transform
706
About LDAP Phone Number Transform
706
Listing and Viewing
706
Creating
706
Updating
707
Deleting
707
Possible Errors
707
Cisco Unity Connection Provisioning Interface (CUPI) API -- Authorization Server
708
About Authorization Server (Authz Server)
708
Listing Authz Servers
708
Viewing an Authz Server
709
Adding New Authz Server
709
Modifying Authz Server
709
Deleting an Authz Server
710
Synchronization of Authorization Keys
710
Explanation of Data Fields
710
Cisco Unity Connection Provisioning Interface (CUPI) API -- System Default Language and TTS
Language
711
About System Default Language and System Default TTS Language
711
Viewing
711
Updating
711
Cisco Unity Connection Provisioning Interface (CUPI) API -- Wave Formats
712
About Wave Formats
712
Listing and Viewing
712
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
713
C H A P T E R 4 6
Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedules
713
Overview of Cisco Unity Connection Schedule Objects
713
ScheduleSet Objects
713
Cisco Unity Connection Provisioning Interface (CUPI) API
xxix
Contents
Page 30
Schedule Objects
713
ScheduleDetail Objects
713
ScheduleSetMemberMap Objects
714
Schedule Example
714
CUPI for Schedules
714
ScheduleSets in CUPI
714
Schedules in CUPI
718
ScheduleSetMembers in CUPI
722
ScheduleDetails in CUPI
724
Cisco Unity Connection Provisioning Interface (CUPI) API -- Holiday Schedules
729
Holiday Schedules API
729
Listing the Holiday Schedule Details
729
Viewing the Specific Holiday Schedule
730
Creating a New Holiday Schedule
731
Updating the Holiday Schedule
732
Deleting a Holiday Schedule
732
Explanation of Data Fields
733
Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedules Set
734
Schedule Set API
734
Listing the Schedule Sets
734
Viewing the Specific Schedule Set
736
Creating a New Schedule Set
737
Updating the Schedule Set
738
Delete a Schedule Set
739
Explanation of Data Fields
739
Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedules Set Details
740
Schedule Set Details API
740
Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedules Set Members
740
Schedule Set Members API
740
Listing the Schedule Set Members
740
Viewing the Specific Schedule Set Member
742
Creating a New Schedule Set Member
743
Updating the Schedule Set Members
744
Deleting a Schedule Set Member
745
Cisco Unity Connection Provisioning Interface (CUPI) API
xxx
Contents
Page 31
Explanation of Data Fields
745
Cisco Unity Connection Provisioning Interface (CUPI) API for SMTP Configuration
747
C H A P T E R 4 7
Cisco Unity Connection Provisioning Interface (CUPI) API -- SMTP Server Configuration
747
Listing SMTP Server Configuration
747
Updating SMTP Server Configuration
748
Explaination of Data Fields
749
Cisco Unity Connection Provisioning Interface (CUPI) API -- SMTP Client Configuration
752
Listing SMTP Client Configuration
752
Updating SMTP Client Configuration
752
Explaination of Data Fields
753
Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations
755
C H A P T E R 4 8
Cisco Unity Connection Provisioning Interface (CUPI) API -- Phone Systems
755
About Phone Systems
755
Listing Phone Systems
755
Adding a New Phone System
757
Modifying a Phone System
757
AXL Servers
758
Phone System Associations
760
Deleting a Phone System
761
Cisco Unity Connection Provisioning Interface (CUPI) API -- Port Groups and Ports
762
About Port Groups and Ports
762
Listing and Viewing
762
Searching
765
Updating
765
Cisco Unity Connection Provisioning Interface (CUPI) API -- Ports
766
About Ports
766
Listing Ports
766
Adding Ports
768
Adding SCCP Ports
768
Adding SIP Ports
769
Adding PIMGTIMG Ports
769
Modifying Ports
770
Cisco Unity Connection Provisioning Interface (CUPI) API
xxxi
Contents
Page 32
Modifying SCCP Ports
770
Modifying SIP Ports
770
Deleting ports
771
Cisco Unity Connection Provisioning Interface (CUPI) API – SIP Certificates
771
About SIP Certificates
771
Listing SIP Certificates
771
Modifying SIP Certificates
773
Deleting SIP Certificates
773
Cisco Unity Connection Provisioning Interface (CUPI) API -- SIP Profiles
774
Listing SIP Profiles
774
Adding a new SIP Profiles
776
Modifying SIP Profiles
776
Deleting SIP Profiles
777
Cisco Unity Connection Provisioning Interface (CUPI) API
xxxii
Contents
Page 33
C H A P T E R 1
API Overview
Links to Other API pages: Cisco_Unity_Connection_APIs
• API Overview , on page 1
API Overview
Links to Other API pages: Cisco_Unity_Connection_APIs
Introduction
Cisco Unity Connection Provisioning Interface (CUPI) is a provisioning API for Cisco Unity Connection that
has been designed to be stable and simple to use. It is based on leading industry standards for web-based API
development, and provides access to the most commonly provisioned data on Connection systems (users,
contacts, distribution lists, and call handlers).
With Cisco Unity Connection 9.1(1), the single sign-on feature is enabled for all the Connection Rest APIs.
For more information, see the "Single Sign-On in Cisco Unity Connection" chapter in Security Guide for
Cisco Unity Connection 9.x available at
http://www.cisco.com/en/US/docs/voice_ip_comm/connection/9x/security/guide/9xcucsec061.htm
Note
Benefits
By using CUPI, you can securely do the following:
• Create, read, update, and delete users and user configurations
• Reset passwords
• Create, read, and update distribution lists
• Create, read, update, and delete call handlers
• Create, read, update, and delete contacts
Cisco Unity Connection Provisioning Interface (CUPI) API
1


Page 34
All the above functions associated with CUPI API support both the IPv4 and IPv6 addresses. However, the
IPv6 address works only when Connection platform is configured in Dual (IPv4/IPv6) mode.
Note
For more information see the chapter "Adding or Changing the IPv6 Addresses of Cisco Unity Connection
8.5 and Later Servers" at the following link https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/connection/
9x/upgrade/guide/9xcucrugx/9xcucrug051.html
Technical Details
Previous provisioning APIs required knowledge of the underlying database, and were vulnerable to changes
in the database schema. CUPI provides a layer over the database to make the interface more stable.
CUPI is standards based. CUPI was developed by using the latest advances in web-based interfaces. It is a
REST interface that standardizes operations such as add, delete, and modify. The XML comes with standard
XML schema definitions that are annotated with information about what is in them.
Other product groups in VTG are developing REST-based interfaces, and as the interfaces converge this
positions CUPI well to fit in with them. REST interfaces also work well with Web 2.0 applications.
As a web-based interface, CUPI is independent of operating system and programming language and does not
require any client libraries to use.
It is recommended to perform provisioning only on the Publisher server in Active-Active mode and on
Subscriber (Acting Primary) in case of cluster failover. The password change and password setting modification
for User PIN/Web application should be provisioned on Publisher server in Active-Active mode.
Note
Getting Started
In order to begin developing with the Cisco Unity Connection CUPI API, you need to obtain the following:
Hardware
• Cisco Media Convergence Server (MCS) for Cisco Unity Connection version 8.0 and later
• For detailed hardware requirements, see the Cisco Unity Connection 8.x Supported Platforms List
Software
• Cisco Unity Connection Software Ordering
• Not for Resale Kits (Must be eligible to purchase)
• Communications System Release Kit
Discounts for some of the required hardware and software may be available for participants in the Cisco
Technology Developer Program.
We recommend that all developers have an up-to-date Cisco Developer Services support agreement. This
provides the developer with access to professional support and assistance for application development
Cisco Unity Connection Provisioning Interface (CUPI) API
2
API Overview
Technical Details

Page 35
Other CUPI Resources
Additional information about CUPI is also available on the Cisco Developer Network (link to CDN). Note,
however, that the documentation here on the DocWiki is the most up-to-date documentation available for
CUPI.
To participate in the CUPI forum, see the CUPI forum on CDN.
On the CUPI page on CDN, you will also find links to the CUPI WADL and CUPI XML schema.
Troubleshooting
See the following for information on troubleshooting all Connection APIs:
Troubleshooting (applies to all Connection APIs)
Cisco Unity Connection Provisioning Interface (CUPI) API
3
API Overview
Other CUPI Resources
Page 36
Cisco Unity Connection Provisioning Interface (CUPI) API
4
API Overview
Troubleshooting
Page 37
C H A P T E R 2
Cisco Unity Connection Provisioning Interface
(CUPI) API -- Getting the Object Schema Details
Links to Other API pages:Cisco_Unity_Connection_APIs
• Getting the Schema Details, on page 5
Getting the Schema Details
All the schema details for all supported object types can be obtained by going to the REST schema page using
the URL:
http://{server name}/vmrest/schema
All the objects supported will come up in a list, each as a link that will take you to a page detailing which
items of information will be returned when fetching that object.
In the case of users the schema shows what will come back when fetching the full user data using a URL like
this:
Note
http://{server name}/vmrest/users/{object_id}
If, however, you are getting a list of users or searching for one or more users with a query parameter like this:
http://{server name}/vmrest/users?query=(alias%20is%20operator)
Then you will get a subset of user properties on each user returned in the list. This is an optimization since
users have such a large amount of data associated with them that returning all of those properties for each
user on a potentially large list is very inefficient. Make sure your application accounts for this.
Cisco Unity Connection Provisioning Interface (CUPI) API
5


Page 38
Cisco Unity Connection Provisioning Interface (CUPI) API
6
Cisco Unity Connection Provisioning Interface (CUPI) API -- Getting the Object Schema Details
Getting the Schema Details
Page 39
C H A P T E R 3
Cisco Unity Connection Provisioning Interface
(CUPI) API -- About Versioning
Links to Other API pages:Cisco_Unity_Connection_APIs
• About Versioning, on page 7
• Getting Unity Connection Version, on page 7
About Versioning
Cisco Unity Connection REST interfaces essentially are not versioned. There are several mechanisms in place
to ease forward and backward compatibility:
1.
The version is available as a resource at /vmrest/version:
<VersionInformation>
<name>vmrest</name>
<version>8.0.0.229</version>
</VersionInformation>
2.
Extra fields in a resource are ignored by the server.
This means that if we add a field to a resource in a future release, and the new resource is sent to an older
server, the operation will complete (with the exception of updating the field that it does not have).
3.
Clients ignore new fields.
The XML schema files that are provided for clients include a provision for arbitrary fields to be added at
the end. This means that when a new field is added to a resource exposed by the server, it will not affect
client code.
4.
New resources are added at new URLs.
Adding a new resource means adding a new URL, not changing existing URLs. This means that existing
client code can continue to run against the new version without change.
Getting Unity Connection Version
To get the active master version of Cisco Unity Connection, do the following GET request:
Cisco Unity Connection Provisioning Interface (CUPI) API
7

Page 40
GET http://<connection-server>/vmrest/version/product/
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<VersionInformation>
<name>Cisco Unity Connection Version</name>
<version>11.5.1.17108-2</version>
</VersionInformation>
Response Code: 200
Cisco Unity Connection Provisioning Interface (CUPI) API
8
Cisco Unity Connection Provisioning Interface (CUPI) API -- About Versioning
Getting Unity Connection Version
Page 41
C H A P T E R 4
Cisco Unity Connection Provisioning Interface
(CUPI) API -- Authentication and Authorization
Links to Other API pages:Cisco_Unity_Connection_APIs
• About CUPI Authentication and Authorization, on page 9
About CUPI Authentication and Authorization
CUPI uses the same authentication and authorization scheme that the administration console uses. This means
that the objects an administrator has access to when authenticated are determined by the roles to which the
administrator is assigned.
CUPI authenticates by using standard HTTPS and Basic authentication, so that credentials can be passed by
using typical mechanisms to send username and password via HTTP headers.
Cisco Unity Connection Provisioning Interface (CUPI) API
9

Page 42
Cisco Unity Connection Provisioning Interface (CUPI) API
10
Cisco Unity Connection Provisioning Interface (CUPI) API -- Authentication and Authorization
About CUPI Authentication and Authorization
Page 43
C H A P T E R 5
Cisco Unity Connection Provisioning Interface
(CUPI) API -- Error Handling
Links to Other API pages: Cisco_Unity_Connection_APIs
• Possible Errors, on page 11
Possible Errors
The HTTP status codes themselves provide information about many typical errors. See the following list for
some of the status codes returned by CUPI:
Explanation
Possible Errors
Normal response when a page has been successfully fetched.
200 OK
The resource has been created.
201 Created
The page has moved permanently. It is usually a response from implementing
a 301 redirect.
301 Moved Permanently
The page has moved temporarily.
302 Moved Temporarily
The request could not be understood by the server, due to incorrect syntax.
400 Bad Request
Authentication is required.
401 Unauthorized User
The server understood the request, but is refusing to fulfill it.
403 Forbidden
The server has not found anything that matches the Request-URI.
404 Page Not Found
The method specified in the Request-Line is not allowed for the resource
identified by the Request-URI.
405 Method Not Allowed
The server cannot generate a response that the requester is willing to accept.
406 Not Acceptable
The requested resource is no longer available at the server, and no forwarding
address is known. This condition is similar to 404, except that the 410 error
condition is expected to be permanent.
410 Gone
The server is refusing the request, because the request is in a format not supported
by the requested resource for the requested method.
415 Unsupported Media
Type
There is an internal web server error.
500 Server Error
Cisco Unity Connection Provisioning Interface (CUPI) API
11

Page 44
In addition to the error codes, in most cases CUPI will return an XML document that provides more information
about the error:
<xs:complexType name="ErrorDetails">
xs:all
<xs:element name="errors" maxOccurs="unbounded">
xs:complexType
xs:all
<xs:element name="code" type="ErrorCode"/>
<xs:element name="message" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
Cisco Unity Connection Provisioning Interface (CUPI) API
12
Cisco Unity Connection Provisioning Interface (CUPI) API -- Error Handling
Possible Errors
Page 45
C H A P T E R 6
Cisco Unity Connection Provisioning Interface
(CUPI) API -- Examples of Basic Operations
Links to Other API pages: Cisco_Unity_Connection_APIs
• Reading a User's Information, on page 13
• Creating a User, on page 13
• Modifying a User, on page 13
• Deleting a User, on page 14
• Searching for a User, on page 14
• Reset the MWI for a User, on page 14
Reading a User's Information
To read a user's information, do the following GET request:
GET http://<connection-server>/vmrest/users/{objectid}
Creating a User
To create a user account, do the following POST request:
POST http://<connection-server>/vmrest/users?templateAlias=voicemailusertemplate
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<User>
<Alias>jdoe</Alias>
<DtmfAccessId>7890</DtmfAccessId>
</User>
The following is the result of the above POST request:
201 Created
The HTTP response will include the full URI to the newly created user in the Location header.
Modifying a User
To modify a user account, do the following PUT request:
Cisco Unity Connection Provisioning Interface (CUPI) API
13

Page 46
PUT http://<connection-server>/vmrest/users/{objectid}
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<User>
<DisplayName>johnd</DisplayName>
</User>
The following is the result of the above PUT request:
204 Accepted
Deleting a User
To delete a user account, do the following DELETE request:
DELETE http://<connection-server>/vmrest/users/{objectid}
The following is the result of the above DELETE request:
200 OK
Searching for a User
To search for a user account, do the following GET request:
GET http://<connection-server>/vmrest/users?query=(alias%20startswith%20ab)
Reset the MWI for a User
The reset the MWI for a user:
POST http://<connection-server>/vmrest/users/{objectid}?method=resetmwi
Cisco Unity Connection Provisioning Interface (CUPI) API
14
Cisco Unity Connection Provisioning Interface (CUPI) API -- Examples of Basic Operations
Deleting a User
Page 47
C H A P T E R 7
Cisco Unity Connection Provisioning Interface
(CUPI) API -- Getting the Object Count Without
Getting the Objects
Links to Other API pages:Cisco_Unity_Connection_APIs
• Getting the Object Count Without Getting the Objects, on page 15
• Examples, on page 15
Getting the Object Count Without Getting the Objects
For performance reasons, you can retrieve an object count without retrieving the objects. For example, you
might have over 1000 users and you want to know the exact user count. To speed up the query, you can retrieve
only the count of users, without retrieving the payload, by using and setting the query parameter "pageNumber"
or "rowsPerPage" to 0, as follows:
Examples
The following example returns the number of users:
GET http://<connection-server>/vmrest/users?rowsPerPage=0
The following example returns the number of users whose alias starts with "John":
GET http://<connection-server>/vmrest/users?query=(alias%20startswith%20John)&pageNumber=0
Cisco Unity Connection Provisioning Interface (CUPI) API
15

Page 48
Cisco Unity Connection Provisioning Interface (CUPI) API
16
Cisco Unity Connection Provisioning Interface (CUPI) API -- Getting the Object Count Without Getting the Objects
Examples
Page 49
C H A P T E R 8
Cisco Unity Connection Provisioning Interface
(CUPI) API -- Searching and Sorting
Links to Other API pages:Cisco_Unity_Connection_APIs
• Searching, on page 17
• Sorting, on page 17
• Constraints on the Allowed Values in Search Queries and Sorts, on page 18
Searching
The general format of a search query is:
query=(column [is | startswith] value)
For example, to find all users that have an alias starting with the letter "a," the query would be:
query=(alias startswith a)
The full URL, including escaping spaces as %20, would be:
GET http://<connection-server>/vmrest/users?query=(alias%20startswith%20a)
(For more information about escaping spaces, see the (RFC for URIs.)
Sorting
Sorting is similar to searching. The general format of a sort is:
sort=(column [asc | desc])
For example, to sort users by alias, the sort would be:
sort=(alias asc)
The full URL would be:
GET http://<connection-server>/vmrest/users?sort=(alias%20asc)
Note that spaces must be escaped in the URL as %20 (standard URL escape code for space).
Cisco Unity Connection Provisioning Interface (CUPI) API
17

Page 50
Constraints on the Allowed Values in Search Queries and Sorts
Note the following constraints on the allowed values in the queries and sorts, based on database performance
requirements:
• Sorts can support only a single column.
• Sorts can specify only a column that is indexed.
• Queries can support only an indexed column or a boolean column.
• Queries can specify more than one column only if all columns belong to a single compound index. (Note:
the ability to specify more than one column is not yet implemented; at this time, only single criteria
queries are allowed.)
• When both a query and a sort are specified, the sort column must be one of the columns in the query.
• Queries can use only two conditions: "is" and "startswith".
Cisco Unity Connection Provisioning Interface (CUPI) API
18
Cisco Unity Connection Provisioning Interface (CUPI) API -- Searching and Sorting
Constraints on the Allowed Values in Search Queries and Sorts
Page 51
C H A P T E R 9
Cisco Unity Connection Provisioning Interface
(CUPI) API -- Voice Names
Links to Other API pages: Cisco_Unity_Connection_APIs
• About Voice Names, on page 19
• Listing and Viewing, on page 19
• Setting Voice Names, on page 20
About Voice Names
Many objects available via the CUPI interface have a voice name field. There are two ways to access the voice
name for these objects:
• For Connection versions 7.x and 8.0.x the voice names are accessed by using the VoiceFileURI. Modifying
the voice name as a voice file requires a three step process as detailed below.
• For Connection versions 8.5 and later the voice name access has been simplified so that it can be accessed
by using a VoiceNameURI. This new URI is a standard sub-resource of the primary resource URI (see
example below). Modifying the voice name by using the new URI reduces the three step process to a
single step. The old VoiceFileURI still works in the later versions of Connection, but use of the new URI
is easier.
http://<server>/users/<user object id>/voicename)
Listing and Viewing
Voice Name GET for Connection 8.5 and Later
Use the standard VoiceNameURI directly to get the file:
GET http://<connection-server>/vmrest/<resource>/<resource id>/voicename
The response will return the audio/wav data for the voice name.
Cisco Unity Connection Provisioning Interface (CUPI) API
19

Page 52
Voice Name GET for Connection 7.x and 8.0.x
First get the primary resource to find out the voice file URI, then use the VoiceFileURI to get the file:
GET http://<connection-server>/vmrest/voicefiles/<voice file name>
The response will return the audio/wav data for the voice name.
Setting Voice Names
Setting a Voice Name in Connection 8.5 and Later
PUT the audio data directly to the standard resource voice name URI:
PUT /vmrest/<object>/<object id>/voicename
content is audio/wav data
The response is a 204 indicating that the content has been accepted and copied into the temporary file.
Setting a Voice Name in Connection 7.x and 8.0.x
To create a voice name for a resource is a three step process.
1.
A place-holder for the WAV file must be created with a POST. This is a temporary file place-holder that
can be used for up to 30 minutes. If it is not used within 30 minutes (assigned to a resource), the file is
assumed to be abandoned and is automatically cleaned.
POST /vmrest/voicefiles
The response code is 201 and the content is the name of the newly created temporary file.
2.
Use the temporary file name to PUT the new audio data. The HTTP content type is "audio/wav" and the
payload content is the audio data.
PUT /vmrest/voicefiles/<temporary file name>
The response is a 204 indicating that the content has been accepted and copied into the temporary file.
3.
Set the voicename field of the target resource to the temporary file name. See the example for a user
below:
PUT /vmrest/users/<user object id>
<?xml version="1.0" encoding="UTF-8"?>
<User>
<VoiceName>temporary file name</VoiceName>
</User>
Cisco Unity Connection Provisioning Interface (CUPI) API
20
Cisco Unity Connection Provisioning Interface (CUPI) API -- Voice Names
Voice Name GET for Connection 7.x and 8.0.x
Page 53
C H A P T E R 10
Cisco Unity Connection Provisioning Interface
(CUPI) API -- Subscriber Dependency
Links to Other API pages: Cisco_Unity_Connection_APIs
• Subscriber Dependency API, on page 21
Subscriber Dependency API
Administrator can use this API to list the objects that reference a specified user. Using this API administrator
can also replace the dependencies with another user.
Listing Dependencies of All Users
GET https://<connection-server>/vmrest/subscriberdependencies
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<SubscriberDependencies total="2">
<SubscriberDependency>
<DependencyType>TT2</DependencyType>
<DependentEntityObjectId>43205549-0127-48c9-9261-f84102a5890f</DependentEntityObjectId>
<DependentEntityObjectType>3</DependentEntityObjectType>
<DependentEntityOwner>Donald_UserTemplate_1 </DependentEntityOwner>
<DependencyDestinationType>2</DependencyDestinationType>
<SubscriberObjectId>10b494ca-56ff-4430-a49f-747a33abbd09</SubscriberObjectId>
<UserURI>/vmrest/users/10b494ca-56ff-4430-a49f-747a33abbd09</UserURI>
<DependentEntityOwnerType>User Template </DependentEntityOwnerType>
</SubscriberDependency>
<SubscriberDependency>
<DependencyType>Recipient</DependencyType>
<DependentEntityObjectId>beb9623b-60e4-439d-8fe3-b4c7eec42dfc</DependentEntityObjectId>
<DependentEntityObjectType>3</DependentEntityObjectType>
<DependentEntityOwner>Operator </DependentEntityOwner>
<DependencyDestinationType>5</DependencyDestinationType>
<SubscriberObjectId>cfbb6680-f028-4282-8740-ba7531e574cf</SubscriberObjectId>
<UserURI>/vmrest/users/cfbb6680-f028-4282-8740-ba7531e574cf</UserURI>
<DependentEntityOwnerType>Call Handler </DependentEntityOwnerType>
</SubscriberDependency>
<SubscriberDependencies>
Response Code: 200
Cisco Unity Connection Provisioning Interface (CUPI) API
21

Page 54
JSON Example
GET https://<connection-server>/vmrest/subscriberdependencies
Accept: application /json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"@total": "2",
"SubscriberDependency":
[
{
"DependencyType": "TT2",
"DependentEntityObjectId": "43205549-0127-48c9-9261-f84102a5890f",
"DependentEntityObjectType": "3",
"DependentEntityOwner": "Donald_UserTemplate_1",
"DependencyDestinationType": "2",
"SubscriberObjectId": "10b494ca-56ff-4430-a49f-747a33abbd09",
"UserURI": "/vmrest/users/10b494ca-56ff-4430-a49f-747a33abbd09",
"DependentEntityOwnerType": "User Template"
},
{
"DependencyType": "Recipient",
"DependentEntityObjectId": "beb9623b-60e4-439d-8fe3-b4c7eec42dfc",
"DependentEntityObjectType": "3",
"DependentEntityOwner": "Operator",
"DependencyDestinationType": "5",
"SubscriberObjectId": "cfbb6680-f028-4282-8740-ba7531e574cf",
"UserURI": "/vmrest/users/cfbb6680-f028-4282-8740-ba7531e574cf",
"DependentEntityOwnerType": "Call Handler"
}
]
}
Response Code: 200
Viewing Dependency of a Specific User
GET https://<connection-server>/vmrest/subscriberdependencies/<subscriber-objectid>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<SubscriberDependencies total="1">
<SubscriberDependency>
<DependencyType>Standard Greeting</DependencyType>
<DependentEntityObjectId>7ea0ecb6-4125-4866-a0f6-5308a5a4b3d1</DependentEntityObjectId>
<DependentEntityObjectType>66</DependentEntityObjectType>
<DependentEntityOwner>Texoma_SystemCallhandlerTemplate_1</DependentEntityOwner>
<DependencyDestinationType>0</DependencyDestinationType>
<SubscriberObjectId>4bc6f97a-0c97-4ed9-a7e2-05e611bb02d3</SubscriberObjectId>
<UserURI>/vmrest/users/4bc6f97a-0c97-4ed9-a7e2-05e611bb02d3</UserURI>
<DependentEntityOwnerType>Call Handler Template</DependentEntityOwnerType>
</SubscriberDependency>
</SubscriberDependencies>
Response code: 200
JSON Example
GET https://<connection-server>/vmrest/subscriberdependencies/<subscriber-objectid>
Accept: application /json
Connection: keep-alive
Cisco Unity Connection Provisioning Interface (CUPI) API
22
Cisco Unity Connection Provisioning Interface (CUPI) API -- Subscriber Dependency
Listing Dependencies of All Users
Page 55
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"@total": "1",
"SubscriberDependency":
{
"DependencyType": "Standard Greeting",
"DependentEntityObjectId": "7ea0ecb6-4125-4866-a0f6-5308a5a4b3d1",
"DependentEntityObjectType": "66",
"DependentEntityOwner": "Texoma_SystemCallhandlerTemplate_1",
"DependencyDestinationType": "0",
"SubscriberObjectId": "4bc6f97a-0c97-4ed9-a7e2-05e611bb02d3",
"UserURI": "/vmrest/users/4bc6f97a-0c97-4ed9-a7e2-05e611bb02d3",
"DependentEntityOwnerType": "Call Handler Template"
}
}
Response Code: 200
Finding Dependencies
Example 1:
Suppose following is the dependent object of a particular user and it is required to find the complete dependency,
then below are the steps that should be followed. Dependent Object:
<SubscriberDependency>
<DependencyType>Standard Greeting</DependencyType>
<DependentEntityObjectId>7ea0ecb6-4125-4866-a0f6-5308a5a4b3d1</DependentEntityObjectId>
<DependentEntityObjectType>66</DependentEntityObjectType>
<DependentEntityOwner>Texoma_SystemCallhandlerTemplate_1 </DependentEntityOwner>
<DependencyDestinationType>0</DependencyDestinationType>
<SubscriberObjectId>4bc6f97a-0c97-4ed9-a7e2-05e611bb02d3</SubscriberObjectId>
<UserURI>/vmrest/users/4bc6f97a-0c97-4ed9-a7e2-05e611bb02d3</UserURI>
<DependentEntityOwnerType>Call Handler Template</DependentEntityOwnerType>
</SubscriberDependency>
Steps to be followed:
• Check DependentEntityOwnerType and DependentEntityObjectId from the response, which depicts the
type of object referencing the user. In the example, the referencing object entity is call handler template,
whose name is 'Texoma_SystemCallhandlerTemplate_1' and object id is
'7ea0ecb6-4125-4866-a0f6-5308a5a4b3d1'.
• Check DependencyType, which specifies type of dependency. In this example, it is Standard Greeting.
For more information, see the Possible Value of DependencyType section.
• Check DependencyDestinationType, where user is actually referred. In the example, it is 0 that is After
Greeting Action. For more information, see the Possible Values of DependencyDestinationType section.
• Therefore, user is referenced in the After Greeting action of Standard Greeting of callhandler
template(Texoma_SystemCallhandlerTemplate_1)
Example 2:
Dependent Object:
<SubscriberDependency>
<DependencyType>PCTRCaller</DependencyType>
<DependentEntityObjectId>476dd400-4130-4795-9e15-c8ce3dd57ff3</DependentEntityObjectId>
<DependentEntityObjectType>45</DependentEntityObjectType>
<DependentEntityOwner>Donald_Operator_1</DependentEntityOwner>
<DependencyDestinationType>4</DependencyDestinationType>
Cisco Unity Connection Provisioning Interface (CUPI) API
23
Cisco Unity Connection Provisioning Interface (CUPI) API -- Subscriber Dependency
Finding Dependencies
Page 56
<SubscriberObjectId>cfbb6680-f028-4282-8740-ba7531e574cf</SubscriberObjectId>
<UserURI>/vmrest/users/cfbb6680-f028-4282-8740-ba7531e574cf</UserURI>
<DependentEntityOwnerType>User</DependentEntityOwnerType>
</SubscriberDependency>
Steps to be followed:
• Check the DependentEntityOwnerType and DependentEntityObjectId from response, which depicts the
type of object referencing the user. In the example, the referencing object entity is user whose name is
'Donald_Operator_1' and object id is '476dd400-4130-4795-9e15-c8ce3dd57ff3'. For more information,
see the Possible Value of DependencyType section.
• Check DependencyType, which specifies type of dependency. In this example, the PCTRCaller is
DependencyType.
• Check DependencyDestinationType, where user is actually referred. In the example, it is 4 that is refrrenced
by personal rule caller. For more information, see the Possible Values of DependencyDestinationType
section.
• In above example specified user is referenced in the personal call transfer rule of user
(Donald_Operator_1).
Moving Dependencies of One User to Another
Example 1:
Suppose following is the dependent object of a particular user and it is required to move dependencies to
another user, then below are the steps that should be followed. Dependent Object:
<SubscriberDependency>
<DependencyType>Standard Greeting</DependencyType>
<DependentEntityObjectId>7ea0ecb6-4125-4866-a0f6-5308a5a4b3d1</DependentEntityObjectId>
<DependentEntityObjectType>66</DependentEntityObjectType>
<DependentEntityOwner>Texoma_SystemCallhandlerTemplate_1 </DependentEntityOwner>
<DependencyDestinationType>0</DependencyDestinationType>
<SubscriberObjectId>4bc6f97a-0c97-4ed9-a7e2-05e611bb02d3</SubscriberObjectId>
<UserURI>/vmrest/users/4bc6f97a-0c97-4ed9-a7e2-05e611bb02d3</UserURI>
<DependentEntityOwnerType>Call Handler Template</DependentEntityOwnerType>
</SubscriberDependency>
Steps to be followed:
• Check the DependentEntityOwnerType and DependentEntityObjectId from response. In this example,
DependentEntityOwnerType is Call Handler Template, and DependentEntityObjectId is
7ea0ecb6-4125-4866-a0f6-5308a5a4b3d1.
• Perform GET Operation on Dependent Object with DependentEntityObjectId as Object ID of dependent
object entity. In this example use URI:
https://<connection-server>/vmrest/callhandlertemplates/<DependentEntityObjectId>
• Check DependencyType, which specifies type of dependency. In this example it is Greeting (Standard),
therefore, use GET on
https://<connection-server>/vmrest/callhandlertemplates/<DependentEntityObjectId>/templategreetings/Standard
• Check DependencyDestinationType.In this example it is 0 that is After Greeting therefore, perform PUT
operation to move the dependency to new user.
PUT
https://<connection-server>/vmrest/callhandlertemplates/<DependentEntityObjectId>/templategreetings/Standard
Cisco Unity Connection Provisioning Interface (CUPI) API
24
Cisco Unity Connection Provisioning Interface (CUPI) API -- Subscriber Dependency
Moving Dependencies of One User to Another
Page 57
<TemplateGreeting>
<AfterGreetingAction>2</AfterGreetingAction>
<AfterGreetingTargetConversation>PHGreeting</AfterGreetingTargetConversation>
<AfterGreetingTargetHandlerObjectId>9b121ddf-8ce4-4bbd-b179-ab75ab63eb15</AfterGreetingTargetHandlerObjectId>
</TemplateGreeting>
Where, AfterGreetingTargetHandlerObjectId is the call handler of new user. In above example After
Greeting action of Standard Greeting of call handler template is now referencing callhandler of new user.
Explanation of Data Fields
Comments
Data Type
Operations
Parameter
URI of referenced User
String
Read Only
UserURI
Type of dependency (e.g., After Greeting, After
Message, Routing Rule, etc.). Possible values are
specified in the table given under the Possible Value
of DependencyType section.
String(24)
Read Only
DependencyType
The unique identifier of the entity that is dependent
on the user.
String(32)
Read Only
DependentEntityObjectId
The type of object that is dependent on the user.
Possible values are specified in the table given
under the Possible Values of
DependentEntityObjectType section.
Integer
Read Only
DependentEntityObjectType
The unique identifier of the entity that owns the
object which is dependent on the user. For example,
a user's call handler may be the dependent entity,
but the call handler is owned by another user.
String(36)
Read Only
DependentEntityOwner
Possible values are specified in the table given
under the Possible Values of
DependencyDestinationType section.
Integer
Read Only
DependencyDestinationType
Unique Object Id of referenced User
String(36)
Read Only
SubscriberObjectId
The entity owner type of object (e.g., User, Call
Handler Template)
String(24)
Read Only
DependentEntityOwnerType
Possible Value of Dependency Type
DisplayName
Description
Value
Name
Notification
Reference from notification rule caller
NotificationRuleCaller
NotificationRuleCaller
Closed Greeting
Reference from closed greeting
GreetingOffHours
GreetingOffHours
Internal Greeting
Reference from internal greeting
GreetingInternal
GreetingInternal
Error Greeting
Reference from error greeting
GreetingError
GreetingError
Holiday Greeting
Reference from holiday greeting
GreetingHoliday
GreetingHoliday
Cisco Unity Connection Provisioning Interface (CUPI) API
25
Cisco Unity Connection Provisioning Interface (CUPI) API -- Subscriber Dependency
Explanation of Data Fields
Page 58
DisplayName
Description
Value
Name
Alternate
Greeting
Reference from alternate greeting
GreetingAlternate
GreetingAlternate
Busy Greeting
Reference from busy greeting
GreetingBusy
GreetingBusy
Standard
Greeting
Reference from standard greeting
GreetingStandard
GreetingStandard
Exit Action
Reference from user's call handler's exit action
UserExit
UserExit
PCTR Caller
Reference from personal rule caller
PCTRCaller
PCTRCaller
SMPP Provider
Reference from SMPP Provider SMPP
Provider
SMPP
SMPPProvider
Reference from call handler's TT# menu entry
TT#
TT_Pound
*
Reference from call handler's TT* menu entry
TT*
TT_Star
0
Reference from call handler's TT0 menu entry
TT0
TT_0
1
Reference from call handler's TT1 menu entry
TT1
TT_1
2
Reference from call handler's TT2 menu entry
TT2
TT_2
3
Reference from call handler's TT3 menu entry
TT3
TT_3
4
Reference from call handler's TT4 menu entry
TT4
TT_4
5
Reference from call handler's TT5 menu entry
TT5
TT_5
6
Reference from call handler's TT6 menu entry
TT6
TT_6
7
Reference from call handler's TT7 menu entry
TT7
TT_7
8
Reference from call handler's TT8 menu entry
TT8
TT_8
9
Reference from call handler's TT9 menu entry
TT9
TT_9
After Greeting
Reference from call handler's "AfterGreeting"
action
After Greeting
AfterGreeting
AfterMessage
Reference from call handler's "AfterMessage"
action
AfterMessage
AfterMessage
Exit
Reference from call handler's "Exit" action
Exit
Exit
NoInput
Reference from call handler's "NoInput"
action
NoInput
NoInput
AfterMessage
Reference from call handler's "NoSelection"
action
NoSelection
NoSelection
Zero
Reference from call handler's "Zero" action
Zero
Zero
RoutingRule
Reference from a routing rule's "Action".
RoutingRule
RoutingRule
Cisco Unity Connection Provisioning Interface (CUPI) API
26
Cisco Unity Connection Provisioning Interface (CUPI) API -- Subscriber Dependency
Possible Value of Dependency Type
Page 59
Possible Values of DependentEntityObjectType
Description
Value
Name
CallHandler
3
CallHandler
Directory Handler used to search a subset of the directory. Formerly referred
to as "NameLookupHandler."
6
DirectoryHandler
Defines the greeting to play and the action to take for a call handler
66
GreetingRule
Special case handler that asks the caller up to 20 questions
5
InterviewHandler
A caller that drives a personal rule.
45
PersonalRuleCaller
Touch-tone menu entry for a call handler
67
MenuEntry
Specifies when and which notification device is used for notification of a new
message.
72
NotificationRule
User that has a subscription to a voice mail service and as such also is assigned
at least one mailbox.
21
Subscriber
Template for creating a new user.
10
UserTemplate
System call routing rule.
103
RoutingRule
Global user account type.
104
GlobalUser
A provider of Short Message Peer-To-Peer services
53
SMPPProvider
Template for creating new call handlers
135
CallHandlerTemplate
User triggering a notification rule
152
NotificationRuleCaller
Possible Values of DependencyDestinationType
Description
Value
Name
The user is an After Greeting destination
0
AfterGreeting
The user is an After Message destination
1
AfterMessage
The user is a destination of a caller input key
2
CallerInputKey
The user is a destination of a directory handler
3
DirectoryHandlerCallerInputKey
The user is referenced by a personal rule caller
4
PCTR
Cisco Unity Connection Provisioning Interface (CUPI) API
27
Cisco Unity Connection Provisioning Interface (CUPI) API -- Subscriber Dependency
Possible Values of DependentEntityObjectType
Page 60
Cisco Unity Connection Provisioning Interface (CUPI) API
28
Cisco Unity Connection Provisioning Interface (CUPI) API -- Subscriber Dependency
Possible Values of DependencyDestinationType
Page 61
C H A P T E R 11
Cisco Unity Connection Provisioning Interface
(CUPI) API -- Alternate Extension
Links to Other API pages: Cisco_Unity_Connection_APIs
• Alternate Extensions API, on page 29
Alternate Extensions API
Listing the Basic Settings of Alternate Extension
GET https://<connection-server>/vmrest/users/<user-objectid>/alternateextensions
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<AlternateExtensions total="1">
<AlternateExtension>
<URI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/alternateextensions/f0cfbf52-a6b2-466c-b7e6-eb05d6cce705</URI>
<IdIndex>0</IdIndex>
<DtmfAccessId>99934</DtmfAccessId>
<LocationObjectId>42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationURI>
<ObjectId>f0cfbf52-a6b2-466c-b7e6-eb05d6cce705</ObjectId>
<PartitionObjectId>da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionObjectId>
<PartitionURI>/vmrest/partitions/da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionURI>
<AlternateExtensionAdvancedURI>/vmrest/alternateextensionadvanceds/42266e69-5e5e-42fe-924e-e94b2c9e06b3</AlternateExtensionAdvancedURI>
</AlternateExtension>
</AlternateExtensions>
Response Code: 200
JSON Example
GET
https://<connection-server>/vmrest/users/<user-objectid>/alternateextensions/<alternateextension_objectid>
Accept: application/json
Connection: keep-alive
Cisco Unity Connection Provisioning Interface (CUPI) API
29

Page 62
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"URI":
"/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/alternateextensions/f0cfbf52-a6b2-466c-b7e6-eb05d6cce705",
"IdIndex": "0",
"DtmfAccessId": "99934",
"LocationObjectId": "42a9ab40-490d-4819-9bfb-8ddce4f430ff",
"LocationURI": "/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb-8ddce4f430ff",
"ObjectId": "f0cfbf52-a6b2-466c-b7e6-eb05d6cce705",
"PartitionObjectId": "da2114bf-cde7-43d8-9709-cd3895a9d41b",
"PartitionURI": "/vmrest/partitions/da2114bf-cde7-43d8-9709-cd3895a9d41b",
"AlternateExtensionAdvancedURI":
"/vmrest/alternateextensionadvanceds/42266e69-5e5e-42fe-924e-e94b2c9e06b3"
}
Listing the Advanced Settings of Alternate Extension
• Fetch the Alternate Extension URI from following URI:
https://<connection-server>/vmrest/users/<user-objectid>
• Now fetch the Alternate Extension Advanced URI from a URI:
https://<connection-server>/vmrest/users/<user-objectid>/alternateextensions/<alternateextionsion_objectid>
• Set following as a Request URI:
https://<connection-server>/vmrest/alternateextensionadvanceds/<alternateextensionadvanced_objectid>
The following is the response from the above GET request and the actual response will depend upon
the information given by you:
<AlternateExtensionAdvanced>
<URI>/vmrest/alternateextensionadvanceds/42266e69-5e5e-42fe-924e-e94b2c9e06b3</URI>
<DeviceDtmfAccessIdObjectId>7c26381e-ee0f-4abf-9083-94a5017abc76</DeviceDtmfAccessIdObjectId>
<MessageSpeed>100</MessageSpeed>
<MessageVolume>50</MessageVolume>
<ObjectId>42266e69-5e5e-42fe-924e-e94b2c9e06b3</ObjectId>
<PromptSpeed>100</PromptSpeed>
<PromptVolume>50</PromptVolume>
<SaveMessageOnHangup>true</SaveMessageOnHangup>
<SendMessageOnHangup>1</SendMessageOnHangup>
<SkipPasswordForKnownDevice>true</SkipPasswordForKnownDevice>
<SubscriberObjectId>bf0e9ca3-db47-472d-aa0c-609a3265ada1</SubscriberObjectId>
<UserURI>/vmrest/users/bf0e9ca3-db47-472d-aa0c-609a3265ada1</UserURI>
</AlternateExtensionAdvanced>
Response Code: 200
JSON Example
• Step 1: Fetch the Alternate Extension URI from following URI:
GET https://<connection-server>/vmrest/users/<user-objectid>
• Step 2: Now fetch the Alternate Extension Advanced URI from a URI:
Cisco Unity Connection Provisioning Interface (CUPI) API
30
Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Extension
Listing the Advanced Settings of Alternate Extension
Page 63
GET https://<connection-server>/vmrest/users/
<user-objectid>/alternateextensions/<alternateextension_objectid>
• Step 3: Set following as a Request URI:
GET
https://<connection-server>/vmrest/alternateextensionadvanceds/<objectid>
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon
the information given by you:
{
"URI": "/vmrest/alternateextensionadvanceds/42266e69-5e5e-42fe-924e-e94b2c9e06b3",
"DeviceDtmfAccessIdObjectId": "7c26381e-ee0f-4abf-9083-94a5017abc76",
"MessageSpeed": "100",
"MessageVolume": "50",
"ObjectId": "42266e69-5e5e-42fe-924e-e94b2c9e06b3",
"PromptSpeed": "100",
"PromptVolume": "50",
"SaveMessageOnHangup": "true",
"SendMessageOnHangup": "1",
"SkipPasswordForKnownDevice": "true",
"SubscriberObjectId": "bf0e9ca3-db47-472d-aa0c-609a3265ada1",
"UserURI": "/vmrest/users/bf0e9ca3-db47-472d-aa0c-609a3265ada1"
}
Response Code: 200
Create a new Alternate Extension
The mandatory fields for creation of alternate extension are IdIndex, DtmfAccessId, and PartitionObjectId.
The URI for getting partition object ID use:
GET https://<connection-server>/vmrest/partitions
The following URI is fetched from the response body of URI:
GET https://<connection-server>/vmrest/users/<user-objectid>
To create a new alternate extension for a user
POST https://<connection-server>/vmrest/users/<user-objectid>/alternateextensions
<AlternateExtension> <IdIndex>2</IdIndex>
<DtmfAccessId>999341</DtmfAccessId>
<PartitionObjectId>da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionObjectId>
</AlternateExtension>
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/users/fa2114bf-cde7-43d8-9709-cd3895a9d41b/alternateextensions/ea2114bf-cde7-43d8-9709-cd3895a9d41b
JSON Example
POST https://<connection-server>/vmrest/users/<user-objectid>/alternateextensions
Accept: application/json
Content-type: application/json
Connection: keep-alive
{
"IdIndex":"2",
Cisco Unity Connection Provisioning Interface (CUPI) API
31
Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Extension
Create a new Alternate Extension
Page 64
"DtmfAccessId":"999341",
"PartitionObjectId":da2114bf-cde7-43d8-9709-cd3895a9d41b"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response code: 201
/vmrest/users/fa2114bf-cde7-43d8-9709-cd3895a9d41b/alternateextensions/ea2114bf-cde7-43d8-9709-cd3895a9d41b
Update Basic Settings of Alternate Extension
PUT https://<connection-server>/vmrest/users/<user-objectid>/alternateextensions/<objectid>
<AlternateExtension>
<DtmfAccessId>999345c1</DtmfAccessId>
<PartitionObjectId>e1c25917-7dbe-4691-8226-246f84edc73b</PartitionObjectId>
</AlternateExtension>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
PUT
https://<connection-server>/vmrest/users/<user-objectid>/alternateextensions/<alternateextension_objectid>
Accept: application/json
Content-type: application/json
Connection: keep-alive
{
"DtmfAccessId":"123345"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Delete Alternate Extension
DELETE
https://<connection-server>/vmrest/users/<user-objectid>/alternateextensions/<alternateextension_objectid>
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
JSON Example
DELETE
https://<connection-server>/vmrest/users/<user-objectid>/alternateextensions/<alternateextension_objectid>
Accept: application/json Connection: keep-alive
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
32
Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Extension
Update Basic Settings of Alternate Extension
Page 65
Explanation of Data Fields
Description
Operation
Data Type
Field Name
URI of Alternate Extension
Read Only
String
URI
An index into the alternate extensions for a
subscriber. Possible value can be 0-20.
Admin-defined alternate extensions utilize the
range of 1-10. User-defined alternate extensions
utilize the range of 11-20.
Integer
Read/Write
IdIndex
The dialable number.
Read/Write
String(319)
DtmfAccessId
URI of partition to which the DtmfAccessId is
assigned.
Read Only
String
PartitionURI
The unique identifier of the Partition to which
the DtmfAccessId is assigned.
Read/Write
String(36)
PartitionObjectId
The unique identifier of the Location object to
which this location (denormalized) belongs.
Read/Write
String(36)
LocationObjectId
The unique identifier of the Extension
Read Only
String(36)
ObjectId
The text name of this DtmfAccessId to be used
when displaying entries.
Read/Write
String(64)
DisplayName
URI for getting and setting the advanced
settings of Alternate Extension
Read Only
String
AlternateExtensionAdvancedURI
Explanation of Data Fields: Advance Settings
Description
Operation
Data
Type
Field Name
URI of Advance setting of Alternate Extension
Read Only
String
URI
The default method the subscriber will use to address
messages to other subscribers. This can be addressing
by ID, addressing by first name then last name, or by
last name and then first name. Possible Values can be
0-2.
Read/Write
Integer
AddressMode
The amount of time (in milliseconds) between digits
on a multiple digit menu command entry (i.e. different
than the inter digit timeout that is used for strings of
digits such as extensions and transfer strings). Possible
Values can be 250-5000.
Read/Write
Integer
CommandDigitTimeout
Voice Recognition Confirmation Confidence
Threshold Possible Values can be 0-100.
Read/Write
Integer
ConfirmationConfidenceThreshold
Cisco Unity Connection Provisioning Interface (CUPI) API
33
Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Extension
Explanation of Data Fields
Page 66
Description
Operation
Data
Type
Field Name
A flag indicating whether Cisco Unity Connection
will request confirmation from a subscriber before
proceeding with a deletion of a single new or saved
message.
Possible Values can be:
• false: Cisco Unity Connection will not request
confirmation from a subscriber before proceeding
with a deletion of a single new or saved message.
• true: Cisco Unity Connection will request
confirmation from a subscriber before proceeding
with a deletion of a single new or saved message
Read/Write
Boolean
ConfirmDeleteMessage
A flag indicating whether when addressing, after
entering one recipient name, whether the subscriber
is asked to enter another name or assume the
subscriber is finished adding names and is ready to
move on to recording the message or applying
message options.
Possible values:
• 0: Unity Connection prompts subscribers to press
1 to add more recipients.
• 1: Unity Connection does not prompt subscribers
to press 1 to add more recipients. Instead,
subscribers continue entering recipient names or
extensions (as applicable) until they indicate that
they have completed addressing.
- Changing this setting affects the Send and Forward
flows for all subscribers associated with the Unity
Connection server, regardless of subscriber
conversation style and whether Unity Connection is
set up to prompt subscribers to record before or after
addressing. - By enabling streamlined addressing,
forwarding messages to single recipients requires that
subscribers press an extra keystroke as when
streamlined addressing is disabled.
Read/Write
Boolean
ContinuousAddMode
The device to which this DeviceCustomConvSetting
object belongs. The unique identifier of the
DtmfAccessId object to which these setting apply.
Read Only
String(36)
Device_DtmfAccessIdObjectId
The amount of time to wait (in milliseconds) for first
digit when collecting touchtone. Possible Values can
be 500-10000.
Read/Write
Integer
FirstDigitTimeout
Cisco Unity Connection Provisioning Interface (CUPI) API
34
Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Extension
Explanation of Data Fields: Advance Settings
Page 67
Description
Operation
Data
Type
Field Name
The amount of time to wait (in milliseconds) for input
between touch tones when collecting digits in
touchtone conversation. Possible Values can be
1000-10000.
Read/Write
Integer
InterDigitDelay
A flag indicating whether the subscriber conversation
jumps directly to the first message in the message
stack after subscriber sign-in.
Subscribers will not hear message counts, their own
name, top level menus, etc when this setting is active.
Possible Values:
• false: Subscriber conversation does not jump
directly to first message in the message stack
after subscriber sign-in.
• true: Subscriber conversation jumps directly to
the first message in the message stack after
subscriber sign-in.
Read/Write
Boolean
JumpToMessagesOnLogin
The audio speed Cisco Unity Connection uses to play
back messages to the subscriber.
Possible Values: A value between 0 and 200 is
allowed.
• Normal speed, the speed at which messages are
recorded is a value of 100.
• Twice as fast as normal speed is a value of 200.
• Half as fast as normal speed is a value of 50.
Read/Write
Integer
MessageSpeed
The audio volume expressed as a percentage that
Cisco Unity Connection uses to play back message.
Possible Values: A value between 0 and 100 is
allowed.
• Normal volume, the volume used to record a
message is a value of 50.
• Twice as loud is a value of 100.
• Half as loud as normal volume is a value of 25.
Note that the value is only used for message play back,
not for other parts of the conversation.
Read/Write
Integer
MessageVolume
Cisco Unity Connection Provisioning Interface (CUPI) API
35
Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Extension
Explanation of Data Fields: Advance Settings
Page 68
Description
Operation
Data
Type
Field Name
Indicates whether the voice name of the subscriber or
distribution list added to an address list when a
subscriber addresses a message to other subscribers
is played.
Possible Values:
• true
• false
Read/Write
Boolean
NameConfirmation
A globally unique, system-generated identifier for an
object.
Read Only
String(36)
ObjectId
The audio speed Cisco Unity Connection uses to play
back prompts to the subscriber.
Possible Values: A value between 0 and 200 is
allowed.
• Normal speed, the speed at which messages are
recorded is a value of 100.
• Twice as fast as normal speed is a value of 200.
• Half as fast as normal speed is a value of 50.
Read/Write
Integer
PromptSpeed
The volume level for playback of system prompts.
Possible Values: A value between 0 and 100 is
allowed.
• Normal volume, the volume used to record a
message is a value of 50.
• Twice as loud is a value of 100.
• Half as loud as normal volume is a value of 25.
Note that the value is only used for playback of system
prompts, not for other parts of the conversation.
Read/Write
Integer
PromptVolume
The number of times to repeat a menu in touchtone.
Possible Values: 0-250
Read/Write
Integer
RepeatMenu
A flag indicating when hanging up while listening to
a new message, whether the message is marked new
again or is marked read.
Possible values:
• true
• false
Read/Write
Boolean
SaveMessageOnHangup
Cisco Unity Connection Provisioning Interface (CUPI) API
36
Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Extension
Explanation of Data Fields: Advance Settings
Page 69
Description
Operation
Data
Type
Field Name
Indicates when hanging up while addressing a
message that has a recording and at least one recipient,
whether the message is discarded, saved or the
message is sent.
Possible Values:
• 0: Message is not sent on hangup unless
subscriber explictly issues the command to send
the message via DTMFor voice command.
• 1: Message is sent on hangup if it has a recording
and at least one valid recipient
• 2: Message is saved as a draft message
Read/Write
Integer
SendMessageOnHangup
Indicates the amount of time (in milliseconds) to jump
forward when skipping ahead in a voice or TTS
message using either DTMF or voice commands while
reviewing messages.Possible Values: 1000-60000
Read/Write
Integer
SkipForwardTime
A flag indicating whether the subscriber will be asked
for his/her PIN.
Possible Values:
• false: Subscriber will not be asked for their PIN
when calling in from a known device.
• true: Subscriber will be asked for their PIN when
calling in from a known device.
Read/Write
Boolean
SkipPasswordForKnownDevice
Indicates the amount of time (in milliseconds) to jump
backward when skipping in reverse in a voice or TTS
message using either DTMF or voice commands while
reviewing messages.
Possible Values: 1000-60000
Read/Write
Integer
SkipReverseTime
Specifies the required length of silence (in
milliseconds) from when the speech prior to the
silence matches an active grammar, but where it is
possible to speak further and still match the grammar.
By contrast, the SpeechCompleteTimeout property is
used when the speech prior to the silence matches an
active grammar and no further words can be spoken.
Possible Values: 300-0000
Read/Write
Integer
SpeechIncompleteTimeout
URI of the subscriber to which alternate extension
belongs
Read Only
String
UserURI
Cisco Unity Connection Provisioning Interface (CUPI) API
37
Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Extension
Explanation of Data Fields: Advance Settings
Page 70
Description
Operation
Data
Type
Field Name
A variable level of sound sensitivity that enables the
speech engine to filter out background noise and not
mistake it for speech. A higher value means higher
sensitivity.
Possible Values: 0-100
Read/Write
Integer
SpeechSensitivity
Object id of Subscriber to which the Alternate
Extension Belongs.
Read Only
String(36)
SubscriberObjectId
A flag indicating whether the speech recognition
conversation is the default conversation for the
subscriber.
Possible Values:
• false: Speech recognition conversation is not
default conversation for the subscriber.
• true: Speech recognition conversation is the
default conversation for the subscriber.
This is different from the voice-recognition class of
service which indicates that the subscriber is allowed
to use the voice-recognition conversation
Read/Write
Boolean
UseVui
Cisco Unity Connection Provisioning Interface (CUPI) API
38
Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Extension
Explanation of Data Fields: Advance Settings
Page 71
C H A P T E R 12
Cisco Unity Connection Provisioning Interface
(CUPI) API -- Alternate Names API
Links to Other API pages: Cisco_Unity_Connection_APIs
• Alternate Names API, on page 39
Alternate Names API
Listing the Alternate Names
GET
https://<connection-server>/vmrest/alternatenames?query=(GlobalUserObjectId%20is%20<user-objectid>)
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<AlternateNames total="3">
<AlternateName>
<URI>/vmrest/alternatenames/5fa9e143-d9d3-42ea-9370-e763d8ee319d</URI>
<FirstName>sd</FirstName>
<LastName>asd</LastName>
<ObjectId>5fa9e143-d9d3-42ea-9370-e763d8ee319d</ObjectId>
<GlobalUserObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</GlobalUserObjectId>
<GlobalUserURI>/vmrest/globalusers/9375d893-c8eb-437b-90bf-7de4b1d0c3e8</GlobalUserURI>
</AlternateName>
<AlternateName>
<URI>/vmrest/alternatenames/89b0a8b9-68d7-445c-acb9-aaf2a569d5ef</URI>
<FirstName>sqdas</FirstName>
<LastName>asqd</LastName>
<ObjectId>89b0a8b9-68d7-445c-acb9-aaf2a569d5ef</ObjectId>
<GlobalUserObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</GlobalUserObjectId>
<GlobalUserURI>/vmrest/globalusers/9375d893-c8eb-437b-90bf-7de4b1d0c3e8</GlobalUserURI>
</AlternateName>
<AlternateName>
<URI>/vmrest/alternatenames/dc03dec6-a9df-4d2b-8972-78c3bceec987</URI>
<FirstName>sdwds</FirstName>
<LastName>asd</LastName>
<ObjectId>dc03dec6-a9df-4d2b-8972-78c3bceec987</ObjectId>
<GlobalUserObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</GlobalUserObjectId>
<GlobalUserURI>/vmrest/globalusers/9375d893-c8eb-437b-90bf-7de4b1d0c3e8</GlobalUserURI>
Cisco Unity Connection Provisioning Interface (CUPI) API
39

Page 72
</AlternateName>
</AlternateNames>
Response Code: 200
JSON Example
GET
https://<connection-server>/vmrest/alternatenames?query=(GlobalUserObjectId%20is%20<user-objectid>)
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Response Code: 200
Create a new Alternate Name
The mandatory fields for creation of an alternate name are: FirstName, LastName, and GlobalUserObjectId.
The URI for getting partition object ID use:
GET https://<connection-server>/vmrest/partitions
The following URI is fetched from the response body of above URI:
https://<connection-server>/vmrest/users/<user-objectid>
The Request URI:
POST https://<connection-server>/vmrest/alternatenames
<AlternateName>
<FirstName>sdwds</FirstName>
<LastName>asd</LastName>
<GlobalUserObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</GlobalUserObjectId>
</AlternateName>
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/alternatenames/f375d893-c8eb-437b-90bf-7de4b1d0c3e8
JSON Example
POST https://<connection-server>/vmrest/alternatenames
Accept: application/json
Content-type:
application/json
Connection: keep-alive
Request body:
{
"FirstName":"and",
"LastName":"gupta",
"GlobalUserObjectId":"9375d893-c8eb-437b-90bf-7de4b1d0c3e8"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/alternatenames/f375d893-c8eb-437b-90bf-7de4b1d0c3e8
Cisco Unity Connection Provisioning Interface (CUPI) API
40
Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Names API
Create a new Alternate Name
Page 73
Update Alternate Names
PUT https://<connection-server>/vmrest/alternatenames/<objectid>
<AlternateName>
<FirstName>kapil</FirstName>
<LastName>gupta</LastName>
</AlternateName>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
PUT https://<connection-server>/vmrest/alternatenames/<objectid>
Accept: application/json
Content-type:
application/json
Connection: keep-alive
{
"FirstName":"John",
"LastName":"gupta"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response code: 204
Delete Alternate Names
DELETE https://<connection-server>/vmrest/alternatenames/<objectid>
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
JSON Example
DELETE https://<connection-server>/vmrest/alternatenames/<objectid>
Accept: application/json
Connection: keep-alive
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response code: 204
Reference
•
Cisco Unity Connection Provisioning Interface (CUPI) API
41
Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Names API
Update Alternate Names
Page 74
Cisco Unity Connection Provisioning Interface (CUPI) API
42
Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Names API
Reference
Page 75
C H A P T E R 13
Cisco Unity Connection Provisioning Interface
(CUPI) API -- User Caller Input
Links to Other API pages:Cisco_Unity_Connection_APIs
• Caller Inputs API, on page 43
Caller Inputs API
To get the caller input URI, follow the steps given below:
GET https://<connection-server>/vmrest/users/<user-objectid>
From above URI get the call handler URI:
GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>
To edit caller inputs, you need to get the menu entries:
GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/menuentries
Listing Caller Inputs
GET
https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/menuentries/<key>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<MenuEntry>
<URI>/vmrest/handlers/callhandlers/287cdcc0-9f77-48e0-a7b1-0f9b1a5ac842/menuentries/1</URI>
<CallHandlerObjectId>287cdcc0-9f77-48e0-a7b1-0f9b1a5ac842</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/287cdcc0-9f77-48e0-a7b1-0f9b1a5ac842</CallhandlerURI>
<TouchtoneKey>1</TouchtoneKey>
<Locked>false</Locked>
<Action>7</Action>
<TargetConversation>BroadcastMessageAdministrator</TargetConversation>
<ObjectId>d2a363af-d3f6-46cf-81c9-5ad48d2dccd7</ObjectId>
<DisplayName>abc</DisplayName>
<TransferType>0</TransferType>
Cisco Unity Connection Provisioning Interface (CUPI) API
43

Page 76
<TransferRings>9</TransferRings>
</MenuEntry>
JSON Example
GET
https://<Connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/menuentries/4
Accept: application/json
Connection:
keep-alive
{
"URI":"/vmrest/handlers/callhandlers/43bb6590-e9e3-43ca-972e-e3e158a96126/menuentries/4"
"CallHandlerObjectId":"43bb6590-e9e3-43ca-972e-e3e158a96126"
"CallhandlerURI":"/vmrest/handlers/callhandlers/43bb6590-e9e3-43ca-972e-e3e158a96126"
"TouchtoneKey":"4"
"Locked":"false"
"Action":"2"
"TargetConversation":"AD"
"TargetHandlerObjectId":"80b1b22b-2fd8-458e-abd1-294e83a9ec55"
"ObjectId":"a164d69a-5d0a-4c07-b2e2-d972448950db"
}
Response code: 200
Updating Caller Input Parameters
The following is an example of the PUT request that updates caller input parameters:
PUT https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>
<Callhandler>
<OneKeyDelay>9999</OneKeyDelay>
<EnablePrependDigits>true</EnablePrependDigits>
<PrependDigits>4545</PrependDigits>
</Callhandler>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
<Prepend Digits> parameter must be having digits only (extension parameter)
Note
Updating Caller Input Keys
The following is an example of the PUT request that updates the call input keys:
PUT
https://<connection-server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>/menuentries
The following is an example of the PUT request that edits the call input keys for ():
PUT
https://<connection-server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>/menuentries/
Request Body:
<MenuEntry>
<Locked>true</Locked>
</MenuEntry>
Cisco Unity Connection Provisioning Interface (CUPI) API
44
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Caller Input
Updating Caller Input Parameters

Page 77
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Parameters
Values
Ignore
0
Hang Up
1
Take Message
4
Skip Greeting
5
Restart Greeting
6
Transfer to alternate contact number
7
Route from next call routing rule
8
Example 1: Edit call actions
Request Body:
<MenuEntry>
<Action>7</Action>
<TransferType>1</TransferType>
<TransferNumber>2344</TransferNumber>
<TransferRings>4</TransferRings>
</MenuEntry>
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Example 2: Edit Call Handler The following is an example of the PUT request that shows the call handler
object ID:
PUT https://<connection-server>/vmrest/handlers/callhandlers
Request Body:
<MenuEntry>
<Action>2</Action>
<TargetConversation>PHGreeting</TargetConversation>
<TargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</TargetHandlerObjectId>
</MenuEntry>
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Example 3: Interview handler
Request Body:
<MenuEntry>
<Action>2</Action>
<TargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</TargetHandlerObjectId>
</MenuEntry>
Cisco Unity Connection Provisioning Interface (CUPI) API
45
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Caller Input
Updating Caller Input Keys
Page 78
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Example 4: Directory handler
Request Body:
<MenuEntry>
<Action>2</Action>
<TargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</TargetHandlerObjectId>
</MenuEntry>
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Example 5: Conversation
Request Body: for broadcast message administrator
</MenuEntry>
<Action>2</Action>
<TargetConversation>BroadcastMessageAdministrator</TargetConversation>
</MenuEntry>
The following is the response from the PUT request for broadcast message administrator and the actual
response will depend upon the information given by you:
Response Code: 204
Request Body: for caller system transfer
<MenuEntry>
<Action>2</Action>
<TargetConversation>SystemTransfer</TargetConversation>
</MenuEntry>
The following is the response from the PUT request for caller system transfer and the actual response will
depend upon the information given by you:
Response Code: 204
Request Body: for greeting administrator
<MenuEntry>
<Action>2</Action>
<TargetConversation>GreetingAdministrator</TargetConversation>
</MenuEntry>
The following is the response from the PUT request for greeting administrator and the actual response will
depend upon the information given by you:
Response Code: 204
Request Body: for sign in
<MenuEntry>
<Action>2</Action>
<TargetConversation>SubSignIn</TargetConversation>
</MenuEntry>
Cisco Unity Connection Provisioning Interface (CUPI) API
46
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Caller Input
Updating Caller Input Keys
Page 79
The following is the response from the PUT request for sign in and the actual response will depend upon
the information given by you:
Response Code: 204
Request Body: for user system transfer
<MenuEntry>
<Action>2</Action>
<TargetConversation>SubSysTransfer</TargetConversation>
</MenuEntry>
The following is the response from the PUT request for user system transfer and the actual response will
depend upon the information given by you:
Response Code: 204
Example 4: Users with Mailbox
Request Body:
<MenuEntry>
<Action>2</Action>
<TargetConversation>PHTransfer</TargetConversation>
<TargetHandlerObjectId>71cb381b-fd16-4ba8-8a1d-e71684e57b0e</TargetHandlerObjectId>
</MenuEntry>
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
JSON Example
For conversation, do the following:
Request URI:
PUT
https://<connection-server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>/menuentries/4
Accept: application/json
Content-type: application/json
Connection: keep-alive
Request Body:
{
"Action":"2",
"TargetConversation":"SubSignIn"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
47
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Caller Input
Updating Caller Input Keys
Page 80
Explanation of Data Fields
Comments
Operations
Data
Type
Parameter
Indicate the amount of time that System waits for additional input
after callers press a single key that is not locked. If there is no input
within this time, system performs the action assigned to the single
key.
We recommend a value of 1,500 milliseconds (one and one-half
seconds).
Note
• This option is unavailable if Ignore Caller Input
is enabled on the Greetings page.
• OneKeyDelay can only accept integer with value
0 through 10000
Read/Write
Integer
OneKeyDelay
Unique Id for menu entry.
Read Only
String(36)
ObjectId
To simulate abbreviated extensions by using prepended digits for
call handlers and user mailboxes. When such digits are defined, they
are prepended to any extension that a caller dials while listening to
the greeting for the call handler or user mailbox.
Possible values:
• true
• false
Default value: false.
Read/Write
Boolean
EnablePrependDigits
Digits that are prepended to any extension that a caller dials while
listening to the greeting of the user.
Read/Write
Integer
PrependDigits
Parameters for caller input keys are present in menu entries URI.
For # touchtone key, symbol %23 is used in the URI.
Note
Read Only
String(36)
MenuEntriesURI
Indicates the phone keypad key to which the settings apply.
Read Only
String(1)
TouchtoneKey
A locked menu entry does not allow additional dialing after this
choice is entered.
Values can be: • false: Unlocked - Additional dialing after this choice
is entered is allowed • true: Locked - Additional dialing is ignored
Default value: false.
Read/Write
Boolean
Locked
Takes values from 0-8. See table for values.
Default value: 0
Read/Write
Integer
Action
Menu entries can only belong to call handlers. No other object can
own a menu entry.
Read Only
String(36)
CallHandlerObjectId
The name of the conversation to which the caller is routed.
Read/Write
String(36)
TargetConversation
Cisco Unity Connection Provisioning Interface (CUPI) API
48
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Caller Input
Explanation of Data Fields
Page 81
Comments
Operations
Data
Type
Parameter
The unique identifier of the specific object to send along to the target
conversation.
Read/Write
String(36)
TargetHandlerObjectId
Extension to which call is transferred.
Read/Write
Integer
TransferNumber
Descriptive name of the handler being used.
Read/Write
String(24)
DisplayName
The type of call transfer Cisco Unity Connection will perform -
supervised or unsupervised (also referred to as "Release to Switch"
transfer).
Possible Values:
• 0: Release to switch
• 1: Supervise transfer
Default Value: 0 TransferRings Integer Read/Write Applies only
when the "TransferType" column is set to supervised (1). This value
should never be less than 2 for a supervised transfer. Possible value:
2-20 Default value: 4
Read/Write
Integer
TransferType
Cisco Unity Connection Provisioning Interface (CUPI) API
49
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Caller Input
Explanation of Data Fields
Page 82
Cisco Unity Connection Provisioning Interface (CUPI) API
50
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Caller Input
Explanation of Data Fields
Page 83
C H A P T E R 14
Cisco Unity Connection Provisioning Interface
(CUPI) API -- User Greetings
Links to Other API pages: Cisco_Unity_Connection_APIs
• Greetings API, on page 51
Greetings API
The following URI can be used to view the user template object ID:
GET https://<connection-server>/vmrest/users/<user-objectid>
From the above URI, get the call handler object ID:
GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>
The following URI can be used to view the greetings:
GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings
The following URI can be used to view the alternate greeting:
GET
https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Alternate
The following URI can be used to view the busy greeting:
GET
https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Busy
The following URI can be used to view the error greeting:
GET
https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Error
The following URI can be used to view the closed greeting:
GET
https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Off%20Hours
Cisco Unity Connection Provisioning Interface (CUPI) API
51

Page 84
The following URI can be used to view the standard greeting:
GET
https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Standard
The following URI can be used to view the holiday greeting:
GET https://<connection-server>/vmrest/callhandlers/<CallhandlerObjectId>/greetings/Holiday
Updating Fields of Greeting
PUT
https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Alternate
Request Body: Enable greeting
<Greeting>
<EnableTransfer>true</EnableTransfer>
</Greeting>
The following is the response from the PUT request to enable greeting and the actual response will depend
upon the information given by you:
Response Code: 204
Request Body: enable with no end date
<Greeting>
<EnableTransfer>true</EnableTransfer>
<TimeExpires></TimeExpires>
</Greeting>
The following is the response from the PUT request to enable with no end date and the actual response will
depend upon the information given by you:
Response Code: 204
Request Body: enable until
<Greeting>
<EnableTransfer>true</EnableTransfer>
<TimeExpires>2014-12-31 05:30:00.000</TimeExpires>
</Greeting>
The following is the response from the PUT request to enable until and the actual response will depend
upon the information given by you:
Response Code: 204
Request Body: edit caller hears
<Greeting>
<PlayWhat>2</PlayWhat>
<PlayRecordMessagePrompt>true</PlayRecordMessagePrompt>
</Greeting>
Cisco Unity Connection Provisioning Interface (CUPI) API
52
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Greetings
Updating Fields of Greeting
Page 85
The following is the response from the PUT request to edit caller hears and the actual response will depend
upon the information given by you:
Response Code: 204
Request Body: enable ignore caller inputs
<Greeting>
<IgnoreDigits>true</IgnoreDigits>
</Greeting>
The following is the response from the PUT request to enable ignore caller inputs and the actual response
will depend upon the information given by you:
Response Code: 204
Request Body: enable allow transfers to numbers not associated with users or call handlers
<Greeting>
<IgnoreDigits>false</IgnoreDigits>
<EnableTransfer>true</EnableTransfer>
</Greeting>
The following is the response from the PUT request to enable allow transfers to numbers not associated
with users or call handlers and the actual response will depend upon the information given by you:
Response Code: 204
JSON Example
PUT
https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Alternate
Accept: application/json
Content-type: application/json
Connection: keep-alive
{
"EnableTransfer":"true","IgnoreDigits":"false"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Explanation of Data Fields
Comments
Operations
Data
Type
Parameter
Unique identifier of the directory entry.
Read
Only
String(36)
ObjectId
The unique identifier of the call handler object to which this
greeting rule belongs.
Read
Only
String(36)
CallHandlerObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
53
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Greetings
Explanation of Data Fields
Page 86
Comments
Operations
Data
Type
Parameter
A flag indicating whether Cisco Unity Connection takes action
in response to touchtone keys pressed by callers during the
greeting.
Values can be:
• false: Caller input enabled during greeting
• true: Caller input ignored during greeting
Default Value: false
Read/Write
Boolean
IgnoreDigits
The source for the greeting when this greeting is active.
Default Value: 0 Default Values can be:
• Call handler - 1 (recording)
• Subscriber - 0 (system)
Read/Write
Integer(2)
PlayWhat
The amount of time (in seconds) that Cisco Unity Connection
waits without receiving any input from a caller before Cisco
Unity Connection prompts the caller again.
Default Value:2 Values can be:
• 0: Do wait without receiving caller input and do not replay
greeting.
• 1 or greater: Wait this number of seconds without
receiving any input from the caller before playing the
greeting again.
Read/Write
Integer(2)
RepromptDelay
The number of times to reprompt a caller. After the number
of times indicated here, Cisco Unity Connection performs the
after-greeting action.
Default Value: 0 Values can be:
• 0: Do not reprompt - Cisco Unity Connection will play
the greeting once and then the after-greeting action is
taken.
• 1 or greater: Number of times to reprompt.
Read/Write
Integer(2)
Reprompts
The date and time when the greeting rule expires. The greeting
rule is considered not expired (enabled), if the value is NULL
or a future date. The greeting rule is considered expired
(disabled), the value is in the past.
Read/Write
Data
Time(8)
TimeExpires
The type of greeting, e.g. "Standard," "Off Hours," "Busy,"
etc.
Read
Only
String(12)
GreetingType
Cisco Unity Connection Provisioning Interface (CUPI) API
54
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Greetings
Explanation of Data Fields
Page 87
Comments
Operations
Data
Type
Parameter
AfterMessageAction can only accept integer with value 1, 2,
4, 6, 8
Values can be:
• 1: Hang up
• 2. for other actions with object id (call handler, interview
handler, directory handler)
• 4. Take Message
• 6. Restart greeting
• 8: Route from next call routing rule.
Read/Write
Integer(2)
AfterGreetingAction
The unique identifier of the CallAction object that determines
what action Cisco Unity Connection will take on the call after
the greeting is played.
Read/Write
String(36)
AfterGreetingActionObjectId
The name of the conversation to which the caller is routed.
Read/Write
String(64)
AfterGreetingTargetConverstion
The unique identifier of the specific object to send along to
the target conversation.
Read/Write
String(36)
AfterGreetingTargetHandlerObjectId
A flag indicating whether the "Record your message at the
tone…" prompt prior to recording a message.
Values can be:
• 0: System will not play the "Record your message at the
tone…" prompt prior to recording a message.
• 1: System will play the "Record your message at the
tone…" prompt prior to recording a message.
Default Value: 1
Read/Write
Integer(2)
PlayRecordMessagePrompt
Cisco Unity Connection Provisioning Interface (CUPI) API
55
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Greetings
Explanation of Data Fields
Page 88
Comments
Operations
Data
Type
Parameter
A flag indicating when an extension is dialed at the greeting
and the extension is not available whether to transfer to another
extension.
Default value: 0 Values can be:
• 0: User cannot be transferred to another extension.
• 1: User can "be transferred to another extension."
Greeting Type
• 1.Alternate - can be used for a variety of special situations,
such as vacations, leave of absence, or a holiday. An
alternate greeting overrides all other greetings.
• 2.Busy - plays when the extension is busy. A busy
greeting overrides the standard, off hours, and internal
greetings.
• 3.Error - plays when a caller attempts to dial an extension
that does not exist on the system during a greeting.
• 4.Internal - plays to internal callers only. An internal
greeting overrides the standard and off hours greetings.
• 5.Off hours - plays during the closed (nonbusiness) hours
defined for the active schedule. An off hours greeting
overrides the standard greeting, and thus limits the
standard greeting to the open hours defined for the active
schedule.
• 6.Standard - plays at all times unless overridden by
another greeting. You cannot disable the standard
greeting.
• 7.Holiday - plays when holiday schedule is encountered
unless overridden by an alternate greeting.
Read/Write
Boolean
EnableTransfer
Cisco Unity Connection Provisioning Interface (CUPI) API
56
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Greetings
Explanation of Data Fields
Page 89
C H A P T E R 15
Cisco Unity Connection Provisioning Interface
(CUPI) API -- User Mailbox API
Links to Other API pages: Cisco_Unity_Connection_APIs
• Mailbox API, on page 57
• Listing the Mailbox Details of a User, on page 57
• Updating Mailbox Quota, on page 58
• Explanation of Data Fields, on page 59
Mailbox API
To get object ID for message aging policy, use URI
GET https://<connection server>/vmrest/messageagingpolicies
GET https://<connection server>/vmrest/users/<userobjectid>/mailboxattributes
Listing the Mailbox Details of a User
GET https://<connection-server>/vmrest/users/<userobjectid>/mailboxattributes
The following is the response from the GET request and the actual response will depend upon the information
given by you:
<MailboxAttributes>
<ByteSize>0</ByteSize>
<MessageAgingPolicyObjectId>efb2f81f-32c5-4ed6-ba6b-d85260012d5c</MessageAgingPolicyObjectId>
<Mounted>true</Mounted>
<NotificationType>0</NotificationType>
<SendReadReceipts>false</SendReadReceipts>
<NumMessages>0</NumMessages>
<Send>1024</Send>
<Receive>1024</Receive>
<Warn>1024</Warn>
</MailboxAttributes>
Cisco Unity Connection Provisioning Interface (CUPI) API
57

Page 90
Response Code: 200
JSON Example
GET https://<connection-server>/vmrest/users/<userobjectid>/mailboxattributes
Accept: application/json
Connection: keep-alive
The following is the response from the GET request and the actual response will depend upon the information
given by you:
{
"ByteSize":"0",
"MessageAgingPolicyObjectId":"efb2f81f-32c5-4ed6-ba6b-d85260012d5c",
"Mounted": "true",
"NotificationType":"0",
"SendReadReceipts":"false",
"NumMessages":"0",
"ReceiveQuota":"1024",
"SendQuota":"1024",
"WarningQuota":"1024"
}
Response Code: 200
Updating Mailbox Quota
Request Body: for use system settings
<UserTemplate>
<ReceiveQuota>-2</ReceiveQuota>
<SendQuota>-2</SendQuota>
<WarningQuota>-2</WarningQuota>
</UserTemplate>
The following is the response from the PUT request for use system settings and the actual response will
depend upon the information given by you:
Response Code: 204
Request Body: for custom system maximum settings
<UserTemplate>
<ReceiveQuota>-1</ReceiveQuota>
<SendQuota>-1</SendQuota>
<WarningQuota>-1</WarningQuota>
</UserTemplate>
The following is the response from the PUT request for custom system maximum settings and the actual
response will depend upon the information given by you:
Response Code: 204
Request Body: for custom settings
Cisco Unity Connection Provisioning Interface (CUPI) API
58
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Mailbox API
Updating Mailbox Quota
Page 91
<UserTemplate>
<ReceiveQuota>1048576</ReceiveQuota>
<SendQuota>1048576</SendQuota>
<WarningQuota>1048576</WarningQuota>
</UserTemplate>
The following is the response from the PUT request for custom settings and the actual response will depend
upon the information given by you:
Response Code: 204
JSON Example
To change mailbox quota, do the following:
PUT https://<connection-server>/vmrest/users/<userobjectid>/mailboxattributes
Accept: application/json
Content-type: application/json
Connection: keep-alive
{
"ReceiveQuota":"104345",
"SendQuota":"104345",
"WarningQuota":"104345"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Above all values are in bytes and in Cisco Unity Connection Administration, it takes values in MB.
Note
Explanation of Data Fields
Description
Operation
Data
Types
Field Name
Send limit mailbox size (in bytes). (Max:2048 MB)
Possible values:
• 2: The default system quota is assigned.
• 1: The quota is unlimited.
1- n : Limit in bytes which is integral multiple of 1024 bytes.
Read/Write
Integer
Send
Cisco Unity Connection Provisioning Interface (CUPI) API
59
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Mailbox API
Explanation of Data Fields

Page 92
Description
Operation
Data
Types
Field Name
Warning limit mailbox size (in bytes). Maximum size can be 2048
MB.
Possible values:
• 2: The default system quota is assigned.
• 1: The quota is unlimited.
1- n : Limit in bytes which is integral multiple of 1024 bytes.
Read/Write
Integer
Warning
Receive limit mailbox size (in bytes). Maximum size can be 2048
MB.
Possible values:
• 2: The default system quota is assigned.
• 1: The quota is unlimited.
• 1- n : Limit in bytes. which is integral multiple of 1024 bytes
Read/Write
Integer
Receive
A flag indicating whether the mailbox created with this subscriber
allows the system to send read receipts on its behalf.
Possible values:
• false: Disable
• true: Enable
Default value: false
Read/Write
Boolean
SendReadReceipts
The total size, in bytes, of all voice messages for the current user.
Read
Only
Integer
ByteSize
A flag indicating whether the mailbox store is mounted.
Possible value:
• false: unMounted
• true: Mounted
Default value: true
Read
Only
Boolean
Mounted
The notification type to use for this mailbox created
Possible value:
• false: Classical - marking a message unread, read and back
to unread will turn the notification (mwi) on, off and back
on.
• true: Modern - once a message has been touched (read) then
it will not trigger notifications each time the message is
marked unread and read again.
Default Value: false
Read/Write
Integer
NotificationType
The total number of new messages, read messages, and messages
that have been marked deleted
Read
Only
Integer
NumMessages
Cisco Unity Connection Provisioning Interface (CUPI) API
60
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Mailbox API
Explanation of Data Fields
Page 93
Description
Operation
Data
Types
Field Name
Object ID of a message aging policy
Read/Write
String
(36)
MessageAgingPolicyObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
61
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Mailbox API
Explanation of Data Fields
Page 94
Cisco Unity Connection Provisioning Interface (CUPI) API
62
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Mailbox API
Explanation of Data Fields
Page 95
C H A P T E R 16
Cisco Unity Connection Provisioning Interface
(CUPI) API -- User Message Actions API
Links to Other API pages: Cisco_Unity_Connection_APIs
• Message Actions API, on page 63
Message Actions API
Listing Message Actions
First hit the URI:
GET https://<connection-server>/vmrest/users/<user-objectid>
Then, fetch the following URI from the response body:
https://<connection-server>/vmrest/users/<user-objectid>/messagehandlers/<object Id>
The following is the response from the GET request and the actual response will depend upon the information
given by you:
<MessageHandler>
<URI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/messagehandlers/583722c8-e93b-42f0-8052-b75aa1ededb8</URI>
<ObjectId>583722c8-e93b-42f0-8052-b75aa1ededb8</ObjectId>
<SubscriberObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</SubscriberObjectId>
<UserURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8</UserURI>
<RelayAddress>Texoma@cisco.com</RelayAddress>
<VoicemailAction>2</VoicemailAction>
<EmailAction>2</EmailAction>
<FaxAction>2</FaxAction>
<DeliveryReceiptAction>1</DeliveryReceiptAction>
</MessageHandler>
Response Code: 200
JSON Example
Cisco Unity Connection Provisioning Interface (CUPI) API
63

Page 96
GET https://<connection-server>/vmrest/users/<objectid>/messagehandlers/<object Id>
Accept: application/json
Connection:
keep-alive
The following is the response from the GET request and the actual response will depend upon the information
given by you: Response Body:
{
"URI":"/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/messagehandlers/583722c8-e93b-42f0-8052-b75aa1ededb8"
"ObjectId":"583722c8-e93b-42f0-8052-b75aa1ededb8"
"SubscriberObjectId":"9375d893-c8eb-437b-90bf-7de4b1d0c3e8"
"UserURI":"/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8"
"RelayAddress":Texoma@cisco.com
"VoicemailAction":"2"
"EmailAction":"2"
"FaxAction":"2"
"DeliveryReceiptAction":"1"
}
Response Code: 200
Update Message Actions
First hit the URI:
https://<connection-server>/vmrest/users/<user-objectid>
Then fetch the following URI from the response body:
https://<connection-server>/vmrest/users/<user-objectid>/messagehandlers/<object Id>
<MessageHandler>
<VoicemailAction>2</VoicemailAction>
<EmailAction>2</EmailAction>
<FaxAction>2</FaxAction>
<DeliveryReceiptAction>1</DeliveryReceiptAction>
<RelayAddress>cguii@10.com</RelayAddress>
</MessageHandler>
Response code: 204
JSON Example
PUT https://<connection-server>/vmrest/users/<objectid>/messagehandlers/<object Id>
Accept: application/json
Content-type: application/json
Connection: keep-alive
{
"EmailAction":"2",
"FaxAction":"2",
"DeliveryReceiptAction":"1",
"RelayAddress":"john@cisco.com"
}
Cisco Unity Connection Provisioning Interface (CUPI) API
64
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Actions API
Update Message Actions
Page 97
Response code: 204
Explanation of Data Fields
Description
Operations
Data Type
Parameter
The action to take for delivery receipt messages. Possible values
are given just below the table.
Default value: 1
Read/Write
Integer
DeliveryReceiptAction
The action to take for email messages. Possible values are given
just below the table.
Default value: 1
Read/Write
Integer
EmailAction
The action to take for fax messages. Possible values are given
just below the table.
Default value: 1
Read/Write
Integer
FaxAction
The primary key for this table. A globally unique
system-generated identifier for a MessageHandler object
Read Only
String(36)
ObjectId
The SMTP address to which messages should be relayed
Read/Write
String(320)
RelayAddress
The unique identifier of the Subscriber object to which this
message handler belongs.
Read Only
String(36)
SubscriberObjectId
The action to take for voicemail messages. Possible values are
given just below the table.
Default value: 1
Read/Write
Integer
VoicemailAction
Email Action, Fax Action, Delivery Receipt Action, and Voicemail Action can take the following values:
• 0 - Reject the message
• 1 - Accept the message
• 2 - Relay the message
• 3 - Accept and relay the message
Cisco Unity Connection Provisioning Interface (CUPI) API
65
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Actions API
Explanation of Data Fields
Page 98
Cisco Unity Connection Provisioning Interface (CUPI) API
66
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Actions API
Explanation of Data Fields
Page 99
C H A P T E R 17
Cisco Unity Connection Provisioning Interface
(CUPI) API -- User Message Settings API
Links to Other API pages: Cisco_Unity_Connection_APIs
• Message Settings API, on page 67
Message Settings API
Administrator can use this API to create and update the message settings. All the parameters for message
settings are present in call handler.
GET https://<connection-server>/vmrest/users/<user-objectid>
From the above URI get the call handler URI:
GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>
Please Find below the combination of values to select language for a call handler: URI for timezone:
https://<connection-server>/vmrest/timezones.
URI for installed Languages:
https://<connection-server>/vmrest/installedlanguages.
URI to get all language codes supported:
https://<connection-server>/vmrest/languagemap.
Language
UseDefaultLanguage
UseCallLanguage
NULL/LanguageCode
true
false
Use System Default
Language
NULL/LanguageCode
true/false
true
Inherit Language from
Caller
Language Code
false
false
Particular Language
Cisco Unity Connection Provisioning Interface (CUPI) API
67

Page 100
Listing Message Settings
GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
68
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Settings API
Listing Message Settings
Page 101
<Callhandler>
<URI>/vmrest/handlers/callhandlers/287cdcc0-9f77-48e0-a7b1-0f9b1a5ac842</URI>
<CreationTime>2013-03-05T11:24:33Z</CreationTime>
<Language>1033</Language>
<Undeletable>false</Undeletable>
<LocationObjectId>42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationURI>
<EditMsg>true</EditMsg>
<IsPrimary>true</IsPrimary>
<OneKeyDelay>1500</OneKeyDelay>
<ScheduleSetObjectId>b8a03d12-d425-4cdb-ba36-88e64bf16432</ScheduleSetObjectId>
<ScheduleSetURI>/vmrest/schedulesets/b8a03d12-d425-4cdb-ba36-88e64bf16432</ScheduleSetURI>
<SendUrgentMsg>1</SendUrgentMsg>
<MaxMsgLen>300</MaxMsgLen>
<IsTemplate>false</IsTemplate>
<ObjectId>287cdcc0-9f77-48e0-a7b1-0f9b1a5ac842</ObjectId>
<RecipientSubscriberObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</RecipientSubscriberObjectId>
<RecipientUserURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8</RecipientUserURI>
<DisplayName>chhaviiiiiii</DisplayName>
<AfterMessageAction>2</AfterMessageAction>
<AfterMessageTargetConversation>SubSysTransfer</AfterMessageTargetConversation>
<TimeZone>190</TimeZone>
<UseDefaultLanguage>false</UseDefaultLanguage>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<MediaSwitchObjectId>ec1e2636-fc14-44fc-8cda-d6c1a3d61150</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/ec1e2636-fc14-44fc-8cda-d6c1a3d61150</PhoneSystemURI>
<UseCallLanguage>false</UseCallLanguage>
<SendSecureMsg>true</SendSecureMsg>
<EnablePrependDigits>false</EnablePrependDigits>
<DispatchDelivery>false</DispatchDelivery>
<CallSearchSpaceObjectId>4398317e-3f78-425c-aad8-22d9f818b3dd</CallSearchSpaceObjectId>
<CallSearchSpaceURI>/vmrest/searchspaces/4398317e-3f78-425c-aad8-22d9f818b3dd</CallSearchSpaceURI>
<InheritSearchSpaceFromCall>true</InheritSearchSpaceFromCall>
<PartitionObjectId>da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionObjectId>
<PartitionURI>/vmrest/partitions/da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionURI>
<PlayPostGreetingRecording>0</PlayPostGreetingRecording>
<PostGreetingRecordingObjectId>cc9de0b0-ddfd-479f-9cc1-b3ee14cba6d0</PostGreetingRecordingObjectId>
<SendPrivateMsg>1</SendPrivateMsg>
<PlayAfterMessage>1</PlayAfterMessage>
<GreetingsURI>/vmrest/handlers/callhandlers/287cdcc0-9f77-48e0-a7b1-0f9b1a5ac842/greetings</GreetingsURI>
<TransferOptionsURI>/vmrest/handlers/callhandlers/287cdcc0-9f77-48e0-a7b1-0f9b1a5ac842/transferoptions</TransferOptionsURI>
<MenuEntriesURI>/vmrest/handlers/callhandlers/287cdcc0-9f77-48e0-a7b1-0f9b1a5ac842/menuentries</MenuEntriesURI>
<CallHandlerOwnerURI>/vmrest/handlers/callhandlers/287cdcc0-9f77-48e0-a7b1-0f9b1a5ac842/callhandlerowners
</CallHandlerOwnerURI>
</Callhandler>
Cisco Unity Connection Provisioning Interface (CUPI) API
69
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Settings API
Listing Message Settings
Page 102
Response Code: 200
JSON Example
GET https://<connection-server>/vmrest/handlers/callhandlers/<CallHandlerObjectId>
Accept: application/json
Connection: keep-alive
Response Code: 200
Updating Message Settings
The following is an example of the PUT request that updates message settings:
PUT https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>
<Callhandler>
<EditMsg>true</EditMsg>
<MaxMsgLen>1000</MaxMsgLen>
<AfterMessageAction>1</AfterMessageAction>
<SendUrgentMsg>2</SendUrgentMsg>
<UseCallLanguage>false</UseCallLanguage>
<SendSecureMsg>false</SendSecureMsg
<SendPrivateMsg>1</SendPrivateMsg>
<PlayAfterMessage>2</PlayAfterMessage>
</Callhandler>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
PUT https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>
Accept: application/json
Content-type: application/json
Connection: keep-alive
{
"AfterMessageAction":"2",
"AfterMessageTargetConversation":"SystemTransfer"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response code: 204
Updating after Message Actions
Example 1: Call Handler
PUT
https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>
Cisco Unity Connection Provisioning Interface (CUPI) API
70
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Settings API
Updating Message Settings
Page 103
<Callhandler>
<AfterMessageAction>2</AfterMessageAction>
<AfterMessageTargetConversation>PHGreeting</AfterMessageTargetConversation>
<AfterMessageTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</AfterMessageTargetHandlerObjectId>
</Callhandler>
The following is an example of the GET request that shows the call handler object ID:
GET https://<connection-server>/vmrest/handlers/callhandlers
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Example 2: Interview Handler
<Callhandler>
<AfterMessageAction>2</AfterMessageAction>
<AfterMessageTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</AfterMessageTargetHandlerObjectId>
<AfterMessageTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</AfterMessageTargetHandlerObjectId>
</Callhandler>
The following is an example of the GET request that shows the interview handler template object ID:
GET https://<connection-server>/vmrest/handlers/interviewhandlers
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Example 3: Directory Handler
<Callhandler>
<AfterMessageAction>2</AfterMessageAction>
<AfterMessageTargetConversation>AD</AfterMessageTargetConversation>
<AfterMessageTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</AfterMessageTargetHandlerObjectId>
</Callhandler>
The following is an example of the GET request that shows the interview handler template object ID:
GET https://<connection-server>/vmrest/handlers/directoryhandlers
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Example 4: Conversation
Request Body: for broadcast message administrator
Cisco Unity Connection Provisioning Interface (CUPI) API
71
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Settings API
Updating after Message Actions
Page 104
<Callhandler>
<AfterMessageAction>2</AfterMessageAction>
<AfterMessageTargetConversation>BroadcastMessageAdministrator</AfterMessageTargetConversation>
</Callhandler>
The following is the response from the PUT request for broadcast message administrator and the actual
response will depend upon the information given by you:
Response Code: 204
Request Body: for caller system transfer
<Callhandler>
<AfterMessageAction>2</AfterMessageAction>
<AfterMessageTargetConversation>SystemTransfer</AfterMessageTargetConversation>
</Callhandler>
The following is the response from the PUT request for caller system transfer and the actual response will
depend upon the information given by you:
Response Code: 204
Request Body: for greeting administrator
<Callhandler>
<AfterMessageAction>2</AfterMessageAction>
<AfterMessageTargetConversation>GreetingAdministrator</AfterMessageTargetConversation>
</Callhandler>
The following is the response from the PUT request for greeting administrator and the actual response will
depend upon the information given by you:
Response Code: 204
For sign in
<Callhandler>
<AfterMessageAction>2</AfterMessageAction>
<AfterMessageTargetConversation>SubSignIn</AfterMessageTargetConversation>
</Callhandler>
The following is the response from the PUT request for sign in and the actual response will depend upon
the information given by you:
Response Code: 204
For system transfer:
Request Body:
<CallhandlerPrimaryTemplate>
<AfterMessageAction>2</AfterMessageAction>
<AfterMessageTargetConversation>SubSysTransfer</AfterMessageTargetConversation>
</CallhandlerPrimaryTemplate>
The following is the response from the PUT request for user system transfer and the actual response will
depend upon the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
72
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Settings API
Updating after Message Actions
Page 105
Response Code: 204
JSON Example
PUT https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>
Accept: application/json
Content-type: application/json
Connection: keep-alive
Request Body:
{
"AfterMessageAction":"2",
"AfterMessageTargetConversation":"SystemTransfer"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Explanation of Data Fields
Comments
Operations
Data
Type
Parameter
The maximum recording length (in seconds) for messages
left by unidentified callers.
Default value : 300 Range: 1-3600
Read/Write
Integer
MaxMsgLen
Allows callers to be prompted to listen to, add to, rerecord,
or delete their messages.
Values can be: • false: Callers cannot edit messages • true:
Callers can edit messages Default value: true
Read/Write
Boolean
EditMsg
Values can be:
• false: The language is the default language defined for
the call handler template.
• true: The language is derived from the location to
which this call handler template belongs.
Default value: true
Read/Write
Boolean
UseDefaultLanguage
This flag allows that language to be the language used by
handlers in the system to play prompts for users.
Values can be:
• false: Do not use the language specified by the system
call routing rule to play prompts for users
• true: Use the language specified by the system call
routing rule to play prompts for users
Default value: false
Read/Write
Boolean
UseCallLanguage
Cisco Unity Connection Provisioning Interface (CUPI) API
73
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Settings API
Explanation of Data Fields
Page 106
Comments
Operations
Data
Type
Parameter
A flag indicating whether an unidentified caller can mark
a message as "urgent." Values can be:
• 0: Never - messages left by unidentified calls are never
marked urgent.
• 1: Always - all messages left by unidentified callers
are marked urgent.
• 2: Ask - Cisco Unity Connection asks unidentified
callers whether to mark their messages urgent.
Default Value: 0
Read/Write
Integer
SendUrgentMsg
Determines if an outside caller can mark their message as
private.
Values can be:
• 0: Never - No messages are marked private.
• 1: Always - All messages are marked private.
• 2: Ask - Ask the outside caller if they wish to mark the
message as private.
Default Value: 0
Read/Write
Integer
SendPrivateMsg
A flag indicating whether an unidentified caller can mark
a message as "secure."
Values can be:
• false: Never - messages left by unidentified calls are
never marked secure.
• true: Always - all messages left by unidentified callers
are marked secure.
Default Value: false
Read/Write
Boolean
SendSecureMsg
Indicates whether the Sent Message Prompt Recording
referenced by Post Greeting
Values can be:
• 0: Do not play recording
• 1: System default recording
• 2: Play recording
Default value: 0
Read/Write
Integer
PlayAfterMessage
Cisco Unity Connection Provisioning Interface (CUPI) API
74
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Settings API
Explanation of Data Fields
Page 107
Comments
Operations
Data
Type
Parameter
AfterMessageAction can only accept integer with the
following values:
• 0: Ignore
• 1: Hang up
• 2: Goto
• 3: Error
• 4: TakeMsg
• 5: SkipGreeting
• 6: RestartGreeting
• 7: TransferAltContact
• 8: Route from next call routing rule.
Read/Write
Integer
AfterMessageAction
The unique identifier of the specific object to send along to
the target conversation.
Read/Write
String(36)
AfterMessageTargetHandlerObjectId
The name of the conversation to which the caller is routed.
Read/Write
String(64)
AfterMessageTargetConversation
The Windows Locale ID (LCID) that identifies the language
that Cisco Unity Connection plays for system prompts
Read/Write
Integer
Language
•
Cisco Unity Connection Provisioning Interface (CUPI) API
75
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Settings API
Explanation of Data Fields
Page 108
Cisco Unity Connection Provisioning Interface (CUPI) API
76
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Settings API
Explanation of Data Fields
Page 109
C H A P T E R 18
Cisco Unity Connection Provisioning Interface
(CUPI) API -- User Message Waiting Indicators
Links to Other API pages: Cisco_Unity_Connection_APIs
• Message Waiting Indicator (MWI) Settings API, on page 77
Message Waiting Indicator (MWI) Settings API
Listing All MWIs
GET https://<connection-server>/vmrest/users/<user-objectid>/mwis
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<Mwis total="1">
<Mwi>
<URI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/mwis/2c07a9ca-c041-4dfa-b0d1-7f633883a1b7</URI>
<SubscriberObjectId>4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1</SubscriberObjectId>
<UserURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1</UserURI>
<ObjectId>2c07a9ca-c041-4dfa-b0d1-7f633883a1b7</ObjectId>
<DisplayName>MWI-1</DisplayName>
<MwiExtension>99999</MwiExtension>
<MwiOn>false</MwiOn>
<MediaSwitchObjectId>ec1e2636-fc14-44fc-8cda-d6c1a3d61150</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/ec1e2636-fc14-44fc-8cda-d6c1a3d61150</PhoneSystemURI>
<IncludeTextMessages>false</IncludeTextMessages>
<IncludeVoiceMessages>true</IncludeVoiceMessages>
<IncludeFaxMessages>false</IncludeFaxMessages>
<Active>true</Active>
<UsePrimaryExtension>true</UsePrimaryExtension>
<MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName>
</Mwi>
</Mwis>
Response Code: 200
Cisco Unity Connection Provisioning Interface (CUPI) API
77

Page 110
Listing Details of a Specific MWI
GET https://<connection-server>/vmrest/users/<user-objectid>/mwis/<mwi-objectid>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<Mwi>
<URI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/mwis/1a231793-7168-44aa-8657-aa40eda67481</URI>
<SubscriberObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</SubscriberObjectId>
<UserURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8</UserURI>
<ObjectId>1a231793-7168-44aa-8657-aa40eda67481</ObjectId>
<DisplayName>MWI</DisplayName>
<MwiExtension>99934</MwiExtension>
<MwiOn>false</MwiOn>
<MediaSwitchObjectId>ec1e2636-fc14-44fc-8cda-d6c1a3d61150</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/ec1e2636-fc14-44fc-8cda-d6c1a3d61150</PhoneSystemURI>
<IncludeTextMessages>false</IncludeTextMessages>
<IncludeVoiceMessages>true</IncludeVoiceMessages>
<IncludeFaxMessages>false</IncludeFaxMessages>
<Active>true</Active>
<UsePrimaryExtension>true</UsePrimaryExtension>
<MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName>
</Mwi>
Response Code: 200
JSON Example
GET https://<connection-server>/vmrest/users/<user-objectid>/mwis/<mwi-objectid>
Accept: application/json
Connection: keep-alive
{
"URI":"/vmrest/users/53c84cf9-c8fe-4dd5-a295-b648b72b5a2c/mwis/810ce62e-eeec-4f47-85bd-68c69a7bca66"
"SubscriberObjectId":"53c84cf9-c8fe-4dd5-a295-b648b72b5a2c"
"UserURI":"/vmrest/users/53c84cf9-c8fe-4dd5-a295-b648b72b5a2c"
"ObjectId":"810ce62e-eeec-4f47-85bd-68c69a7bca66"
"DisplayName":"MWI-1"
"MwiExtension":"99999"
"MwiOn":"false"
"MediaSwitchObjectId":"e912b134-1bd0-45f9-baae-9f1e096ae3b9"
"PhoneSystemURI":"/vmrest/phonesystems/e912b134-1bd0-45f9-baae-9f1e096ae3b9"
"IncludeTextMessages":"false"
"IncludeVoiceMessages":"true"
"IncludeFaxMessages":"false"
"Active":"true"
"UsePrimaryExtension":"true"
"MediaSwitchDisplayName":"PhoneSystem"
}
Response Code: 200
Cisco Unity Connection Provisioning Interface (CUPI) API
78
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Waiting Indicators
Listing Details of a Specific MWI
Page 111
Create a New MWI
The mandatory fields for creation of a MWI are DisplayName, MediaSwitchObjectId, and MWIExtension.
URI for getting MediaswitchObjectId:
GET https://<connection-server>/vmrest/phonesystems
POST https://<connection-server>/vmrest/users/<user-objectid>/mwis
<Mwi>
<DisplayName>MWI-1</DisplayName>
<MwiExtension>9997</MwiExtension>
<MediaSwitchObjectId>ec1e2636-fc14-44fc-8cda-d6c1a3d61150</MediaSwitchObjectId>
</Mwi>
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/users/f82b301d-1ec8-44c6-a3ee-0012269439bf/mwis/a9159ac7-3857-480c-917d-0c599a32fc03
JSON Example:
To create MWI
POST https://<connection-server>/vmrest/users/<user-objectid>/mwis
Accept: application/json
Content-type:
application/json
Connection: keep-alive
Request Body:-
{
"DisplayName":"MWI-1",
"MwiExtension":9997",
"MediaSwitchObjectId":"ec1e2636-fc14-44fc-8cda-d6c1a3d61150"
}
Response Code: 201
/vmrest/users/f82b301d-1ec8-44c6-a3ee-0012269439bf/mwis/a9159ac7-3857-480c-917d-0c599a32fc03
Update a MWI
PUT https://<connection-server>/vmrest/users/<user-objectid>/mwis/<mwi-objectid>
<Mwi>
<Active>true</Active>
<DisplayName>MWI</DisplayName>
<MwiExtension>9997</MwiExtension>
<MwiOn>false</MwiOn>
<UsePrimaryExtension>true</UsePrimaryExtension>
</Mwi>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
79
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Waiting Indicators
Create a New MWI
Page 112
JSON Example:
To Update MWI
PUT https://<connection-server>/vmrest/users/<user-objectid>/mwis/<mwi-objectid>
Accept: application/json
Content-type:
application/json
Connection: keep-alive
Response Body:
{
"DisplayName":"NEW_MWI",
"UsePrimaryExtension":true"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Delete a MWI
DELETE https://<connection-server>/vmrest/users/<user-objectid>/mwis/<mwi-objectid>
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
JSON Example
DELETE https://<connection-server>/vmrest/users/<user-objectid>/mwis/<mwi-objectid>
Accept: application/json
Connection: keep-alive
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
Explanation of Data Fields
Description
Operations
Data
Type
Field Name
Flag indicate whether MWI is enabled or not.
Possible values:
• true means that it is active and the MWI will be turned on/off
by the notifier.
• false
Default value: false (except the default MWI)
Read/Write
Boolean
Active
Cisco Unity Connection Provisioning Interface (CUPI) API
80
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Waiting Indicators
Delete a MWI
Page 113
Description
Operations
Data
Type
Field Name
The unique text name of this notification MWI to be used when
displaying entries in the administrative console, e.g. Cisco Unity
Connection Administration. For example, "Office Phone" or " Lab
Phone".
Read/Write
String(64)
Display Name
The phone number (extension) of the MWI to activate.NULL means
use the subscriber's extension.
Read/Write
String
MwiExtension
The unique identifier of the MediaSwitch object to use for
activating/deactivating the MWI.
Read/Write
String(36)
MediaSwitchObjectId
A flag indicating whether the MWI is on or off. This is the state of
the MWI from the perspective of Cisco Unity Connection.
Possible values:
• false: MWI is off
• true: MWI is on
Default value: false
Read/Write
Boolean
MwiOn
A flag indicating that the primary extension of the subscriber should
be used.
• true: Use Inherit Extension
• false: Do not use Inherit Extension
Default value: false (but its true for default MWI)
Read/Write
Boolean
UsePrimaryExtension
A flag indicating whether the MWI should be set for a text message.
Possible values:
• false: Do not set MWI for text message.
• true: Set MWI for text message.
Default value: false
Read/Write
Boolean
IncludeTextMessages
A flag indicating whether the MWI should be set for a voice
message.
Possible values: false: Do not set MWI for voice message. true: Set
MWI for voice message. Default Value: true
Read/Write
Boolean
IncludeVoiceMessages
A flag indicating whether the MWI should be set for a FAX
message.
Possible values:
• false: Do not set MWI for fax message.
• true: Set MWI for fax message.
Default value: false
Read/Write
Boolean
IncludeFaxMessages
Name of phone system associated with the user.
Read/Write
String
MediaSwitchDisplayName
Cisco Unity Connection Provisioning Interface (CUPI) API
81
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Waiting Indicators
Explanation of Data Fields
Page 114
Description
Operations
Data
Type
Field Name
A globally unique, system-generated identifier for a MWI object.
Read
Only
String(36)
ObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
82
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Waiting Indicators
Explanation of Data Fields
Page 115
C H A P T E R 19
Cisco Unity Connection Provisioning Interface
(CUPI) API -- User Notification Devices API
Links to Other API pages: Cisco_Unity_Connection_APIs
• User Notification Devices API, on page 83
User Notification Devices API
The following URI can be used to view the user template object ID:
GET https://<connection-server>/vmrest/users/<user-object>
From the above URI, get the notification devices object ID:
GET https://<connection-server>/vmrest/users/<user-objectid>/usernotificationdevices
Pager
PUT:https://<connection-server>/vmrest/users/<user-objectid>/notificationdevices/pagerdevices/<pagerobjectid>
<PagerDevice>
<RetriesOnBusy>4</RetriesOnBusy>
<RetriesOnRna>4</RetriesOnRna>
<RetriesToWait>10</RetriesToWait>
<BusyRetryInterval>5</BusyRetryInterval>
<RnaRetryInterval>15</RnaRetryInterval>
</PagerDevice>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
Cisco Unity Connection Provisioning Interface (CUPI) API
83

Page 116
PUT
https://<connection-server>/vmrest/users/<user-objectid>/notificationdevices/pagerdevices/<pagerobjectid>
Accept: application/json
Content-type: application/json
Connection: keep-alive
{
"FailDeviceObjectId":"c5ce04c1-e76e-4075-97f9-471ac49b7e85"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
To activate notification device <PhoneNumber> parameter is mandatory and <RepeatInterval > parameter is
mandatory to enable repeat notify. The provided values can be changed and possible values are given in the
Explanation of Fields: Pager and Phone table.
Note
Listing Pager Device
JSON Example
To view pager devices, do the following:
GET
https://<connection-server>/vmrest/users/<users>/<user-objectid>/notificationdevices/pagerdevices/<pagerobjectId>
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
84
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API
Listing Pager Device

Page 117
{
URI":"/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/notificationdevices/pagerdevices/6215dce7-cf4a-469a-8722-035b6228ba3d"
"TransmitForcedAuthorizationCode":"false"
"AfterDialDigits":""
"BusyRetryInterval":"5"
"DialDelay":"1"
"PhoneNumber":"123"
"RetriesOnBusy":"10"
"RetriesOnRna":"10"
"RingsToWait":"10"
"RnaRetryInterval":"1"
"SendCount":"false"
"WaitConnect":"false"
"MediaSwitchObjectId":"7b092808-d815-4c0b-a10d-d02d3f5090b8"
"PhoneSystemURI":"/vmrest/phonesystems/7b092808-d815-4c0b-a10d-d02d3f5090b8"
"ObjectId":"6215dce7-cf4a-469a-8722-035b6228ba3d"
"Active":"false"
"DeviceName":"Pager"
"DisplayName":"Pager"
"MaxBody":"512"
"MaxSubject":"64"
"SubscriberObjectId":"9375d893-c8eb-437b-90bf-7de4b1d0c3e8"
"UserURI":"/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8"
"SendCallerId":"false"
"Undeletable":"true"
"SuccessRetryInterval":"1"
"RetriesOnSuccess":"0"
"EventList":"NewUrgentFaxUrgentDispatchMessage"
"ScheduleSetObjectId":"1f360ab8-076e-4cb5-bfde-ef7d3805f037"InitialDelay":"12"
"VoiceMessage":"false"
"UrgentOnly":"false"
"RepeatInterval":"1"
"RepeatNotify":"true",
"FailDeviceObjectId":"c5ce04c1-e76e-4075-97f9-471ac49b7e85"
}
Response Code: 200
Create Pager Device
The mandatory parameters are: PhoneNumber, DisplayName, and MediaSwitchObjectId.
POST:
https://<connection-server>/vmrest/users/<user-objectid>/notificationdevices/pagerdevices
<PagerDevice>
<PhoneNumber>12334</PhoneNumber>
<DisplayName>Newpager</DisplayName>
<MediaSwitchObjectId>8adf6869-4afc-4455-9fd5-d05b68ca6630</MediaSwitchObjectId>
</PagerDevice>
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
JSON Example
Cisco Unity Connection Provisioning Interface (CUPI) API
85
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API
Create Pager Device
Page 118
POST
https://<connection-server>/vmrest/users/<user-objectid>/notificationdevices/pagerdevices
Accept: application/json
Content-type:
application/json
Connection: keep-alive
{
"DisplayName":"New Pager",
"PhoneNumber":"1234",
"MediaSwitchObjectId":"ae63574f-2aaf-4c28-8973-bfa8e3b1dd1c"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/users/<user-objectid>/notificationdevices/pagerdevices/84e72420-615e-4d94-b1df-f1317906cce3
The phone system ID is mandatory to create pager device. URI to get ID for phone system:
https://<connection-server>/vmrest/phonesystems
Phone Devices
GET https://<connection-server>/vmrest/users/<user-objectid>
From above URI get notification devices URI:
https://<connection-server>/vmrest/users/<user-objectid>/usernotificationdevices
Listing Phone Device
GET:https://<connection-server>/vmrest/users/<user-objectid>/notificationdevices/phonedevices/<phone_objectid>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Response code: 200
JSON Example
GET
https://<connection-server>/vmrest/users/<user-objectid>/notificationdevices/phonedevices/<phone_objectid>
Accept: application/json
Content-type:
application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Response Code: 200
Cisco Unity Connection Provisioning Interface (CUPI) API
86
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API
Phone Devices
Page 119
Create Phone Device
The mandatory fields are DisplayName, PhoneNumber, and MediaSwitchObjectId.
POST
https://<connection-server>/vmrest/users/<user-objectid>/notificationdevices/phonedevices
<PhoneDevice>
<DisplayName>Work Phone1</DisplayName>
<PhoneNumber>123</PhoneNumber>
<MediaSwitchObjectId>ae63574f-2aaf-4c28-8973-bfa8e3b1dd1c</MediaSwitchObjectId>
</PhoneDevice>
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
JSON Example
POST
https://<connection-server>/vmrest/users/<user-objectid>/notificationdevices/phonedevices
Accept: application/json
Content-type: application/json
Connection: keep-alive
{
"DisplayName":"Work Phone1",
"PhoneNumber":"123",
"MediaSwitchObjectId":"ae63574f-2aaf-4c28-8973-bfa8e3b1dd1c"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
URI to get ID for phone system:
https://<connection-server>/vmrest/phonesystems
Update Phone Device
PUT:https://<connection-server>/vmrest/users/<user-objectid>/notificationdevices/phonedevices/<phone_objectid>
<PhoneDevice>
<RetriesOnBusy>10</RetriesOnBusy>
<RetriesOnRna>10</RetriesOnRna>
<RingsToWait>10</RingsToWait>
<RnaRetryInterval>1</RnaRetryInterval>
</PhoneDevice>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
87
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API
Create Phone Device
Page 120
To activate notification device, the <PhoneNumber> parameter is mandatory. The <RepeatInterval> parameter
is mandatory to enable repeat notify. The phone devices are of 3 types: Work phone, Home phone, and Mobile
phone. You have to provide phone device object id to edit any of the 3 devices.
JSON Example
PUT
https://<connection-server>/vmrest/users/<user-objectid>/notificationdevices/phonedevices/<phone_objectid>
Accept: application/json
Content-type:
application/json
Connection: keep-alive
{
"FailDeviceObjectId":"c5ce04c1-e76e-4075-97f9-471ac49b7e85"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response code: 204
Delete Phone Device
DELETE
https://<connection-server>/vmrest/users/<user-objectid>/notificationdevices/phonedevices/<phone_objectid>
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response code: 204
JSON Example
DELETE
https://<connection-server>/vmrest/users/<user-objectid>/notificationdevices/phonedevices/<phone_objectid>
Accept: application/json
Content-type: application/json
Connection: keep-alive
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
SMTP Device
Listing SMTP Device
GET:https://<Connection-server>/vmrest/user/notificationdevices/smtpdevices
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
88
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API
Delete Phone Device
Page 121
Response code: 200
JSON Example
GET https://<connection-server>/vmrest/user/notificationdevices/smtpdevices
Accept: application/json
Content-type:
application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"URI":
"/vmrest/user/notificationdevices/smtpdevices/eb4dbeae-ec87-417c-8cc0-d4ac3ab04942",
"SendCount": "true",
"SmtpAddress": "John@cisco.com",
"StaticText": [],
"ObjectId": "eb4dbeae-ec87-417c-8cc0-d4ac3ab04942",
"Active": "false",
"DeviceName": "SMTP",
"DisplayName": "SMTP",
"MaxBody": "512",
"MaxSubject": "64",
"SubscriberObjectId": "104b8800-554e-47cd-9fe7-ee16c79ce4d2",
"SendCallerId": "true",
"SendPcaLink": "false",
"Undeletable": "true",
"HeaderText": "Texoma_Header",
"FooterText": "Texoma_Footer"
}
Response Code: 200
Update SMTP Device
GET:https://<Connection-server>/vmrest/user/notificationdevices/smtpdevices/<smtpDeviceObjectId>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Response code: 204
<SmtpDevice>
<SmtpAddress>John@cisco.com</SmtpAddress>
<HeaderText>Texoma_Header</HeaderText>
<FooterText>Texoma_Footer</FooterText>
</SmtpDevice>
JSON Example
PUT
https://<connection-server>/vmrest/user/notificationdevices/smtpdevices/<smtpDeviceObjectId>
Accept: application/json
Content-type: application/json
Connection: keep-alive
Cisco Unity Connection Provisioning Interface (CUPI) API
89
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API
Update SMTP Device
Page 122
{
"SmtpAddress": "John@cisco.com",
"HeaderText": "Texoma_Header",
"FooterText": "Texoma_Footer"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response code: 204
About HTML Notification Devices (in Cisco Unity Connection 9.0(1) and Later)
Cisco Unity Connection Provisioning Interface (CUPI) API allows users to view list of Html Notification
Devices, a specific notification device or modify an existing HTML Notification Device.
Listing HTML Notification Devices
The following is an example of the GET request that lists the HTML notification devices for the users:
GET /vmrest/users/notificationdevices/htmldevices
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
<HtmlDevices total="3">
<HtmlDevice>
<URI>/vmrest/users/5786019c-f962-4b86-8103-a01755b9993c/notificationdevices/htmldevices/d7044a91-b3b5-4e5a-9d08-eca2235660fd</URI>
<Active>false</Active>
<DeviceName>HTML</DeviceName>
<DisableMobileNumberFromPCA>false</DisableMobileNumberFromPCA>
<DisplayName>HTML_Missed_Call</DisplayName>
<NotificationTemplateID>f37de0e3-c070-4d7e-bb98-5b8b1911ed27</NotificationTemplateID>
<ObjectId>d7044a91-b3b5-4e5a-9d08-eca2235660fd</ObjectId>
<Undeletable>true</Undeletable>
<SubscriberObjectId>5786019c-f962-4b86-8103-a01755b9993c</SubscriberObjectId>
<UserURI>/vmrest/users/5786019c-f962-4b86-8103-a01755b9993c</UserURI>
<DisableTemplateSelectionFromPCA>false</DisableTemplateSelectionFromPCA>
<AllowVoiceMailAsAttachment>false</AllowVoiceMailAsAttachment>
<MessageCountInSummary>10</MessageCountInSummary>
<EventList>NewMissedCall</EventList>
<ScheduleSetObjectId>48993a7c-2732-4217-8abc-893604fa16b6</ScheduleSetObjectId>
<SendScheduledNotificationAt/>
</HtmlDevice>
</HtmlDevices>
Listing an HTML Notification Device for Users
The following is an example of the GET request that lists a particular html notification device for the end
users represented by <deviceid>:
GET /vmrest/user/notificationdevices/htmldevices/<deviceid>
Cisco Unity Connection Provisioning Interface (CUPI) API
90
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API
About HTML Notification Devices (in Cisco Unity Connection 9.0(1) and Later)
Page 123
The following is the response from the above GET request and the actual result will depend upon the
information has been provided by you:
<HtmlDevice>
<URI>/vmrest/user/notificationdevices/htmldevices/8660c5af-b544-47cc-93eb-93f4923bc03b</URI>
<Active>false</Active>
<CallbackNumber>1234</CallbackNumber>
<DeviceName>HTML</DeviceName>
<DisableMobileNumberFromPCA>false</DisableMobileNumberFromPCA>
<DisableTemplateSelectionFromPCA>false</DisableTemplateSelectionFromPCA>
<DisplayName>HTML</DisplayName>
<NotificationTemplateID>75825d74-bf4f-4af3-bf84-6226389a8611
</NotificationTemplateID>
<ObjectId>8660c5af-b544-47cc-93eb-93f4923bc03b</ObjectId>
<PhoneNumber />
<SmtpAddress />
<Undeletable>true</Undeletable>
<SubscriberObjectId>a880bb22-0df1-45aa-893e-895ebf2d3652
</SubscriberObjectId>
<UserURI>/vmrest/users</UserURI>
<EventList>NewVoiceMail</EventList>
<ScheduleSetObjectId>1fb3df1c-6ff6-4876-996d-59052126f1fa
</ScheduleSetObjectId>
<InitialDelay>0</InitialDelay>
<RepeatInterval>0</RepeatInterval>
<RepeatNotify>false</RepeatNotify>
</HtmlDevice>
Modifying an HTML Notification Device for Users
The following is an example of the PUT request that modifies the HTML notification device for the users as
represented by <deviceid>:
PUT /vmrest/users/notificationdevices/htmldevices/<deviceid>
The input for the PUT request will be XML or JSON as per HtmlDevice schema. The output for this request
returns the successful response code.
Modifying an HTML Notification Device to Apply HTML Notification Template
The following is an example of the PUT request that modifies the HTML notification device as represented
by <deviceid>:
PUT /vmrest/users/notificationdevices/htmldevices/<deviceobjectid>
<HtmlDevice>
<NotificationTemplateID>103c4514-db6e-489b-bc08-e9e131b60099</NotificationTemplateID>
</HtmlDevice>
Configuring an HTML-Based Notification Template with an HTML Notification Device
This PUT request allow users to apply an HTML-based notification template with an HTML notification
device. The user can perform this action if the template selection rights are given by administrator. The
following is an example of PUT request:
PUT /vmrest/users/notificationdevices/htmldevices/<deviceobjectid>
Cisco Unity Connection Provisioning Interface (CUPI) API
91
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API
Modifying an HTML Notification Device for Users
Page 124
This API will modify a particular HTML notification device for the end users as represented by
<deviceobjectid>.
Configuring Schedule Notification
Cisco Unity Connection allows you to receive schedule notification tag in 24 hours format (hh:mm) using
<SendScheduledNotificationAt>. You can configure multiple notifications using comma in the separated
values. The schedules mentioned in this tag would overwrite all the existing schedules. In order to delete all
existing schedules, provide an empty <SendScheduledNotificationAt> tag.
Listing Schedule Notification
The following is an example of the GET request that lists the HTML notification devices for the users:
GET vmrest/users/<user-object-id>/notificationdevices/htmldevices/<device-object-id>
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
<HtmlDevice>
<URI>/vmrest/users/a3ab2df0-f16c-405f-afdf-394495acf000/notificationdevices/htmldevices/856c8ce9-d7dd-4623-888b-8d14874061af</URI>
<Active>True</Active>
<DeviceName>HTML</DeviceName>
<DisplayName>HTMLDevice1</DisplayName>
<NotificationTemplateID>3be2bd9e-114b-4103-a724-4e6c908d7c86</NotificationTemplateID>
<ObjectId>856c8ce9-d7dd-4623-888b-8d14874061af</ObjectId>
<SubscriberObjectId>a3ab2df0-f16c-405f-afdf-394495acf000</SubscriberObjectId>
<SendScheduledNotificationAt>10:15,23:00 </SendScheduledNotificationAt>
<EventList>NewVoiceMail</EventList>
</HtmlDevice>
JSON Example
GET vmrest/users/<user-object-id>/notificationdevices/htmldevices/<device-object-id>?jsopn=1
{
{
"URI":"/vmrest/users/707c291f-95d8-4353-9d8c-2439722f4c25/notificationdevices/htmldevices/49d04c39-f899-445c-a939810d66b30e38",
"Active":"false",
"DeviceName":"HTML",
"DisableMobileNumberFromPCA":"false",
"DisplayName":"HTML",
"ObjectId":"49d04c39-f899-445c-a939-810d66b30e38",
"Undeletable":"true",
"SubscriberObjectId":"707c291f-95d8-4353-9d8c-2439722f4c25",
"UserURI":"/vmrest/users/707c291f-95d8-4353-9d8c2439722f4c25",
"DisableTemplateSelectionFromPCA":"false",
"AllowVoiceMailAsAttachment":"false",
"EventList":"NewVoiceMail",
"ScheduleSetObjectId":"a6fec625-58e1-4a2c-8950-829ee307d81a",
"SendScheduledNotificationAt":"12:50"
}
}
Cisco Unity Connection Provisioning Interface (CUPI) API
92
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API
Configuring Schedule Notification
Page 125
Response Code: 200 OK
Modifying Schedule Notification
The following is an example of the PUT request that modifies the Schedule notification for the user as
represented by <SendScheduledNotificationAt>:
PUT vmrest/users/<user-object-id>/notificationdevices/htmldevices/<device-object-id>
Response Code: 204 OK
<HtmlDevice>
<URI>/vmrest/users/a3ab2df0-f16c-405f-afdf-394495acf000/notificationdevices/htmldevices/856c8ce9-d7dd-4623-888b-8d14874061af</URI>
<Active>True</Active>
<DeviceName>HTML</DeviceName>
<DisplayName>HTMLDevice1</DisplayName>
<NotificationTemplateID>3be2bd9e-114b-4103-a724-4e6c908d7c86</NotificationTemplateID>
<ObjectId>856c8ce9-d7dd-4623-888b-8d14874061af</ObjectId>
<SubscriberObjectId>a3ab2df0-f16c-405f-afdf-394495acf000</SubscriberObjectId>
<SendScheduledNotificationAt>10:15,23:00 </SendScheduledNotificationAt>
<EventList>NewVoiceMail</EventList>
</HtmlDevice>
JSON Example
PUT vmrest/users/<user-object-id>/notificationdevices/htmldevices/<device-object-id>?jsonp=1
{
"Active":"false",
"DisplayName":"HTML",
"NotificationTemplateID":"3be2bd9e-114b-4103-a724-4e6c908d7c86",
"EventList":"NewMissedCall",
"SendScheduledNotificationAt":"9:00"
}
Response Code: 204 OK
The following is an example of the PUT request that deletes all the existing schedules by representing the
<SendScheduledNotificationAt> tag empty:
<HtmlDevice>
<Active>True</Active>
<DisplayName>HTMLDevice1</DisplayName>
<NotificationTemplateID>3be2bd9e-114b-4103-a724-4e6c908d7c86</NotificationTemplateID>
<ObjectId>856c8ce9-d7dd-4623-888b-8d14874061af</ObjectId>
<EventList>None</EventList>
<SendScheduledNotificationAt></SendScheduledNotificationAt>
</HtmlDevice>
Response Code : 204 Ok
JSON Example
Cisco Unity Connection Provisioning Interface (CUPI) API
93
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API
Modifying Schedule Notification
Page 126
{
"Active":"false",
"DisplayName":"HTML",
"NotificationTemplateID":"3be2bd9e-114b-4103-a724-4e6c908d7c86",
"EventList":"NewMissedCall",
"SendScheduledNotificationAt":""
}
Response Code : 204 Ok
Explanation of Data Fields
Comments
Operations
Data
Type
Device Name
Device name of HTML notification device.
Read Only
String(12)
Device Name
The preferred text name of the notification device to be
used when displaying entries in the administrative console,
e.g. Cisco Unity Connection Administration. For example,
"Home Phone," Pager 2," "Work Phone, " etc.
Read Only
String(64)
Display Name
Enable notification device.
Values:
• true:Enable the device
• false:Do not enable the notification device
Read Only
Boolean
Active
By default it is NewVoiceMail.
Possible values:
• All Voice messages: NewVoiceMail
• All voice message urgent only: NewUrgentVoiceMail
• Dispatch message: DispatchMessage
• Dispatch message urgent only:
UrgentDispatchMessage
• Fax message: NewFax
• Fax message urgent only: NewUrgentFax
• Calendar Appointments: CalendarAppointment
• Calendar Meetings: CalendarMeeting
Default value: NewVoiceMail.
To keep value of this field blank, enter "None"
value for the field.
Note
Read/Write
String
EventList
SMTP address to be notified.
Read Only
String(320)
SmtpAddress
Unique identifier of Notification Device
Read Only
String(36)
ObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
94
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API
Explanation of Data Fields
Page 127
Comments
Operations
Data
Type
Device Name
Disable Outdial Number From Cisco PCA
Values:
• false:Enable Outdial Number From Cisco PCA
(Default value)
• True:Disable Outdial Number From Cisco PCA
Read Only
Boolean
DisableMobileNumberFromPCA
Outdial Number
Read Only
Integer
CallbackNumber
The unique identifier of the Subscriber object to which this
notification device belongs.
Read Only
String(36)
SubscriberObjectID
The unique identifier of the Schedule
Read Only
String(36)
ScheduleSetObjectId
Disable HTML Template selection From Cisco PCA
• true:Disable
• false:enable
Default value is false.
Read Only
Boolean
DisableTemplateSelectionFromPCA
A flag indicating whether Cisco Unity Connection will
allow notifier to send voice mail recording with the
notification.
false: Don't Allow notifier to send voice mail recording
with the notification true: Allow notifier to send voice mail
recording with the notification Default value is false.
Read Only
Boolean
AllowVoiceMailAsAttachement
The unique identifier of the Notification Template object
which this notification device is using for HTML based
notification This URI can be used to fetch
NotificationTemplateID
https://<Connectio-server>/vmrest/notificationtemplates
Read Only
String(36)
NotificationTemplateID
The phone number to dial, including the trunk access code
(if any), of the device.
Read/Write
String
PhoneNumber
flag indicating whether HTML cannot be deleted or not.
Possible values:
• true: For default HTML Device
• false:For other userdefined HTML Devices
Read Only
Boolean
Undeletable
A tag that is use to receive schedule notifications in 24 hours
format (hh:mm). You can configure multiple notifications
using comma in the separated values.
Read/Write
Integer
SendScheduledNotificationAt
Cisco Unity Connection Provisioning Interface (CUPI) API
95
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API
Explanation of Data Fields
Page 128
Enum Type
Description
Value
Name
System greeting - Cisco Unity Connection plays a prerecorded greeting along with the
recorded name of the subscriber (for example, "Sorry, <subscriber name> is not
available"). If the subscriber does not have a recorded name, Cisco Unity Connection
plays the subscriber extension instead. When a greeting is enabled but not recorded,
Cisco Unity Connection plays a prerecorded system greeting.
0
SystemGreeting
Recorded greeting - use a personal recording for the call handler (or subscriber). This
can be recorded over the phone or from the Cisco Unity Connection Administration and
CPCA administrative interfaces on the call handler/subscriber.
1
RecordedGreeting
No greeting is played.
2
NoGreeting
Cisco Unity Connection Provisioning Interface (CUPI) API
96
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API
Enum Type
Page 129
C H A P T E R 20
Cisco Unity Connection Provisioning Interface
(CUPI) API -- User Phone Menu API
Links to Other API pages:Cisco_Unity_Connection_APIs
• Phone Menu API, on page 97
Phone Menu API
Listing Phone Menu Fields
All the parameters of Phone Menu are present at the URI:
GET https://<connection-server>/vmrest/users/<user-objectid>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
97

Page 130
<User>
<URI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1</URI>
<ObjectId>4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1</ObjectId>
<UseDefaultLanguage>true</UseDefaultLanguage>
<Alias>undeliverablemessagesmailbox</Alias>
<DisplayName>Undeliverable Messages</DisplayName>
<TimeZone>190</TimeZone>
<CreationTime>2013-03-05T10:54:38Z</CreationTime>
<IsTemplate>false</IsTemplate>
<CosObjectId>610c9c71-32be-4465-b61a-523f24a9d828</CosObjectId>
<CosURI>/vmrest/coses/610c9c71-32be-4465-b61a-523f24a9d828</CosURI>
<Language>1033</Language>
<LocationObjectId>42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationURI>
<AddressMode>0</AddressMode>
<ClockMode>0</ClockMode>
<ConversationTui>SubMenu</ConversationTui>
<GreetByName>true</GreetByName>
<ListInDirectory>false</ListInDirectory>
<IsVmEnrolled>true</IsVmEnrolled>
<SayCopiedNames>true</SayCopiedNames>
<SayDistributionList>true</SayDistributionList>
<SayMsgNumber>true</SayMsgNumber>
<SaySender>true</SaySender>
<SayTimestampAfter>true</SayTimestampAfter>
<SayTimestampBefore>false</SayTimestampBefore>
<SayTotalNew>false</SayTotalNew>
<SayTotalNewEmail>false</SayTotalNewEmail>
<SayTotalNewFax>false</SayTotalNewFax>
<SayTotalNewVoice>true</SayTotalNewVoice>
<SayTotalReceipts>false</SayTotalReceipts>
<SayTotalSaved>true</SayTotalSaved>
<Speed>100</Speed>
<MediaSwitchObjectId>ec1e2636-fc14-44fc-8cda-d6c1a3d61150</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/ec1e2636-fc14-44fc-8cda-d6c1a3d61150</PhoneSystemURI>
<Undeletable>true</Undeletable>
<UseBriefPrompts>false</UseBriefPrompts>
<Volume>50</Volume>
<EnAltGreetDontRingPhone>false</EnAltGreetDontRingPhone>
<EnAltGreetPreventSkip>false</EnAltGreetPreventSkip>
<EnAltGreetPreventMsg>false</EnAltGreetPreventMsg>
<EncryptPrivateMessages>false</EncryptPrivateMessages>
<DeletedMessageSortOrder>2</DeletedMessageSortOrder>
<SayAltGreetWarning>false</SayAltGreetWarning>
<SaySenderExtension>false</SaySenderExtension>
<SayAni>false</SayAni>
<CallAnswerTimeout>4</CallAnswerTimeout>
<CallHandlerObjectId>13a3c5fc-f706-4bd0-aeeb-32dad2c4a29b</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/13a3c5fc-f706-4bd0-aeeb-32dad2c4a29b</CallhandlerURI>
<MessageTypeMenu>false</MessageTypeMenu>
<NewMessageSortOrder>1</NewMessageSortOrder>
<SavedMessageSortOrder>2</SavedMessageSortOrder>
<MessageLocatorSortOrder>1</MessageLocatorSortOrder>
<NewMessageStackOrder>1234567</NewMessageStackOrder>
<SavedMessageStackOrder>1234567</SavedMessageStackOrder>
<EnablePersonalRules>true</EnablePersonalRules>
<RecordUnknownCallerName>true</RecordUnknownCallerName>
<RingPrimaryPhoneFirst>false</RingPrimaryPhoneFirst>
<ExitAction>2</ExitAction>
Cisco Unity Connection Provisioning Interface (CUPI) API
98
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Phone Menu API
Listing Phone Menu Fields
Page 131
<ExitTargetConversation>PHGreeting</ExitTargetConversation>
<PromptSpeed>100</PromptSpeed>
<ExitTargetHandlerObjectId>939d4d12-cec8-4fee-ae47-fbf0cf20c33e</ExitTargetHandlerObjectId>
<RepeatMenu>1</RepeatMenu>
<FirstDigitTimeout>5000</FirstDigitTimeout>
<InterdigitDelay>3000</InterdigitDelay>
<PromptVolume>50</PromptVolume>
<ExitCallActionObjectId>d6507973-3041-4798-ac83-c6c691cb9187</ExitCallActionObjectId>
<AddressAfterRecord>false</AddressAfterRecord>
<DtmfAccessId>99999</DtmfAccessId>
<ConfirmDeleteMessage>false</ConfirmDeleteMessage>
<ConfirmDeleteDeletedMessage>false</ConfirmDeleteDeletedMessage>
<ConfirmDeleteMultipleMessages>true</ConfirmDeleteMultipleMessages>
<IsClockMode24Hour>false</IsClockMode24Hour>
<SynchScheduleObjectId>821f40e6-3a97-412c-ae7f-6c7ade9a754b</SynchScheduleObjectId>
<SynchScheduleURI>/vmrest/schedules/821f40e6-3a97-412c-ae7f-6c7ade9a754b</SynchScheduleURI>
<RouteNDRToSender>true</RouteNDRToSender>
<IsSetForVmEnrollment>true</IsSetForVmEnrollment>
<VoiceNameRequired>false</VoiceNameRequired>
<SendBroadcastMsg>false</SendBroadcastMsg>
<UpdateBroadcastMsg>false</UpdateBroadcastMsg>
<ConversationVui>VuiStart</ConversationVui>
<ConversationName>SubMenu</ConversationName>
<SpeechCompleteTimeout>0</SpeechCompleteTimeout>
<SpeechIncompleteTimeout>750</SpeechIncompleteTimeout>
<UseVui>false</UseVui>
<SkipPasswordForKnownDevice>false</SkipPasswordForKnownDevice>
<JumpToMessagesOnLogin>false</JumpToMessagesOnLogin>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<EnableMessageLocator>false</EnableMessageLocator>
<AssistantRowsPerPage>5</AssistantRowsPerPage>
<InboxMessagesPerPage>20</InboxMessagesPerPage>
<InboxAutoRefresh>15</InboxAutoRefresh>
<InboxAutoResolveMessageRecipients>true</InboxAutoResolveMessageRecipients>
<PcaAddressBookRowsPerPage>5</PcaAddressBookRowsPerPage>
<ReadOnly>false</ReadOnly>
<EnableTts>true</EnableTts>
<SmtpAddress>undeliverablemessagesmailbox@ucbu-aricent-vm463.cisco.com</SmtpAddress>
<ConfirmationConfidenceThreshold>60</ConfirmationConfidenceThreshold>
<AnnounceUpcomingMeetings>60</AnnounceUpcomingMeetings>
<SpeechConfidenceThreshold>40</SpeechConfidenceThreshold>
<SpeechSpeedVsAccuracy>50</SpeechSpeedVsAccuracy>
<SpeechSensitivity>50</SpeechSensitivity>
<EnableVisualMessageLocator>false</EnableVisualMessageLocator>
<ContinuousAddMode>false</ContinuousAddMode>
<NameConfirmation>false</NameConfirmation>
<CommandDigitTimeout>1500</CommandDigitTimeout>
<SaveMessageOnHangup>false</SaveMessageOnHangup>
<SendMessageOnHangup>1</SendMessageOnHangup>
<SkipForwardTime>5000</SkipForwardTime>
<SkipReverseTime>5000</SkipReverseTime>
<UseShortPollForCache>false</UseShortPollForCache>
<SearchByExtensionSearchSpaceObjectId>877942bf-6600-4b7a-809d-159199cfc2ec</SearchByExtensionSearchSpaceObjectId>
<SearchByExtensionSearchSpaceURI>/vmrest/searchspaces/877942bf-6600-4b7a-809d-159199cfc2ec</SearchByExtensionSearchSpaceURI>
<SearchByNameSearchSpaceObjectId>877942bf-6600-4b7a-809d-159199cfc2ec</SearchByNameSearchSpaceObjectId>
Cisco Unity Connection Provisioning Interface (CUPI) API
99
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Phone Menu API
Listing Phone Menu Fields
Page 132
<SearchByNameSearchSpaceURI>/vmrest/searchspaces/877942bf-6600-4b7a-809d-159199cfc2ec</SearchByNameSearchSpaceURI>
<PartitionObjectId>da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionObjectId>
<PartitionURI>/vmrest/partitions/da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionURI>
<UseDynamicNameSearchWeight>false</UseDynamicNameSearchWeight>
<LdapType>0</LdapType>
<CreateSmtpProxyFromCorp>false</CreateSmtpProxyFromCorp>
<MwisURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/mwis</MwisURI>
<NotificationDevicesURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/notificationdevices</NotificationDevicesURI>
<MessageHandlersURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/messagehandlers</MessageHandlersURI>
<ExternalServiceAccountsURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-
d48e7e9b73c1/externalserviceaccounts</ExternalServiceAccountsURI>
<AlternateExtensionsURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/alternateextensions</AlternateExtensionsURI>
<PrivateListsURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/privatelists</PrivateListsURI>
<UserWebPasswordURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/credential/password</UserWebPasswordURI>
<UserVoicePinURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/credential/pin</UserVoicePinURI>
<SmtpProxyAddressesURI>/vmrest/smtpproxyaddresses?query=(ObjectGlobalUserObjectId%20is%204d5df6e3-a036-4f16-8f1e-d48e7e9b73c1)
</SmtpProxyAddressesURI>
<AlternateNamesURI>/vmrest/alternatenames?query=(GlobalUserObjectId%20is%204d5df6e3-a036-4f16-8f1e-d48e7e9b73c1)
</AlternateNamesURI>
</User>
Response Code: 200
Updating Phone menu fields
To update the attributes of Phone Menu, the following steps can be followed:
PUT https://<connection-server>/vmrest/users/<user-objectid>
<User>
<UseBriefPrompts>true</UseBriefPrompts>
<PromptVolume>100</PromptVolume>
<PromptSpeed>100</PromptSpeed>
<IsClockMode24Hour>false</IsClockMode24Hour>
<ConversationTui>SubMenu</ConversationTui>
<MessageLocatorSortOrder>1</MessageLocatorSortOrder>
<JumpToMessagesOnLogin>false</JumpToMessagesOnLogin>
</User>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
100
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Phone Menu API
Updating Phone menu fields
Page 133
Updating Conversation fields
Example 1: Edit call actions
<User>
<ExitAction>1</ExitAction>
</User>
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Example 2: Edit call handler
<User>
<ExitAction>2</ExitAction>
<ExitTargetConversation>PHTransfer</ExitTargetConversation>
<ExitTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</ExitTargetHandlerObjectId>
</User>
The following URI can be used to view call handler template object ID:
GET https://<connection-server>/vmrest/handlers/callhandlers
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Example 3: Interview handler
<User>
<ExitAction>2</ExitAction>
<ExitTargetConversation>PHInterview</ExitTargetConversation>
<ExitTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</ExitTargetHandlerObjectId>
</User>
The following is an example of the GET request that shows the interview handler template object ID:
GET https://<connection-server>/vmrest/handlers/interviewhandlers
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Example 4: Directory handler
The following is an example of the GET request that shows the directory handler template object ID:
GET https://<connection-server>/vmrest/handlers/directoryhandlers
Cisco Unity Connection Provisioning Interface (CUPI) API
101
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Phone Menu API
Updating Conversation fields
Page 134
<User>
<ExitAction>2</ExitAction>
<ExitTargetConversation>AD</ExitTargetConversation>
<ExitTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</ExitTargetHandlerObjectId>
</User>
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Example 5: Conversation
Request Body: for broadcast message administrator
<User>
<ExitAction>2</ExitAction>
<ExitTargetConversation>BroadcastMessageAdministrator</ExitTargetConversation>
</UserTemplate>
The following is the response from the PUT request for broadcast message administrator and the actual
response will depend upon the information given by you:
Response Code: 204
Request Body: for caller system transfer
<User>
<ExitAction>2</ExitAction>
<ExitTargetConversation>SystemTransfer</ExitTargetConversation>
</User>
The following is the response from the PUT request for caller system transfer and the actual response will
depend upon the information given by you:
Response Code: 204
Request Body: for greeting administrator
<User>
<ExitAction>2</ExitAction>
<ExitTargetConversation>GreetingAdministrator</ExitTargetConversation>
</User>
The following is the response from the PUT request for greeting administrator and the actual response will
depend upon the information given by you:
Response Code: 204
Request Body: for sign in
<UserTemplate>
<ExitAction>2</ExitAction>
<ExitTargetConversation>SubSignIn</ExitTargetConversation>
</UserTemplate>
Cisco Unity Connection Provisioning Interface (CUPI) API
102
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Phone Menu API
Updating Conversation fields
Page 135
The following is the response from the PUT request for sign in and the actual response will depend upon
the information given by you:
Response Code: 204
Request Body: for user system transfer
<User>
<ExitAction>2</ExitAction>
<ExitTargetConversation>SubSysTransfer</ExitTargetConversation>
</User>
The following is the response from the PUT request for user system transfer and the actual response will
depend upon the information given by you:
Response Code: 204
Example 6: Users with Mailbox
<User>
<ExitAction>2</ExitAction>
<ExitTargetConversation>PHTransfer</ExitTargetConversation>
<ExitTargetHandlerObjectId>71cb381b-fd16-4ba8-8a1d-e71684e57b0e</ExitTargetHandlerObjectId>
</User>
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
JSON Example To set exit action, do the following:
PUT https://<connection-server>/vmrest/users/<userobjectid>
Accept: application/json
Content-type: application/json
Connection: keep-alive
{
"ExitAction":"2",
"ExitTargetConversation":"SubSysTransfer"
}
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
103
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Phone Menu API
Updating Conversation fields
Page 136
Explanation of Data Fields
Description
Operation
Data
Type
Field Name
A flag indicating whether the subscriber hears brief or full phone
menus when accessing Cisco Unity Connection over the phone.
Possible values:
• true: Brief
• false: Full
Read/Write
Boolean
UseBriefPrompts
The volume level for playback of system prompts. The range can
vary from 0 to 100.
Possible values:
• 25: Low
• 50: Medium
• 100: High
Default Value: 50
Read/Write
Integer
PromptVolume
The audio speed Cisco Unity Connection uses to play back prompts
to the subscriber.
Possible values:
• 50: Slow
• 100: Normal
• 150: Fast
• 200: Fastest
Default Value: 100
Read/Write
Integer
PromptSpeed
Cisco Unity Connection Provisioning Interface (CUPI) API
104
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Phone Menu API
Explanation of Data Fields
Page 137
Description
Operation
Data
Type
Field Name
The time format used for the message timestamps that the
subscriber hears when they listen to their messages over the phone.
Possible values: • true: 24-Hour Clock (00:00 - 23:59) • false:
12-Hour Clock (12:00 AM - 11:59 PM) EnableMessageLocator
Boolean Read/Write A flag indicating whether the message locator
feature is enabled for the subscriber. Possible Values: • false:
Message locator feature is disabled for subscriber • true: Message
locator feature is enabled for subscriber Default Value: false
RepeatMenu Integer Read/Write The number of times to repeat a
menu in touchtone conversation. The range can vary from 0 to
250. Default value: 1 ConversationTui String Read/Write The
name of the conversation the subscriber uses to set up, send, and
retrieve messages. Possible values:
• SubMenu: Classic Conversation
• SubMenu_Alternate_Custom: Custom keypad mapping1
• SubMenu_Alternate_Custom1: Custom keypad mapping1
• SubMenu_AlternateN: Alternate Keypad Mapping(N)
• SubMenu_AlternateS: Alternate Keypad Mapping(S)
• SubMenu_AlternateX: Alternate Keypad Mapping (X)
• SubMenuOpt1: Optional conversation1
• SubMenu_AlternateI: Standard Conversation
Read/Write
Boolean
IsClockMode24Hour
The order in which system will sort messages when the "Message
Locator" feature is enabled.
Possible values:
• 1: Last In, First Out
• 2: First In, First Out
Default Value: 1
Read/Write
Integer
MessageLocatorSortOrder
The amount of time to wait (in milliseconds) for first digit when
collecting touchtone. The range can vary from 500 to 10000.
Default value: 5000
Read/Write
Integer
FirstDigitTimeout
The amount of time to wait (in milliseconds) for input between
touch tones when collecting digits in touchtone conversation. The
range can vary from 1000 to 10000.
Default Value: 3000
Read/Write
Integer
InterdigitDelay
The amount of time (in milliseconds) between digits on a multiple
digit menu command entry (i.e. different than the inter digit timeout
that is used for strings of digits such as extensions and transfer
strings). The range can vary from 250 to 5000.
Default value: 1500
Read/Write
Integer
CommandDigitTimeout
Cisco Unity Connection Provisioning Interface (CUPI) API
105
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Phone Menu API
Explanation of Data Fields
Page 138
Description
Operation
Data
Type
Field Name
A flag indicating whether the subscriber hears his/her name when
they log into their mailbox over the phone.
Possible Values:
• false: Do not play the name.
• true: Play the recorded voice name.
Default Value: true
Read/Write
Boolean
GreetByName
A flag indicating whether Cisco Unity Connection notifies the
subscriber when they login via the phone (plays conversation) or
CPCA (displays a warning banner) if their alternate greeting is
turned on.
• true- Notify the subscriber when they login if their alternate
greeting is turned on
• false: Do not notify the subscriber that their alternate greeting
is turned on
Default Value: false
Read/Write
Boolean
SayAltGreetWarning
A flag indicating whether the subscriber conversation jumps
directly to the first message in the message stack after subscriber
sign-in.
Possible values:
• false: Subscriber conversation does not jump directly to first
message in the message stack after subscriber sign-in.
• true: Subscriber conversation jumps directly to the first
message in the message stack after subscriber sign-in.
Default Value: true
Read/Write
Boolean
JumpToMessagesOnLogin
The unique identifier of the CallAction object that is taken when
a caller exits the subscriber conversation by pressing the * key or
timing out.
Read Only
String(36)
ExitCallActionObjectId
The type of call action to take, e.g., hang-up, goto another object,
etc.
Possible values: 0-8 Default Value: 0
Read/Write
Integer
ExitAction
The name of the conversation to which the caller is routed.
Read/Write
String(64)
ExitTargetConversation
The unique identifier of the specific object to send along to the
target conversation.
Read Only
String(36)
ExitTargetHandlerObjectId
•
Cisco Unity Connection Provisioning Interface (CUPI) API
106
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Phone Menu API
Explanation of Data Fields
Page 139
C H A P T E R 21
Cisco Unity Connection Provisioning Interface
(CUPI) API -- User Playback Message Settings
Links to Other API pages: Cisco_Unity_Connection_APIs
• Playback Message Settings API, on page 107
Playback Message Settings API
The following URI can be used to view the playback message settings of the specific user:
GET https://<connection-server>/vmrest/users/<user-objectid>
Edit Parameters
PUT https://<connection-server>/vmrest/users/<user-objectid>
<User>
<Volume>50</Volume>
<Speed>100</Speed>
<SayTotalNew>true</SayTotalNew>
<SayTotalNewVoice>true</SayTotalNewVoice>
<SayTotalNewEmail>false</SayTotalNewEmail>
<SayTotalNewFax>false</SayTotalNewFax>
<SayTotalReceipts>false</SayTotalReceipts>
<SayTotalSaved>true</SayTotalSaved>
<SayTotalDraftMsg>false</SayTotalDraftMsg>
<MessageTypeMenu>false</MessageTypeMenu>
<NewMessageSortOrder>2</NewMessageSortOrder>
<SaveMessageOnHangup>1</SaveMessageOnHangup>
<DeletedMessageSortOrder>1</DeletedMessageSortOrder>
<SaySender>true</SaySender>
<SaySenderExtension>false</SaySenderExtension>
<SayAni>true</SayAni>
<SayMsgNumber>true</SayMsgNumber>
<SayTimestampBefore>true</SayTimestampBefore>
<AutoAdvanceMsgs>false</AutoAdvanceMsgs>
<ConfirmDeleteMessage>true</ConfirmDeleteMessage>
</User>
Cisco Unity Connection Provisioning Interface (CUPI) API
107

Page 140
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
To sort the message type:
Note
• for new message:
<NewMessageSortOrder>
2
</NewMessageSortOrder>
• for saved message:
<SaveMessageSortOrder>
1
</SaveMessageSortOrder>
• for deleted message:
<DeletedMessageSortOrder>
1
</DeletedMessageSortOrder>
All the possible values for above three parameters are given in the table.
JSON Example
PUT https://<connection-server>/vmrest/users/<user-objectid>
Accept: application/json
Content-type: application/json
Connection: keep-alive
Request Body:
{
"Volume":"50"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
108
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Playback Message Settings
Edit Parameters

Page 141
Explanation of Data Fields
Description
Operation
Data
Type
Parameters
The audio volume expressed as a percentage that Cisco Unity
Connection uses to play back message. The range can vary from 0
to 100.
Possible values:
• 25: Low
• 50: Medium
• 100: High
Default value: 50
Read/Write
Integer
Volume
The audio speed system uses to play back messages to the subscriber.
The range can vary from 0 to 200.
• 50: Slow
• 100: Normal
• 150: Fast
• 200: Fastest
Default value: 100
Read/Write
Integer
Speed
A flag indicating whether system announces the total number of new
messages in the subscriber mailbox.
Possible values:
• false: Do not announce total number of new messages.
• true: Announce the total number of new messages in the
subscriber mailbox.
Default Value: false
Read/Write
Boolean
SayTotalNew
A flag indicating whether system announces the total number of new
e-mail messages in the subscriber mailbox
Possible values:
• false: Do not announce total number of new e-mail messages.
• true: Announce the total number of new e-mail messages in the
subscriber mailbox.
Default Value: false
Read/Write
Boolean
SayTotalNewEmail
A flag indicating whether system announces the total number of new
fax messages in the subscriber mailbox.
• false: Do not announce total number of new fax messages.
• true: Announce the total number of new fax messages in the
subscriber mailbox.
Default Value: false
Read/Write
Boolean
SayTotalNewFax
Cisco Unity Connection Provisioning Interface (CUPI) API
109
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Playback Message Settings
Explanation of Data Fields
Page 142
Description
Operation
Data
Type
Parameters
A flag indicating whether system announces the total number of new
voice messages in the subscriber mailbox.
• false: Do not announce total number of new voice messages.
• true: Announce the total number of new voice messages in the
subscriber mailbox.
Default Value: true
Read/Write
Boolean
SayTotalNewVoice
A flag indicating whether system announces the total number of new
receipts in the subscriber mailbox.
Possible values:
• false: Do not announce total number of new receipts.
• true: Announce the total number of new receipts in the subscriber
mailbox.
Default Value: false
Read/Write
Boolean
SayTotalReceipts
A flag indicating whether system announces the total number of saved
messages in the subscriber mailbox.
Possible values:
• false: Do not announce total number of saved messages.
• true: Announce the total number of saved messages in the
subscriber mailbox.
Default Value: false
Read/Write
Boolean
SayTotalSaved
A flag indicating whether Cisco Unity Connection announces the
total number of draft messages in the subscriber mailbox.
Possible values
• false: Do not announce total number of draft messages.
• true: Announce the total number of draft messages in the
subscriber mailbox.
Default Value: false
Read/Write
Boolean
SayTotalDraftMsg
A flag indicating whether system plays the message type menu when
the subscriber logs on to system over the phone.
Possible values:
• false: Do not play message type menu
• true: Play message type menu
Default Value: false
Read/Write
Boolean
MessageTypeMenu
Cisco Unity Connection Provisioning Interface (CUPI) API
110
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Playback Message Settings
Explanation of Data Fields
Page 143
Description
Operation
Data
Type
Parameters
The order in which system plays the following types new messages:
Possible values:
• Urgent voice messages
• Non-urgent voice messages
• Urgent fax messages
• Non-urgent fax messages
• Urgent e-mail messages
• Non-urgent e-mail messages
• Receipts and notices
Read/Write
String
NewMessageStackOrder
A flag indicating when hanging up while listening to a new message,
whether the message is marked new again or is marked read.
Possible Values:
• false: Message is marked new again
• true: Message is marked read
Default Value: false
Read/Write
Boolean
SaveMessageOnHangup
The order in which system plays the following types of saved
messages:
• Urgent voice messages
• Non-urgent voice messages
• Urgent fax messages
• Non-urgent fax messages
• Urgent e-mail messages
• Non-urgent e-mail messages
• Receipts and notices
Read/Write
String(36)
SavedMessageStackOrder
The order in which Cisco Unity Connection will sort new messages.
Possible values:
• 1: Newest First
• 2: Oldest First
Default Value: 1
Read/Write
Integer
NewMessageSortOrder
The order in which Cisco Unity Connection will sort saved messages..
Possible values:
• 1: Newest First
• 2: Oldest First
Default Value: 2
Read/Write
Integer
SavedMessageSortOrder
Cisco Unity Connection Provisioning Interface (CUPI) API
111
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Playback Message Settings
Explanation of Data Fields
Page 144
Description
Operation
Data
Type
Parameters
The order in which Cisco Unity Connection presents deleted messages
to the subscriber.
Possible values:
• 1: Newest First
• 2: Oldest First
Default Value: 2
Read/Write
Integer
DeleteMessageSortOrder
A flag indicating whether system announces the sender of a message
during message playback for the subscriber.
Possible values:
• false: Do not announce the sender.
• true: Announce the sender.
Default Value: true
Read/Write
Boolean
SaySender
A flag indicating whether Cisco Unity Connection during message
playback, plays the primary extension information of the subscriber
who sent the message after playing the sender's voice name.
Possible values:
• false: Do not play the extension information of the subscriber
who sent the message.
• true: After playing the sender's voice name, play the primary
extension information of the subscriber who sent the message.
Read/Write
Boolean
SaySenderExtension
A flag indicating whether Cisco Unity Connection plays the
Automatic Number Identification (ANI) information during message
playback for voice messages from unidentified callers.
Possible Values:
• true
• false
Default value: false
Read/Write
Boolean
SayAni
A flag indicating whether system announces the position of each
message in the stack (i.e., 'Message 1', 'Message 2' ,etc.) during
message playback for the subscriber.
Possible values:
• false: Do not play the message number.
• true: Play the message number.
Default value: true
Read/Write
Boolean
SayMsgNumber
Cisco Unity Connection Provisioning Interface (CUPI) API
112
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Playback Message Settings
Explanation of Data Fields
Page 145
Description
Operation
Data
Type
Parameters
A flag indicating whether system announces the timestamp before it
plays back each for the subscriber.
• false: Do not announce the timestamp before each message is
played.
• true: Announce the timestamp before each message is played.
Default value: false
Read/Write
Boolean
SayTimestampBefore
A flag indicating whether Cisco Unity Connection announces the
length of each message during message playback.
possible values:
• true
• false
Default value: false
Read/Write
Boolean
SayMessageLength
Indicates the amount of time (in milliseconds) to jump forward when
skipping ahead in a voice or TTS message using either DTMF or
voice commands while reviewing messages.
Default Value: 5000 The range can vary from 1000 to 60000.
Read/Write
Integer
SkipForwardTime
Indicates the amount of time (in milliseconds) to jump backward
when skipping in reverse in a voice or TTS message using either
DTMF or voice commands while reviewing messages.
Default Value: 5000 The range can vary from 1000 to 60000.
Read/Write
Integer
SkipReverseTime
A flag indicating whether Message Bookmark is enabled for the
subscriber
Possible values:
• false: Message Bookmark feature is disabled for subscriber
• true: Message Bookmark feature is enabled for subscriber
Default value: false
Read/Write
Boolean
EnableMessageBookmark
A flag indicating when hanging up while listening to a new message,
whether the message is marked new again or is marked read.
• false: Message is marked new again
• true: Message is marked read
Default Value: false
Read/Write
Boolean
SaveMessageOnHangup
This flag works exactly the same as the SaySender flag on a user,
except the conversation plays the sender in the message footer.
Possible Values:
• false: Do not announce the sender.
• True: Announce the sender.
Read/Write
Boolean
SaySenderAfter
Cisco Unity Connection Provisioning Interface (CUPI) API
113
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Playback Message Settings
Explanation of Data Fields
Page 146
Description
Operation
Data
Type
Parameters
This flag works exactly the same as the SaySenderExtension flag on
a user, except the conversation plays the sender's extension in the
message footer.
Possible Values:
• false: Do not play the extension information of the subscriber
who sent the message.
• true- After playing the sender's voice name, play the primary
extension information of the subscriber who sent the message.
Read/Write
Boolean
SaySenderExtensionAfter
This flag works exactly the same as the SayMsgNumber flag on a
user, except the conversation plays the message number in the
message footer.
Possible Values:
• false: Do not play the message number.
• true: Play the message number.
Read/Write
Boolean
SayMsgNumberAfter
This flag works exactly the same as the SayAni flag on a user, except
the conversation plays the ani in the message footer.
Possible Values:
• true
• false
Default value: false
Read/Write
Boolean
SayAniAfter
This flag works exactly the same as the SayMessageLength flag on
a user, except the conversation plays the message length in the
message footer.
Possible Values:
• true
• false
Default value: false
Read/Write
Boolean
SayMessageLengthAfter
A flag indicating whether the conversation moves to the next message
in the playback stack automatically during playback after playing the
After Message Menu.
Possible Values:
• false: Do not automatically skip to the next message after playing
the After Message Menu once.
• true: Automatically skip to the next message after playing the
After Message Menu once.
Default Value: false
Read/Write
Boolean
AutoAdvanceMsgs
Cisco Unity Connection Provisioning Interface (CUPI) API
114
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Playback Message Settings
Explanation of Data Fields
Page 147
Description
Operation
Data
Type
Parameters
A flag indicating whether system will request confirmation from a
subscriber before proceeding with a deletion of a single new or saved
message.
• false: system will not request confirmation from a subscriber
before proceeding with a deletion of a single new or saved
message.
• true: system will request confirmation from a subscriber before
proceeding with a deletion of a single new or saved message.
Default Value: false
Read/Write
Boolean
ConfirmDeleteMessage
Cisco Unity Connection Provisioning Interface (CUPI) API
115
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Playback Message Settings
Explanation of Data Fields
Page 148
Cisco Unity Connection Provisioning Interface (CUPI) API
116
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Playback Message Settings
Explanation of Data Fields
Page 149
C H A P T E R 22
Cisco Unity Connection Provisioning Interface
(CUPI) API -- User Post Greeting Recording
Links to Other API pages: Cisco_Unity_Connection_APIs
• Post Greeting Recording Settings API, on page 117
Post Greeting Recording Settings API
The following URI can be used to view the user object ID:
GET https://<connection-server>/vmrest/users/<user-objectid>
From the above URI, get the call handler object ID.
Update Post Greeting Recording Settings
Request Body:
<CallhandlerPrimaryTemplate>
<PlayPostGreetingRecording>1</PlayPostGreetingRecording>
</CallhandlerPrimaryTemplate>
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
JSON Example
To update post greeting recording settings, do the following:
Request URI:
PUT https://<connection-server>/vmrest/callhandlerprimarytemplates/<ObjectId>
Accept: application/json
Content-type: application/json
Connection: keep-alive
Request Body:
{
"PlayPostGreetingRecording":"1"
}
Cisco Unity Connection Provisioning Interface (CUPI) API
117

Page 150
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Explanation of Data Fields
Values
Operations
Data
Type
Parameters
• 0: Do Not Play Recording
• 1: Play Recording to All Callers
• 2: Play Recording Only to Unidentified Callers
Read/Write
Integer
PlayPostGreetingRecording
Object Id of post greeting. URI to fetch it:
https://<connection-server>/vmrest/postgreetingrecordings
Read/Write
String(64)
PostGreetingRecordingObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
118
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Post Greeting Recording
Explanation of Data Fields
Page 151
C H A P T E R 23
Cisco Unity Connection Provisioning Interface
(CUPI) API -- User Private List API
Links to Other API pages: Cisco_Unity_Connection_APIs
• Private List API , on page 119
Private List API
Listing All the Private Lists
GET https://<connection-server>/vmrest/users/<user-objectid>/privatelists
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<PrivateLists total="1">
<PrivateList>
<URI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/privatelists/8465e5d7-f0d2-4d32-81b1-634a2315db9c</URI>
<ObjectId>8465e5d7-f0d2-4d32-81b1-634a2315db9c</ObjectId>
<DisplayName>Test1</DisplayName>
<UserObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</UserObjectId>
<UserURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8</UserURI>
<DtmfName>83781</DtmfName>
<Alias>Texoma_8465e5d7-f0d2-4d32-81b1-634a2315db9c</Alias>
<NumericId>1</NumericId>
<IsAddressable>true</IsAddressable>
<PrivateListMembersURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/privatelists/8465e5d7-f0d2-4d32-81b1-634a2315db9c/privatelistmembers</PrivateListMembersURI>
<AlternateNamesURI>/vmrest/alternatenames?query=(PersonalGroupObjectId%20is%208465e5d7-f0d2-4d32-81b1-634a2315db9c)
</AlternateNamesURI>
</PrivateList>
</PrivateLists>
Response Code: 200
Cisco Unity Connection Provisioning Interface (CUPI) API
119

Page 152
Listing a Particular Private List
GET https://<connection-server>/vmrest/users/<user-objectid>/privatelists/<objectid>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<PrivateList>
<URI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/privatelists/8465e5d7-f0d2-4d32-81b1-634a2315db9c</URI>
<ObjectId>8465e5d7-f0d2-4d32-81b1-634a2315db9c</ObjectId>
<DisplayName>Test1</DisplayName>
<UserObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</UserObjectId>
<UserURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8</UserURI>
<DtmfName>83781</DtmfName>
<Alias>Texoma_8465e5d7-f0d2-4d32-81b1-634a2315db9c</Alias>
<NumericId>1</NumericId>
<IsAddressable>true</IsAddressable>
<PrivateListMembersURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/privatelists/8465e5d7-f0d2-4d32-81b1-
634a2315db9c/privatelistmembers</PrivateListMembersURI>
<AlternateNamesURI>/vmrest/alternatenames?query=(PersonalGroupObjectId%20is%208465e5d7-f0d2-4d32-81b1-634a2315db9c)
</AlternateNamesURI>
</PrivateList>
Response Code: 200
JSON Example
GET https://<connection-server>vmrest/users/<user-objectid>/privatelists/<objectid>
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
“URI”:
“/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/privatelists/8465e5d7-f0d2-4d32-81b1-634a2315db9c”
“ObjectId”: “8465e5d7-f0d2-4d32-81b1-634a2315db9c”
“DisplayName”: “Test1”
“UserObjectId”: “9375d893-c8eb-437b-90bf-7de4b1d0c3e8”
“UserURI”: “/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8”
“DtmfName”: “83781”
“Alias”: “Texoma_8465e5d7-f0d2-4d32-81b1-634a2315db9c”
“NumericId”: “1”
“IsAddressable”: “true”
“PrivateListMembersURI”:
“/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/privatelists/8465e5d7-f0d2-4d32-81b1-
634a2315db9c/privatelistmembers”
“AlternateNamesURI”:
“/vmrest/alternatenames?query=(PersonalGroupObjectId%20is%208465e5d7-f0d2-4d32-81b1-634a2315db9c)”
}
Response Code: 200
Cisco Unity Connection Provisioning Interface (CUPI) API
120
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Private List API
Listing a Particular Private List
Page 153
Create a Private list
The mandatory field for creation is DisplayName.
POST https://<connection-server>/vmrest/users/<user-objectid>/privatelists
<PrivateList>
<DisplayName>Test1</DisplayName>
</PrivateList>
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/privatelists/2375d893-c8eb-437b-90bf-7de4b1d0c3e5
JSON Example
POST https://<connection-server>vmrest/users/<user-objectid>/privatelists/<objectid>
Accept: application/json
Content-type: application/json
Connection: keep-alive
{
"DisplayName":"Test1"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/privatelists/2375d893-c8eb-437b-90bf-7de4b1d0c3e5
Update Private List
PUT https://<connection-server>vmrest/users/<user-objectid>/privatelists/<objectid>
<PrivateList>
<DisplayName>Test11</DisplayName>
</PrivateList>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
PUT https://<connection-server>vmrest/users/<user-objectid>/privatelists/<objectid>
Accept: application/json
Content-type:
application/json
Connection: keep-alive
Cisco Unity Connection Provisioning Interface (CUPI) API
121
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Private List API
Create a Private list
Page 154
{
"DisplayName":"Test11"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Delete Private List
DELETE https://<connection-server>/vmrest/users/<user-objectid>/privatelists/<objectid>
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
JSON Example
DELETE https://<connection-server>vmrest/users/<user-objectid>/privatelists/<objectid>
Accept: application/json
Connection: keep-alive
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
Explanation of Data Fields
Description
Operation
Data
Type
Field
Name
The preferred text name of the list to be used when displaying entries such
as in the administrative console, e.g. Cisco Unity Connection Administration.
Read/Write
String
DisplayName
The unique identifier of the User object to which this list belongs.
Read
Only
String(36)
UserObjectId
The digits corresponding to the numeric keypad mapping on a standard
touchtone phone representing the group name. These digits would need to
be dialed to address a message to this list via the phone.
Read
Only
String
DtmfName
The unique text name for either a list
Read
Only
String
Alias
If being used as a personal voicemail list (i.e., "private" voicemail list), the
numeric identifier for the personal group,(Value 0-4)
Read
Only
String
NumericId
Cisco Unity Connection Provisioning Interface (CUPI) API
122
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Private List API
Delete Private List
Page 155
Description
Operation
Data
Type
Field
Name
A flag indicating whether the entity to which the alias belongs is addressable.
Possible Values:
• false: The entity is not addressable
• true: The entity is addressable.
Default value: true
Read
Only
Boolean
IsAddressable
Unique identifier of private List
Read
Only
String(36)
ObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
123
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Private List API
Explanation of Data Fields
Page 156
Cisco Unity Connection Provisioning Interface (CUPI) API
124
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Private List API
Explanation of Data Fields
Page 157
C H A P T E R 24
Cisco Unity Connection Provisioning Interface
(CUPI) API -- User Send Message Settings
Links to Other API pages: Cisco_Unity_Connection_APIs
• Send Message Settings API, on page 125
Send Message Settings API
Listing the Send Message Settings
The following URI can be used to get the Send Message Settings API of user:
GET https://<connection-server>/vmrest/users/<user-objectid>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<User>
<AddressMode>0</AddressMode>
<SendBroadcastMsg>true</SendBroadcastMsg>
<UpdateBroadcastMsg>true</UpdateBroadcastMsg>
<NameConfirmation>false</NameConfirmation>
<ContinuousAddMode>false</ContinuousAddMode>
<SendMessageOnHangup>2</SendMessageOnHangup>
</User>
Response Code: 200
JSON Example
GET https://<connection-server>/vmrest/users/<user-objectid>
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
125

Page 158
{
“AddressMode”: “0”
“SendBroadcastMsg”: “true”
“UpdateBroadcastMsg”: “true”
“NameConfirmation”: “false”
“ContinuousAddMode”: “false”
“SendMessageOnHangup”: “2”
}
Response Code: 200
Update Send Message Settings
PUT https://<connection-server>/vmrest/users/<user-objectid>
<User>
<AddressMode>0</AddressMode>
<SendBroadcastMsg>true</SendBroadcastMsg>
<UpdateBroadcastMsg>true</UpdateBroadcastMsg>
<NameConfirmation>false</NameConfirmation>
<ContinuousAddMode>false</ContinuousAddMode>
<SendMessageOnHangup>2</SendMessageOnHangup>
</User>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
PUT https://<connection-server>/vmrest/users/<user-objectid>
Accept: application/json
Content-type: application/json
Connection: keep-alive
{
"AddressMode":"2",
"UpdateBroadcastMsg":"true"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
126
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Send Message Settings
Update Send Message Settings
Page 159
Explanation of Data Fields
Values
Data
Type
Parameter
User Can Send Broadcast Messages to Users on This Server
Values:
• 0: Cannot send broadcast messages.
• 1: Can send broadcast messages.
Default value: False
Boolean
SendBroadcastMsg
User Can Update Broadcast Messages Stored on This Server
Boolean
UpdateBroadcastMsg
Address mode options.
• 0: Spelling the Last Name Then First Name
• 1: Entering the extension
• 2: Spelling the First Name Then Last Name
Integer
AddressMode
Confirm Recipient by Name
Boolean
NameConfirmation
Continue Adding Names after Each Recipient. Default value: False
Boolean
ContinuousAddMode
Automatically Add Recipients to Addressing Priority List
Boolean
UseDynamicNameSearchWeight
Allow Users to Save Draft Messages
Boolean
EnableSaveDraft
Retain Urgency Flag When Forwarding or Replying to Messages
Boolean
RetainUrgentMessageFlag
Allow addressing a message or discard Message or save Message as draft
on hanging.
• 0: Discard Message
• 1: Send Message
• 2: Save Message as Draft
Integer
SendMessageOnHangup
•
Cisco Unity Connection Provisioning Interface (CUPI) API
127
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Send Message Settings
Explanation of Data Fields
Page 160
Cisco Unity Connection Provisioning Interface (CUPI) API
128
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Send Message Settings
Explanation of Data Fields
Page 161
C H A P T E R 25
Cisco Unity Connection Provisioning Interface
(CUPI) API -- User SMTP Proxy Address
• SMTP Proxy Address API, on page 129
SMTP Proxy Address API
Listing the SMTP proxy Address
GET
https://<connection-server>/vmrest/smtpproxyaddresses?query=(GlobalUserObjectId%20is%20<user-objectid>)
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<SmtpProxyAddresses total="2">
<SmtpProxyAddress>
<URI>/vmrest/smtpproxyaddresses/3d71d2ed-5baf-48c4-bf25-875bca56e30e</URI>
<ObjectId>3d71d2ed-5baf-48c4-bf25-875bca56e30e</ObjectId>
<SmtpAddress>chhavi@we.com</SmtpAddress>
<ObjectGlobalUserObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</ObjectGlobalUserObjectId>
<ObjectGlobalUserURI>/vmrest/globalusers/9375d893-c8eb-437b-90bf-7de4b1d0c3e8</ObjectGlobalUserURI>
</SmtpProxyAddress>
<SmtpProxyAddress>
<URI>/vmrest/smtpproxyaddresses/062fc8cc-a0aa-4ad7-b74c-9589dd95cb1c</URI>
<ObjectId>062fc8cc-a0aa-4ad7-b74c-9589dd95cb1c</ObjectId>
<SmtpAddress>chhavi@5.co</SmtpAddress>
<ObjectGlobalUserObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</ObjectGlobalUserObjectId>
<ObjectGlobalUserURI>/vmrest/globalusers/9375d893-c8eb-437b-90bf-7de4b1d0c3e8</ObjectGlobalUserURI>
</SmtpProxyAddress>
</SmtpProxyAddresses>
Response Code: 200
Cisco Unity Connection Provisioning Interface (CUPI) API
129

Page 162
JSON Example
GET
https://<connection-server>/vmrest/smtpproxyaddresses?query=(GlobalUserObjectId%20is%20<user-objectid>)
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"@total": "2",
"SmtpProxyAddress":
[
{
"URI": "/vmrest/smtpproxyaddresses/3d71d2ed-5baf-48c4-bf25-875bca56e30e",
"ObjectId": "3d71d2ed-5baf-48c4-bf25-875bca56e30e",
"SmtpAddress": "john@we.com",
"ObjectGlobalUserObjectId": "9375d893-c8eb-437b-90bf-7de4b1d0c3e8",
"ObjectGlobalUserURI": "/vmrest/globalusers/9375d893-c8eb-437b-90bf-7de4b1d0c3e8"
},
{
"URI": "/vmrest/smtpproxyaddresses/062fc8cc-a0aa-4ad7-b74c-9589dd95cb1c",
"ObjectId": "062fc8cc-a0aa-4ad7-b74c-9589dd95cb1c",
"SmtpAddress": "mary@5.co",
"ObjectGlobalUserObjectId": "9375d893-c8eb-437b-90bf-7de4b1d0c3e8",
"ObjectGlobalUserURI": "/vmrest/globalusers/9375d893-c8eb-437b-90bf-7de4b1d0c3e8"
}
]
}
Response Code: 200
Create an SMTP Proxy Address
The mandatory fields for creation are SmtpAddress and ObjectGlobalUserObjectId
POST https://<connection-server>vmrest/smtpproxyaddresses
<SmtpProxyAddress>
<SmtpAddress>Texoma@cisco.com</SmtpAddress>
<ObjectGlobalUserObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</ObjectGlobalUserObjectId>
</SmtpProxyAddress>
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/smtpproxyaddresses/8375d893-c8eb-437b-90bf-7de4b1d0c3e8
JSON Example
POST https://<connection-server>vmrest/smtpproxyaddresses
Accept: application/json
Content-type:
application/json
Connection: keep-alive
Cisco Unity Connection Provisioning Interface (CUPI) API
130
Cisco Unity Connection Provisioning Interface (CUPI) API -- User SMTP Proxy Address
Create an SMTP Proxy Address
Page 163
{
"SmtpAddress":"Texoma@cisco.com",
"ObjectGlobalUserObjectId":"9375d893-c8eb-437b-90bf-7de4b1d0c3e8"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/smtpproxyaddresses/8375d893-c8eb-437b-90bf-7de4b1d0c3e8
Update SMTP proxy Address
PUT https://<connection-server>/vmrest/smtpproxyaddresses/<objectid>
<SmtpProxyAddress>
<SmtpAddress>Texoma@cisco.com</SmtpAddress>
</SmtpProxyAddress>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
PUT https://<connection-server>vmrest/smtpproxyaddresses/<object_id>
Accept: application/json
Content-type:
application/json
Connection: keep-alive
{
"SmtpAddress":"Texoma@cisco.com"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Delete SMTP Proxy Address
DELETE https://<connection-server>/vmrest/smtpproxyaddresses/<objectid>
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
JSON Example
Cisco Unity Connection Provisioning Interface (CUPI) API
131
Cisco Unity Connection Provisioning Interface (CUPI) API -- User SMTP Proxy Address
Update SMTP proxy Address
Page 164
DELETE https://<connection-server>vmrest/smtpproxyaddresses/<objectid>
Accept: application/json
Content-type:
application/json
Connection: keep-alive
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
Explanation of Data Fields
Description
Operation
Data
Type
Field Name
The primary key for this table.
Read
Only
String(36)
ObjectId
The full SMTP proxy address for this object.
Read/Write
String(320)
SmtpAddress
The unique identifier of the Global User to which this SMTP address
belongs.
Read/Write
String(36)
ObjectGlobalUserObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
132
Cisco Unity Connection Provisioning Interface (CUPI) API -- User SMTP Proxy Address
Explanation of Data Fields
Page 165
C H A P T E R 26
Cisco Unity Connection Provisioning Interface
(CUPI) API -- User Transfer Rules
• Transfer Rule API, on page 133
Transfer Rule API
First get the call handler URI of a particular user: GET
https://<Connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>
From call handler URI get for transfer options: GET
https://<Connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/transferoptions
For alternate transfer rule: GET
https://<Connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/transferoptions/Alternate
For closed transfer rule: GET
https://<Connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/transferoptions/Off%20Hours
For Standard transfer rule: GET
https://<Connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/transferoptions/Standard
Listing All Transfer Rules
GET
https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/transferoptions
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
133

Page 166
<TransferOptions total="2">
<TransferOption>
<URI>/vmrest/callhandlerprimarytemplates/939d4d12-cec8-4fee-ae47-fbf0cf20c33e/transferoptions/Off%20Hours</URI>
<CallHandlerObjectId>939d4d12-cec8-4fee-ae47-fbf0cf20c33e</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/939d4d12-cec8-4fee-ae47-fbf0cf20c33e</CallhandlerURI>
<TransferOptionType>Off Hours</TransferOptionType>
<Action>0</Action>
<RnaAction>1</RnaAction>
<TransferAnnounce>false</TransferAnnounce>
<TransferConfirm>false</TransferConfirm>
<TransferDtDetect>false</TransferDtDetect>
<TransferHoldingMode>0</TransferHoldingMode>
<TransferIntroduce>false</TransferIntroduce>
<TransferRings>4</TransferRings>
<TransferScreening>false</TransferScreening>
<TransferType>0</TransferType>
<MediaSwitchObjectId>ec1e2636-fc14-44fc-8cda-d6c1a3d61150</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/ec1e2636-fc14-44fc-8cda-d6c1a3d61150</PhoneSystemURI>
<UsePrimaryExtension>true</UsePrimaryExtension>
<PlayTransferPrompt>true</PlayTransferPrompt>
<PersonalCallTransfer>false</PersonalCallTransfer>
<Enabled>true</Enabled>
</TransferOption>
<TransferOption>
<URI>/vmrest/handlers/callhandlers/939d4d12-cec8-4fee-ae47-fbf0cf20c33e/transferoptions/Standard</URI>
<CallHandlerObjectId>939d4d12-cec8-4fee-ae47-fbf0cf20c33e</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/939d4d12-cec8-4fee-ae47-fbf0cf20c33e</CallhandlerURI>
<TransferOptionType>Standard</TransferOptionType>
<Action>0</Action>
<RnaAction>1</RnaAction>
<TransferAnnounce>false</TransferAnnounce>
<TransferConfirm>false</TransferConfirm>
<TransferDtDetect>false</TransferDtDetect>
<TransferHoldingMode>0</TransferHoldingMode>
<TransferIntroduce>false</TransferIntroduce>
<TransferRings>4</TransferRings>
<TransferScreening>false</TransferScreening>
<TransferType>0</TransferType>
<MediaSwitchObjectId>ec1e2636-fc14-44fc-8cda-d6c1a3d61150</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/ec1e2636-fc14-44fc-8cda-d6c1a3d61150</PhoneSystemURI>
<UsePrimaryExtension>true</UsePrimaryExtension>
<PlayTransferPrompt>true</PlayTransferPrompt>
<PersonalCallTransfer>false</PersonalCallTransfer>
<Enabled>true</Enabled>
</TransferOption>
</TransferOptions>
Response Code: 200
Cisco Unity Connection Provisioning Interface (CUPI) API
134
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Transfer Rules
Listing All Transfer Rules
Page 167
Viewing the Alternate Transfer Rule
The following is an example of the GET request that lists the details of alternate transfer rule:
GET
https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/transferoptions/Alternate
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<TransferOption>
<URI>/vmrest/callhandlerprimarytemplates/45e0a6f4-43c4-472a-8ffb-f6124aa549d0/transferoptions/Alternate</URI>
<CallHandlerObjectId>45e0a6f4-43c4-472a-8ffb-f6124aa549d0</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/45e0a6f4-43c4-472a-8ffb-f6124aa549d0</CallhandlerURI>
<TransferOptionType>Alternate</TransferOptionType>
<Action>1</Action>
<RnaAction>1</RnaAction>
<TimeExpires>1972-01-01 00:00:00.0</TimeExpires>
<TransferAnnounce>false</TransferAnnounce>
<TransferConfirm>false</TransferConfirm>
<TransferDtDetect>false</TransferDtDetect>
<TransferHoldingMode>0</TransferHoldingMode>
<TransferIntroduce>false</TransferIntroduce>
<TransferRings>4</TransferRings>
<TransferScreening>false</TransferScreening>
<TransferType>0</TransferType>
<MediaSwitchObjectId>221ee752-5147-4326-9990-d4a138674f9e</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/221ee752-5147-4326-9990-d4a138674f9e</PhoneSystemURI>
<UsePrimaryExtension>true</UsePrimaryExtension>
<PlayTransferPrompt>true</PlayTransferPrompt>
<PersonalCallTransfer>false</PersonalCallTransfer>
<Enabled>false</Enabled>
</TransferOption>
Response Code: 200
JSON Example
To view the alternate transfer rule, do the following:
GET
https://<connection-server>/vmrest/handlers/<callhandlerObjectId>/transferoptions/Alternate
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
135
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Transfer Rules
Viewing the Alternate Transfer Rule
Page 168
{
"URI":"/vmrest/handlers/callhandlers/43bb6590-e9e3-43ca-972e-e3e158a96126/transferoptions/Alternate"
"CallHandlerObjectId":"43bb6590-e9e3-43ca-972e-e3e158a96126"
"CallhandlerURI":"/vmrest/handlers/callhandlers/43bb6590-e9e3-43ca-972e-e3e158a96126"
"TransferOptionType":"Alternate"
"Action":"0"
"RnaAction":"1"
"TimeExpires":"1972-01-01 00:00:00.0"
"TransferAnnounce":"false"
"TransferConfirm":"false"
"TransferDtDetect":"false"
"TransferHoldingMode":"0"
"TransferIntroduce":"false"
"TransferRings":"4"
"TransferScreening":"false"
"TransferType":"0"
"MediaSwitchObjectId":"e912b134-1bd0-45f9-baae-9f1e096ae3b9"
"PhoneSystemURI":"/vmrest/phonesystems/e912b134-1bd0-45f9-baae-9f1e096ae3b9"
"UsePrimaryExtension":"true"
"PlayTransferPrompt":"true"
"PersonalCallTransfer":"false"
"Enabled":"false"
}
Response Code: 200
Updating Transfer Option
The following is an example of the PUT request that updates the transfer option:
PUT
https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/transferoptions/Alternate
<TransferOption>
<Action>0</Action>
<TimeExpires>1972-01-01 00:00:00.0</TimeExpires>
<TransferAnnounce>false</TransferAnnounce>
<TransferConfirm>false</TransferConfirm>
<TransferHoldingMode>0</TransferHoldingMode>
<TransferIntroduce>false</TransferIntroduce>
<TransferRings>4</TransferRings>
<TransferScreening>false</TransferScreening>
<TransferType>0</TransferType>
</TransferOption>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
To update the transfer rule, do the following:
Cisco Unity Connection Provisioning Interface (CUPI) API
136
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Transfer Rules
Updating Transfer Option
Page 169
PUT
https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/transferoptions/Alternate
Accept: application/json
Content-type: application/json
Connection: keep-alive
{
"Action":"1",
"TransferAnnounce":"false",
"TransferConfirm":"false",
"TransferHoldingMode":"0",
"TransferIntroduce":"false",
"TransferRings":"4",
"TransferScreening":"false",
"TransferType":"0"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Explanation of Data Fields
Comments
Operations
Data
Type
Parameter
The type of transfer option, e.g. "Standard," "Off Hours," or
"Alternate."
Read
Only
String(64)
TransferOptionType
To enable transfer rules.
Possible values:
• true
• false
Default value: false
Read/Write
Boolean
Enabled
The date and time when this transfer option expires. If the transfer rule
is enabled, the value is NULL or a date in the future. If the transfer
rule is disable, the value is a past date.
Read/Write
DateTime
TimeExpires
A flag indicating whether Cisco Unity Connection transfers the call
to the call handler greeting or attempts to transfer the call to an
extension.
Values can be:
• 0: Greeting
• 1: Extension
Read/Write
Integer
Actions
Cisco Unity Connection Provisioning Interface (CUPI) API
137
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Transfer Rules
Explanation of Data Fields
Page 170
Comments
Operations
Data
Type
Parameter
The type of call transfer Cisco Unity Connection will perform -
supervised or unsupervised (also referred to as "Release to Switch"
transfer).
Values:
• 0: Release to Switch
• 1: Supervise Transfer
Read/Write
Integer
TransferType
The number of times the extension rings before Cisco Unity Connection
considers it a "ring no answer" and plays the subscriber or handler
greeting.
Applies only when the "TransferType" column is set to supervised (1).
This value should never be less than 2 for a supervised transfer.
Possible Values: 2-20 Default value: 4
Read/Write
Integer
TransferRings
Enables "Wait While I Transfer Your Call" Prompt.
Values:
• false: System will not play the "Wait while I transfer your call"
prompt prior to transfer.
• true: System will play the "Wait while I transfer your call" prompt
prior to transfer.
Default value: true
Read/Write
Boolean
PlayTransferPrompt
The action Cisco Unity Connection will take when the extension is
busy.
Applies only when the "TransferType" column is set to supervised (1).
Values:
• 0: Send callers to voicemail.
• 1: Put callers on hold without asking.
• 2: Ask callers to hold.
Read/Write
Integer
TransferHoldingMode
A flag indicating whether Cisco Unity Connection plays "transferring
call" when the subscriber answers the phone.
Requires a "TransferType" of supervised (1). Values:
• false: Do not say "Transferring call" when the subscriber answers
the phone
• true: Say "Transferring call" when the subscriber answers the
phone
Default value: false
Read/Write
Boolean
TransferAnnounce
Cisco Unity Connection Provisioning Interface (CUPI) API
138
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Transfer Rules
Explanation of Data Fields
Page 171
Comments
Operations
Data
Type
Parameter
A flag indicating whether Cisco Unity Connection will say "call for
<recorded name of the call handler>" when the subscriber answers the
phone.
Requires a "TransferType" of supervised (1). This functionality is
normally used when a single extension number is being shared by
multiple subscribers or a scenario where the subscriber who is the
message recipient takes calls for more than one dialed extension. The
introduction alerts the subscriber who answers that the call is for the
call handler. Default value: false
Read/Write
Boolean
TransferIntroduce
A flag indicating whether Cisco Unity Connection prompts the
subscriber to accept or refuse a call ("Press 1 to take the call or 2 and
I'll take a message"). If the call is accepted, it is transferred to the
subscriber phone. If the call is refused, Cisco Unity Connection plays
the applicable subscriber greeting.
Requires a "TransferType" of supervised (1). Typically this is used in
conjunction with the call screening option ("TransferScreening"
column) enabled. This combination enables the subscriber to hear the
name of the caller and then decide if they want to take the call or not.
Values:
• false: Transfer confirm disabled
• true: Transfer confirm enabled
Default value: false
Read/Write
Boolean
TransferConfirm
Requires a "TransferType" of supervised (1).
Normally this column is used along with "TransferConfirm" to allow
the subscriber to screen calls. Values:
• false: Call screening disabled
• true: Ask and record caller name
Default value: false
Read/Write
Boolean
TransferScreening
Cisco Unity Connection Provisioning Interface (CUPI) API
139
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Transfer Rules
Explanation of Data Fields
Page 172
Cisco Unity Connection Provisioning Interface (CUPI) API
140
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Transfer Rules
Explanation of Data Fields
Page 173
C H A P T E R 27
Cisco Unity Connection Provisioning Interface
(CUPI) API -- User Management API
• User API , on page 141
• Admin User API , on page 165
User API
Administrator can use this API to create/update/delete/fetch the user with mailbox. Various attributes of user,
for example notification device, greetings, contact, private list, phone menu, call transfer, screening, or personal
data, can also be updated using this API .
Listing the Users
The request can be used to fetch the list of all users.
GET https://<connection-server>/vmrest/users
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
141

Page 174
<Users total="2">
<User>
<URI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1</URI>
<ObjectId>4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1</ObjectId>
<TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId>
<Alias>undeliverablemessagesmailbox</Alias>
<DisplayName>Undeliverable Messages</DisplayName>
<TimeZone>0</TimeZone>
<CreationTime>2013-03-05T10:54:38Z</CreationTime>
<CosObjectId>610c9c71-32be-4465-b61a-523f24a9d828</CosObjectId>
<CosURI>/vmrest/coses/610c9c71-32be-4465-b61a-523f24a9d828</CosURI>
<Language>0</Language>
<LocationObjectId>42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationURI>
<ListInDirectory>false</ListInDirectory>
<IsVmEnrolled>true</IsVmEnrolled>
<MediaSwitchObjectId>ec1e2636-fc14-44fc-8cda-d6c1a3d61150</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/ec1e2636-fc14-44fc-8cda-d6c1a3d61150</PhoneSystemURI>
<CallHandlerObjectId>13a3c5fc-f706-4bd0-aeeb-32dad2c4a29b</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/13a3c5fc-f706-4bd0-aeeb-32dad2c4a29b</CallhandlerURI>
<DtmfAccessId>99999</DtmfAccessId>
<VoiceNameRequired>false</VoiceNameRequired>
<PartitionObjectId>da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionObjectId>
<PartitionURI>/vmrest/partitions/da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionURI>
<Inactive>false</Inactive>
<MwisURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/mwis</MwisURI>
<NotificationDevicesURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/notificationdevices</NotificationDevicesURI>
<MessageHandlersURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/messagehandlers</MessageHandlersURI>
<ExternalServiceAccountsURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/externalserviceaccounts</ExternalServiceAccountsURI>
<AlternateExtensionsURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/alternateextensions</AlternateExtensionsURI>
<PrivateListsURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/privatelists</PrivateListsURI>
<SmtpProxyAddressesURI>/vmrest/smtpproxyaddresses?query=(ObjectGlobalUserObjectId%20is%204d5df6e3-a036-4f16-8f1e-
d48e7e9b73c1)</SmtpProxyAddressesURI>
<AlternateNamesURI>/vmrest/alternatenames?query=(GlobalUserObjectId%20is%204d5df6e3-a036-4f16-8f1e-d48e7e9b73c1)
</AlternateNamesURI>
</User>
<User>
<URI>/vmrest/users/671fd8d1-7240-4e60-9194-0ec9c4a626ce</URI>
<ObjectId>671fd8d1-7240-4e60-9194-0ec9c4a626ce</ObjectId>
<Alias>operator</Alias>
<DisplayName>Operator</DisplayName>
<TimeZone>0</TimeZone>
<CreationTime>2013-03-05 10:54:39.02</CreationTime>
<CosObjectId>610c9c71-32be-4465-b61a-523f24a9d828</CosObjectId>
<CosURI>/vmrest/coses/610c9c71-32be-4465-b61a-523f24a9d828</CosURI>
<Language>0</Language>
Cisco Unity Connection Provisioning Interface (CUPI) API
142
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Listing the Users
Page 175
<LocationObjectId>42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationURI>
<ListInDirectory>false</ListInDirectory>
<IsVmEnrolled>true</IsVmEnrolled>
<MediaSwitchObjectId>ec1e2636-fc14-44fc-8cda-d6c1a3d61150</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/ec1e2636-fc14-44fc-8cda-d6c1a3d61150</PhoneSystemURI>
<CallHandlerObjectId>4546d6df-5120-4fb3-9719-8d521b8a5796</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/4546d6df-5120-4fb3-9719-8d521b8a5796</CallhandlerURI>
<DtmfAccessId>99990</DtmfAccessId>
<VoiceNameRequired>false</VoiceNameRequired>
<PartitionObjectId>da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionObjectId>
<PartitionURI>/vmrest/partitions/da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionURI>
<Inactive>false</Inactive>
<MwisURI>/vmrest/users/671fd8d1-7240-4e60-9194-0ec9c4a626ce/mwis</MwisURI>
<NotificationDevicesURI>/vmrest/users/671fd8d1-7240-4e60-9194-0ec9c4a626ce/notificationdevices</NotificationDevicesURI>
<MessageHandlersURI>/vmrest/users/671fd8d1-7240-4e60-9194-0ec9c4a626ce/messagehandlers</MessageHandlersURI>
<ExternalServiceAccountsURI>/vmrest/users/671fd8d1-7240-4e60-9194-0ec9c4a626ce/externalserviceaccounts</ExternalServiceAccountsURI>
<AlternateExtensionsURI>/vmrest/users/671fd8d1-7240-4e60-9194-0ec9c4a626ce/alternateextensions</AlternateExtensionsURI>
<PrivateListsURI>/vmrest/users/671fd8d1-7240-4e60-9194-0ec9c4a626ce/privatelists</PrivateListsURI>
<SmtpProxyAddressesURI>/vmrest/smtpproxyaddresses?query=(ObjectGlobalUserObjectId%20is%20671fd8d1-7240-4e60-9194-0ec9c4a626ce)</SmtpProxyAddressesURI>
<AlternateNamesURI>/vmrest/alternatenames?query=(GlobalUserObjectId%20is%20671fd8d1-7240-4e60-9194-0ec9c4a626ce)
</AlternateNamesURI>
</User>
<User>
<URI>/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9</URI>
<ObjectId>8321097e-cca4-483f-b24c-0f2175e6e4c9</ObjectId>
<FirstName>John</FirstName>
<LastName>10000</LastName>
<Alias>John10000</Alias>
<City/>
<Department/>
<EmployeeId/>
<DisplayName>John 10000</DisplayName>
<EmailAddress>john@cisco.com</EmailAddress>
<TimeZone>190</TimeZone>
<CreationTime>2015-06-01T05:03:15Z</CreationTime>
<CosObjectId>0a987b74-acf0-4310-ab81-4ebe0190cca4</CosObjectId>
<CosURI>/vmrest/coses/0a987b74-acf0-4310-ab81-4ebe0190cca4</CosURI>
<Language>1033</Language>
<LocationObjectId>17f9c794-d4e4-453b-a9df-771c48c0590e</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/17f9c794-d4e4-453b-a9df-771c48c0590e</LocationURI>
<ListInDirectory>true</ListInDirectory>
<IsVmEnrolled>false</IsVmEnrolled>
<MediaSwitchObjectId>6f37f783-437a-4c9b-aefe-74201f33deab</MediaSwitchObjectId>
Cisco Unity Connection Provisioning Interface (CUPI) API
143
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Listing the Users
Page 176
<PhoneSystemURI>/vmrest/phonesystems/6f37f783-437a-4c9b-aefe-74201f33deab</PhoneSystemURI>
<CallHandlerObjectId>be938317-6c75-4d67-9c9e-642ba90d85d1</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/be938317-6c75-4d67-9c9e-642ba90d85d1</CallhandlerURI>
<DtmfAccessId>10000</DtmfAccessId>
<VoiceNameRequired>false</VoiceNameRequired>
<PartitionObjectId>30c21994-bd80-4992-97ce-601ca93bf3da</PartitionObjectId>
<PartitionURI>/vmrest/partitions/30c21994-bd80-4992-97ce-601ca93bf3da</PartitionURI>
<Inactive>false</Inactive>
<MwisURI>/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/mwis</MwisURI>
<NotificationDevicesURI>/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/notificationdevices</NotificationDevicesURI>
<MessageHandlersURI>/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/messagehandlers</MessageHandlersURI>
<ExternalServiceAccountsURI>/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/externalserviceaccounts</ExternalServiceAccountsURI>
<AlternateExtensionsURI>/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/alternateextensions</AlternateExtensionsURI>
<PrivateListsURI>/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/privatelists</PrivateListsURI>
<VideoServiceAccountsURI>/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/videoserviceaccounts</VideoServiceAccountsURI>
<UserWebPasswordURI>/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/credential/password</UserWebPasswordURI>
<UserMailboxURI>/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/mailboxattributes</UserMailboxURI>
<MailboxStoreName>Unity Messaging Database -1</MailboxStoreName>
<UserVoicePinURI>/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/credential/pin</UserVoicePinURI>
<UserRoleURI>/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/userroles</UserRoleURI>
<SmtpProxyAddressesURI>/vmrest/smtpproxyaddresses?query=(ObjectGlobalUserObjectId%20is%208321097e-cca4-483f-b24c-0f2175e6e4c9)
</SmtpProxyAddressesURI>
<AlternateNamesURI>/vmrest/alternatenames?query=(GlobalUserObjectId%20is%208321097e-cca4-483f-b24c-0f2175e6e4c9)</AlternateNamesURI>
</User>
</Users>
Response Code: 200
JSON Example
To view the list of users, do the following:
GET https://<connection-server>/vmrest/users
Accept: application/json
Connection: keep_alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
144
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Listing the Users
Page 177
{
"Users": {
"-total": "1",
"User": {
"URI": "/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9",
"ObjectId": "8321097e-cca4-483f-b24c-0f2175e6e4c9",
"FirstName": "John",
"LastName": "10000",
"Alias": "John10000",
"DisplayName": "John 10000",
"EmailAddress": "john@cisco.com",
"TimeZone": "190",
"CreationTime": "2015-06-01T05:03:15Z",
"CosObjectId": "0a987b74-acf0-4310-ab81-4ebe0190cca4",
"CosURI": "/vmrest/coses/0a987b74-acf0-4310-ab81-4ebe0190cca4",
"Language": "1033",
"LocationObjectId": "17f9c794-d4e4-453b-a9df-771c48c0590e",
"LocationURI":
"/vmrest/locations/connectionlocations/17f9c794-d4e4-453b-a9df-771c48c0590e",
"ListInDirectory": "true",
"IsVmEnrolled": "false",
"MediaSwitchObjectId": "6f37f783-437a-4c9b-aefe-74201f33deab",
"PhoneSystemURI": "/vmrest/phonesystems/6f37f783-437a-4c9b-aefe-74201f33deab",
"CallHandlerObjectId": "be938317-6c75-4d67-9c9e-642ba90d85d1",
"CallhandlerURI": "/vmrest/handlers/callhandlers/be938317-6c75-4d67-9c9e-642ba90d85d1",
"DtmfAccessId": "10000",
"VoiceNameRequired": "false",
"PartitionObjectId": "30c21994-bd80-4992-97ce-601ca93bf3da",
"PartitionURI": "/vmrest/partitions/30c21994-bd80-4992-97ce-601ca93bf3da",
"Inactive": "false",
"MwisURI": "/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/mwis",
"NotificationDevicesURI":
"/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/notificationdevices",
"MessageHandlersURI":
"/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/messagehandlers",
"ExternalServiceAccountsURI":
"/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/externalserviceaccounts",
"AlternateExtensionsURI":
"/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/alternateextensions",
"PrivateListsURI": "/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/privatelists",
"VideoServiceAccountsURI":
"/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/videoserviceaccounts",
"UserWebPasswordURI":
"/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/credential/password",
"UserMailboxURI":
"/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/mailboxattributes",
"MailboxStoreName": "Unity Messaging Database -1",
"UserVoicePinURI": "/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/credential/pin",
"UserRoleURI": "/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/userroles",
"SmtpProxyAddressesURI":
"/vmrest/smtpproxyaddresses?query=(ObjectGlobalUserObjectId%20is%208321097e-cca4-483f-b24c-0f2175e6e4c9)",
"AlternateNamesURI":
"/vmrest/alternatenames?query=(GlobalUserObjectId%20is%208321097e-cca4-483f-b24c-0f2175e6e4c9)"
}
}
}
Response Code: 200
Cisco Unity Connection Provisioning Interface (CUPI) API
145
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Listing the Users
Page 178
Listing Users based on Email Address
In Cisco Unity Connection 11.5(1) and later, the system administrator can use email address to list the users
using following URI:
GET https://<connection-server>/vmrest/users?query=(emailaddress is
emailaddress@domain.com)
GET https://<connection-server>/vmrest/users?query=(emailaddress startswith
emailaddress@domain.com)
GET https://<connection-server>/vmrest/users?query=(emailaddress isnull)
GET https://<connection-server>/vmrest/users?query=(emailaddress isnotnull)
The following is an example of the GET request that lists the details of specific user based on the email address
(emailaddress is emailaddress@domain.com:
Cisco Unity Connection Provisioning Interface (CUPI) API
146
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Listing Users based on Email Address
Page 179
<User>
<URI>/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1</URI>
<ObjectId>fc78a2c6-3065-46a5-b5cb-0bba363280d1</ObjectId>
<FirstName>abc</FirstName>
<LastName></LastName>
<Alias>abc</Alias>
<City>
</City>
<Department>
</Department>
<EmployeeId>
</EmployeeId>
<DisplayName>abc</DisplayName>
<EmailAddress>abc@cisco.com</EmailAddress>
<TimeZone>190</TimeZone>
<CreationTime>2016-05-11T09:51:04Z</CreationTime>
<CosObjectId>4e1c04f4-eb53-4f19-aaa2-0982121fa8fd</CosObjectId>
<CosURI>/vmrest/coses/4e1c04f4-eb53-4f19-aaa2-0982121fa8fd</CosURI>
<Language>1033</Language>
<LocationObjectId>44471f12-f7cb-4d99-80fe-672bf039faef</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/44471f12-f7cb-4d99-80fe-672bf039faef</LocationURI>
<ListInDirectory>true</ListInDirectory>
<IsVmEnrolled>false</IsVmEnrolled>
<MediaSwitchObjectId>cf3e31a0-979f-4011-b239-0881cd9c4292</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/cf3e31a0-979f-4011-b239-0881cd9c4292</PhoneSystemURI>
<CallHandlerObjectId>5e6a0ef4-4ffb-4654-a1ba-1a595ae76f7a</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/5e6a0ef4-4ffb-4654-a1ba-1a595ae76f7a</CallhandlerURI>
<DtmfAccessId>9899</DtmfAccessId>
<VoiceNameRequired>false</VoiceNameRequired>
<PartitionObjectId>7c789d46-449b-4ae4-b3f4-176e3b46bd18</PartitionObjectId>
<PartitionURI>/vmrest/partitions/7c789d46-449b-4ae4-b3f4-176e3b46bd18</PartitionURI>
<Inactive>false</Inactive>
<MwisURI>/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/mwis</MwisURI>
<NotificationDevicesURI>/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/notificationdevices</NotificationDevicesURI>
<MessageHandlersURI>/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/messagehandlers</MessageHandlersURI>
<ExternalServiceAccountsURI>/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/externalserviceaccounts</ExternalServiceAccountsURI>
<AlternateExtensionsURI>/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/alternateextensions</AlternateExtensionsURI>
<PrivateListsURI>/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/privatelists</PrivateListsURI>
<VideoServiceAccountsURI>/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/videoserviceaccounts</VideoServiceAccountsURI>
<UserWebPasswordURI>/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/credential/password</UserWebPasswordURI>
<UserMailboxURI>/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/mailboxattributes</UserMailboxURI>
<MailboxStoreName>Unity Messaging Database -1</MailboxStoreName>
Cisco Unity Connection Provisioning Interface (CUPI) API
147
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Listing Users based on Email Address
Page 180
<UserVoicePinURI>/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/credential/pin</UserVoicePinURI>
<UserRoleURI>/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/userroles</UserRoleURI>
<SmtpProxyAddressesURI>/vmrest/smtpproxyaddresses?query=(ObjectGlobalUserObjectId%20is%20fc78a2c6-3065-46a5-b5cb-0bba363280d1)</SmtpProxyAddressesURI>
<AlternateNamesURI>/vmrest/alternatenames?query=(GlobalUserObjectId%20is%20fc78a2c6-3065-46a5-b5cb-0bba363280d1)</AlternateNamesURI>
</User>
Response Code: 200
JSON Example
To view the details of particular user based on email address (emailaddress is emailaddress@domain.com),
do the following:
GET https://<connection-server>/vmrest/users?query=(emailaddress is abc@cisco.com)
Accept: application/json
Connection: keep_alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
148
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Listing Users based on Email Address
Page 181
{
"Users": {
"-total": "1",
"User": {
"URI":"/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1"
"ObjectId":"fc78a2c6-3065-46a5-b5cb-0bba363280d1"
"FirstName":"abc"
"Alias":"abc"
"DisplayName":"abc"
"EmailAddress":"abc@cisco.com"
"TimeZone":"190"
"CreationTime":"2016-05-11T09:51:04Z"
"CosObjectId":"4e1c04f4-eb53-4f19-aaa2-0982121fa8fd"
"CosURI":"/vmrest/coses/4e1c04f4-eb53-4f19-aaa2-0982121fa8fd"
"Language":"1033"
"LocationObjectId":"44471f12-f7cb-4d99-80fe-672bf039faef"
"LocationURI":"/vmrest/locations/connectionlocations/44471f12-f7cb-4d99-80fe-672bf039faef"
"ListInDirectory":"true"
"IsVmEnrolled":"false"
"MediaSwitchObjectId":"cf3e31a0-979f-4011-b239-0881cd9c4292"
"PhoneSystemURI":"/vmrest/phonesystems/cf3e31a0-979f-4011-b239-0881cd9c4292"
"CallHandlerObjectId":"5e6a0ef4-4ffb-4654-a1ba-1a595ae76f7a"/CallHandlerObjectId"
"CallhandlerURI":"/vmrest/handlers/callhandlers/5e6a0ef4-4ffb-4654-a1ba-1a595ae76f7a"
"DtmfAccessId":"9899"
"VoiceNameRequired":"false"
"PartitionObjectId":"7c789d46-449b-4ae4-b3f4-176e3b46bd18"
"PartitionURI":"/vmrest/partitions/7c789d46-449b-4ae4-b3f4-176e3b46bd18"
"Inactive":"false"
"MwisURI":"/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/mwis"
"NotificationDevicesURI":"/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/notificationdevices"
"MessageHandlersURI":"/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/messagehandlers"
"ExternalServiceAccountsURI":"/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/externalserviceaccounts"
"AlternateExtensionsURI":"/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/alternateextensions"
"PrivateListsURI":"/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/privatelists"
"VideoServiceAccountsURI":"/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/videoserviceaccounts"
"UserWebPasswordURI":"/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/credential/password"
"UserMailboxURI":"/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/mailboxattributes"
"MailboxStoreName":"Unity Messaging Database -1"
"UserVoicePinURI":"/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/credential/pin"
"UserRoleURI":"/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/userroles"
"SmtpProxyAddressesURI":"/vmrest/smtpproxyaddresses?query=(ObjectGlobalUserObjectId%20is%20fc78a2c6-3065-46a5-b5cb-0bba363280d1)"
"AlternateNamesURI":"/vmrest/alternatenames?query=(GlobalUserObjectId%20is%20fc78a2c6-3065-46a5-b5cb-0bba363280d1)"
}
Cisco Unity Connection Provisioning Interface (CUPI) API
149
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Listing Users based on Email Address
Page 182
}
}
Listing Specific Tenant Related Users by System Administrator
In Cisco Unity Connection 10.5(2) and later, the system administrator can use TenantObjectID to list the
specific tenant related user using the following URI:
GET https://<connection-server>/vmrest/users?query=(TenantObjectId is <Tenant-ObjectId>)
To get the TenantObjectID, use the following URI:
GET https://<connection-server>/vmrest/tenants
Viewing the Details of a Specific User
The following is an example of the GET request that lists the details of specific user represented by the provided
value of object ID:
GET https://<connection-server>/vmrest/users/<user-objectId>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
150
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Listing Specific Tenant Related Users by System Administrator
Page 183
<User>
<URI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8</URI>
<ObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</ObjectId>
<UseDefaultLanguage>true</UseDefaultLanguage>
<FirstName>jsdghj</FirstName>
<Initials>efjoe</Initials>
<LastName>djghfjk</LastName>
<Alias>Texoma</Alias>
<City/>
<State/>
<Country>US</Country>
<PostalCode/>
<Department/>
<Manager/>
<Title>eoufowe</Title>
<Building/>
<EmployeeId>2343</EmployeeId>
<Address/>
<DisplayName>user_Opera_1</DisplayName>
<BillingId/>
<TimeZone>190</TimeZone>
<CreationTime>2013-03-05T11:24:33Z</CreationTime>
<IsTemplate>false</IsTemplate>
<DtmfNameFirstLast>5734453544355</DtmfNameFirstLast>
<DtmfNameLastFirst>3544355573445</DtmfNameLastFirst>
<CosObjectId>8ab2b94d-1531-4589-865f-27bd3eea8adc</CosObjectId>
<CosURI>/vmrest/coses/8ab2b94d-1531-4589-865f-27bd3eea8adc</CosURI>
<Language>1033</Language>
<LocationObjectId>42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationURI>
<AddressMode>0</AddressMode>
<ClockMode>0</ClockMode>
<ConversationTui>SubMenu</ConversationTui>
<GreetByName>true</GreetByName>
<ListInDirectory>true</ListInDirectory>
<IsVmEnrolled>true</IsVmEnrolled>
<SayCopiedNames>true</SayCopiedNames>
<SayDistributionList>true</SayDistributionList>
<SayMsgNumber>true</SayMsgNumber>
<SaySender>true</SaySender>
<SayTimestampAfter>true</SayTimestampAfter>
<SayTimestampBefore>false</SayTimestampBefore>
<SayTotalNew>false</SayTotalNew>
<SayTotalNewEmail>false</SayTotalNewEmail>
<SayTotalNewFax>false</SayTotalNewFax>
<SayTotalNewVoice>true</SayTotalNewVoice>
<SayTotalReceipts>false</SayTotalReceipts>
<SayTotalSaved>true</SayTotalSaved>
<Speed>100</Speed>
<MediaSwitchObjectId>ec1e2636-fc14-44fc-8cda-d6c1a3d61150</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/ec1e2636-fc14-44fc-8cda-d6c1a3d61150</PhoneSystemURI>
<Undeletable>false</Undeletable>
<UseBriefPrompts>false</UseBriefPrompts>
<Volume>50</Volume>
<EnAltGreetDontRingPhone>false</EnAltGreetDontRingPhone>
<EnAltGreetPreventSkip>false</EnAltGreetPreventSkip>
<EnAltGreetPreventMsg>false</EnAltGreetPreventMsg>
<EncryptPrivateMessages>false</EncryptPrivateMessages>
<DeletedMessageSortOrder>2</DeletedMessageSortOrder>
<SayAltGreetWarning>false</SayAltGreetWarning>
<SaySenderExtension>false</SaySenderExtension>
Cisco Unity Connection Provisioning Interface (CUPI) API
151
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Viewing the Details of a Specific User
Page 184
<SayAni>false</SayAni>
<XferString/>
<CallAnswerTimeout>4</CallAnswerTimeout>
<CallHandlerObjectId>287cdcc0-9f77-48e0-a7b1-0f9b1a5ac842</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/287cdcc0-9f77-48e0-a7b1-0f9b1a5ac842</CallhandlerURI>
<MessageTypeMenu>false</MessageTypeMenu>
<NewMessageSortOrder>1</NewMessageSortOrder>
<SavedMessageSortOrder>2</SavedMessageSortOrder>
<MessageLocatorSortOrder>1</MessageLocatorSortOrder>
<NewMessageStackOrder>1234567</NewMessageStackOrder>
<SavedMessageStackOrder>1234567</SavedMessageStackOrder>
<EnablePersonalRules>true</EnablePersonalRules>
<RecordUnknownCallerName>true</RecordUnknownCallerName>
<RingPrimaryPhoneFirst>false</RingPrimaryPhoneFirst>
<ExitAction>2</ExitAction>
<ExitTargetConversation>PHGreeting</ExitTargetConversation>
<PromptSpeed>100</PromptSpeed>
<ExitTargetHandlerObjectId>55af319d-7a26-40ad-9b20-153ee1f39e99</ExitTargetHandlerObjectId>
<RepeatMenu>1</RepeatMenu>
<FirstDigitTimeout>5000</FirstDigitTimeout>
<InterdigitDelay>3000</InterdigitDelay>
<PromptVolume>50</PromptVolume>
<ExitCallActionObjectId>2b3566bd-0339-43a4-85a1-09ab3177f0e9</ExitCallActionObjectId>
<AddressAfterRecord>false</AddressAfterRecord>
<DtmfAccessId>99934</DtmfAccessId>
<ConfirmDeleteMessage>false</ConfirmDeleteMessage>
<ConfirmDeleteDeletedMessage>false</ConfirmDeleteDeletedMessage>
<ConfirmDeleteMultipleMessages>true</ConfirmDeleteMultipleMessages>
<IsClockMode24Hour>false</IsClockMode24Hour>
<SynchScheduleObjectId>58dce2eb-9d6d-4621-b81d-a56c80b83897</SynchScheduleObjectId>
<SynchScheduleURI>/vmrest/schedules/58dce2eb-9d6d-4621-b81d-a56c80b83897</SynchScheduleURI>
<RouteNDRToSender>true</RouteNDRToSender>
<IsSetForVmEnrollment>true</IsSetForVmEnrollment>
<VoiceNameRequired>false</VoiceNameRequired>
<SendBroadcastMsg>false</SendBroadcastMsg>
<UpdateBroadcastMsg>false</UpdateBroadcastMsg>
<ConversationVui>VuiStart</ConversationVui>
<ConversationName>SubMenu</ConversationName>
<SpeechCompleteTimeout>0</SpeechCompleteTimeout>
<SpeechIncompleteTimeout>750</SpeechIncompleteTimeout>
<UseVui>false</UseVui>
<SkipPasswordForKnownDevice>true</SkipPasswordForKnownDevice>
<JumpToMessagesOnLogin>true</JumpToMessagesOnLogin>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<EnableMessageLocator>false</EnableMessageLocator>
<DtmfNameFirst>573445</DtmfNameFirst>
<DtmfNameLast>3544355</DtmfNameLast>
<AssistantRowsPerPage>5</AssistantRowsPerPage>
<InboxMessagesPerPage>20</InboxMessagesPerPage>
<InboxAutoRefresh>15</InboxAutoRefresh>
<InboxAutoResolveMessageRecipients>true</InboxAutoResolveMessageRecipients>
<PcaAddressBookRowsPerPage>5</PcaAddressBookRowsPerPage>
<ReadOnly>false</ReadOnly>
<EnableTts>true</EnableTts>
<SmtpAddress>user_operator_1@ucbu-aricent-vm463.cisco.com</SmtpAddress>
<ConfirmationConfidenceThreshold>60</ConfirmationConfidenceThreshold>
<AnnounceUpcomingMeetings>60</AnnounceUpcomingMeetings>
<SpeechConfidenceThreshold>40</SpeechConfidenceThreshold>
<SpeechSpeedVsAccuracy>50</SpeechSpeedVsAccuracy>
<SpeechSensitivity>50</SpeechSensitivity>
Cisco Unity Connection Provisioning Interface (CUPI) API
152
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Viewing the Details of a Specific User
Page 185
<EnableVisualMessageLocator>false</EnableVisualMessageLocator>
<ContinuousAddMode>false</ContinuousAddMode>
<NameConfirmation>false</NameConfirmation>
<CommandDigitTimeout>1500</CommandDigitTimeout>
<SaveMessageOnHangup>false</SaveMessageOnHangup>
<SendMessageOnHangup>1</SendMessageOnHangup>
<SkipForwardTime>5000</SkipForwardTime>
<SkipReverseTime>5000</SkipReverseTime>
<UseShortPollForCache>true</UseShortPollForCache>
<SearchByExtensionSearchSpaceObjectId>5d004dee-14ef-4fc4-83b8-850274628286</SearchByExtensionSearchSpaceObjectId>
<SearchByExtensionSearchSpaceURI>/vmrest/searchspaces/5d004dee-14ef-4fc4-83b8-850274628286</SearchByExtensionSearchSpaceURI>
<SearchByNameSearchSpaceObjectId>5d004dee-14ef-4fc4-83b8-850274628286</SearchByNameSearchSpaceObjectId>
<SearchByNameSearchSpaceURI>/vmrest/searchspaces/5d004dee-14ef-4fc4-83b8-850274628286</SearchByNameSearchSpaceURI>
<PartitionObjectId>da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionObjectId>
<PartitionURI>/vmrest/partitions/da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionURI>
<Inactive>false</Inactive>
<UseDynamicNameSearchWeight>false</UseDynamicNameSearchWeight>
<LdapType>1</LdapType>
<FaxServerObjectId>1564dbbc-002f-47b9-a0f3-38f2cd6e2d87</FaxServerObjectId>
<FaxServerURI>/vmrest/faxservers/1564dbbc-002f-47b9-a0f3-38f2cd6e2d87</FaxServerURI>
<MwisURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/mwis</MwisURI>
<NotificationDevicesURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/notificationdevices</NotificationDevicesURI>
<MessageHandlersURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/messagehandlers</MessageHandlersURI>
<ExternalServiceAccountsURI>/vmrest/users/9375d893-c8eb-437b-90bf-
7de4b1d0c3e8/externalserviceaccounts</ExternalServiceAccountsURI>
<AlternateExtensionsURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/alternateextensions</AlternateExtensionsURI>
<PrivateListsURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/privatelists</PrivateListsURI>
<UserWebPasswordURI>/vmrest/users/7e048531-acdf-460b-884e-415be712d0bc/credential/password</UserWebPasswordURI>
<UserVoicePinURI>/vmrest/users/7e048531-acdf-460b-884e-415be712d0bc/credential/pin</UserVoicePinURI>
<UserRoleURI>/vmrest/users/7e048531-acdf-460b-884e-415be712d0bc/userroles</UserRoleURI>
<SmtpProxyAddressesURI>/vmrest/smtpproxyaddresses?query=(ObjectGlobalUserObjectId%20is%209375d893-c8eb-437b-90bf-7de4b1d0c3e8)</SmtpProxyAddressesURI>
<AlternateNamesURI>/vmrest/alternatenames?query=(GlobalUserObjectId%20is%209375d893-c8eb-437b-90bf-7de4b1d0c3e8)
</AlternateNamesURI>
</User>
Response Code: 200
JSON Example
To view the details of particular user, do the following:
Cisco Unity Connection Provisioning Interface (CUPI) API
153
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Viewing the Details of a Specific User
Page 186
GET https://<connection-server>/vmrest/users?query=(emailaddress is abc@cisco.com)
Accept: application/json
Connection: keep_alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
154
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Viewing the Details of a Specific User
Page 187
{
"URI":"/vmrest/users/6c91a90f-0771-492b-a7a5-083ea246a7e1"
"ObjectId":"6c91a90f-0771-492b-a7a5-083ea246a7e1"
"UseDefaultLanguage":"true"
"Alias":"Texoma"
"DisplayName":"Texoma"
"TimeZone":"190"
"CreationTime":"2013-03-14T10:54:47Z"
"IsTemplate":"false"
"CosObjectId":"844e18ef-884c-4f43-b9ce-1dc0d53196c2"
"CosURI":"/vmrest/coses/844e18ef-884c-4f43-b9ce-1dc0d53196c2"
"Language":"1033"
"LocationObjectId":"42a9ab40-490d-4819-9bfb-8ddce4f430ff"
"LocationURI":"/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb-8ddce4f430ff"
"AddressMode":"0"
"ClockMode":"0"
"ConversationTui":"SubMenu"
"GreetByName":"true"
"ListInDirectory":"true"
"IsVmEnrolled":"true"
"SayCopiedNames":"true"
"SayDistributionList":"true"
"SayMsgNumber":"true"
"SaySender":"true"
"SayTimestampAfter":"true"
"SayTimestampBefore":"false"
"SayTotalNew":"true"
"SayTotalNewEmail":"true"
"SayTotalNewFax":"false"
"SayTotalNewVoice":"true"
"SayTotalReceipts":"false"
"SayTotalSaved":"true"
"Speed":"100"
"MediaSwitchObjectId":"ec1e2636-fc14-44fc-8cda-d6c1a3d61150"
"PhoneSystemURI":"/vmrest/phonesystems/ec1e2636-fc14-44fc-8cda-d6c1a3d61150"
"Undeletable":"false"
"UseBriefPrompts":"false"
"Volume":"50"
"EnAltGreetDontRingPhone":"false"
"EnAltGreetPreventSkip":"false"
"EnAltGreetPreventMsg":"false"
"EncryptPrivateMessages":"false"
"DeletedMessageSortOrder":"2"
"SayAltGreetWarning":"false"
"SaySenderExtension":"false"
"SayAni":"false"
"CallAnswerTimeout":"4"
"CallHandlerObjectId":"fc2f99c4-31ac-465b-b143-5d21c760439c"
"CallhandlerURI":"/vmrest/handlers/callhandlers/fc2f99c4-31ac-465b-b143-5d21c760439c"
"MessageTypeMenu":"false"
"NewMessageSortOrder":"1"
"SavedMessageSortOrder":"2"
"MessageLocatorSortOrder":"1"
"NewMessageStackOrder":"1234567"
"SavedMessageStackOrder":"1234567"
"EnablePersonalRules":"true"
"RecordUnknownCallerName":"true"
"RingPrimaryPhoneFirst":"false"
"ExitAction":"2"
"ExitTargetConversation":"PHGreeting"
"PromptSpeed":"100"
"ExitTargetHandlerObjectId":"939d4d12-cec8-4fee-ae47-fbf0cf20c33e"
"RepeatMenu":"1"
Cisco Unity Connection Provisioning Interface (CUPI) API
155
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Viewing the Details of a Specific User
Page 188
"FirstDigitTimeout":"5000"
"InterdigitDelay":"3000"
"PromptVolume":"50"
"ExitCallActionObjectId":"a5ab392f-dce6-4de2-af7f-92f9ebd14300"
"AddressAfterRecord":"false"
"DtmfAccessId":"12345"
"ConfirmDeleteMessage":"false"
"ConfirmDeleteDeletedMessage":"false"
"ConfirmDeleteMultipleMessages":"true"
"IsClockMode24Hour":"false"
"SynchScheduleObjectId":"214cc45c-db48-44c6-a239-aa4c5e65e32a"
"SynchScheduleURI":"/vmrest/schedules/214cc45c-db48-44c6-a239-aa4c5e65e32a"
"RouteNDRToSender":"true"
"IsSetForVmEnrollment":"true"
"VoiceNameRequired":"false"
"SendBroadcastMsg":"false"
"UpdateBroadcastMsg":"false"
"ConversationVui":"VuiStart"
"ConversationName":"SubMenu"
"SpeechCompleteTimeout":"0"
"SpeechIncompleteTimeout":"750"
"UseVui":"false"
"SkipPasswordForKnownDevice":"false"
"JumpToMessagesOnLogin":"false"
"UseDefaultTimeZone":"true"
"EnableMessageLocator":"false"
"AssistantRowsPerPage":"5"
"InboxMessagesPerPage":"20"
"InboxAutoRefresh":"15"
"InboxAutoResolveMessageRecipients":"true"
"PcaAddressBookRowsPerPage":"5"
"ReadOnly":"false"
"EnableTts":"true"
"SmtpAddress":"vishu11@ucbu-aricent-vm463.cisco.com"
"ConfirmationConfidenceThreshold":"60"
"AnnounceUpcomingMeetings":"60"
"SpeechConfidenceThreshold":"40"
"SpeechSpeedVsAccuracy":"50"
"SpeechSensitivity":"50"
"EnableVisualMessageLocator":"false"
"ContinuousAddMode":"false"
"NameConfirmation":"false"
"CommandDigitTimeout":"1500"
"SaveMessageOnHangup":"false"
"SendMessageOnHangup":"1"
"SkipForwardTime":"5000"
"SkipReverseTime":"5000"
"UseShortPollForCache":"false"
"SearchByExtensionSearchSpaceObjectId":"877942bf-6600-4b7a-809d-159199cfc2ec"
"SearchByExtensionSearchSpaceURI":"/vmrest/searchspaces/877942bf-6600-4b7a-809d-159199cfc2ec"
"SearchByNameSearchSpaceObjectId":"877942bf-6600-4b7a-809d-159199cfc2ec"
"SearchByNameSearchSpaceURI":"/vmrest/searchspaces/877942bf-6600-4b7a-809d-159199cfc2ec"
"PartitionObjectId":"da2114bf-cde7-43d8-9709-cd3895a9d41b"
"PartitionURI":"/vmrest/partitions/da2114bf-cde7-43d8-9709-cd3895a9d41b"
"Inactive": "false",
"UseDynamicNameSearchWeight":"false"
"LdapType":"0"
"MwisURI":"/vmrest/users/6c91a90f-0771-492b-a7a5-083ea246a7e1/mwis"
"NotificationDevicesURI":"/vmrest/users/6c91a90f-0771-492b-a7a5-083ea246a7e1/notificationdevices"
Cisco Unity Connection Provisioning Interface (CUPI) API
156
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Viewing the Details of a Specific User
Page 189
"MessageHandlersURI":"/vmrest/users/6c91a90f-0771-492b-a7a5-083ea246a7e1/messagehandlers"
"ExternalServiceAccountsURI":"/vmrest/users/6c91a90f-0771-492b-a7a5-083ea246a7e1/externalserviceaccounts"
"AlternateExtensionsURI":"/vmrest/users/6c91a90f-0771-492b-a7a5-083ea246a7e1/alternateextensions"
"PrivateListsURI":"/vmrest/users/6c91a90f-0771-492b-a7a5-083ea246a7e1/privatelists"
"SmtpProxyAddressesURI":"/vmrest/smtpproxyaddresses?query=(ObjectGlobalUserObjectId%20is%206c91a90f-0771-492b-a7a5-083ea246a7e1)"
"AlternateNamesURI":"/vmrest/alternatenames?query=(GlobalUserObjectId%20is%206c91a90f-0771-492b-a7a5-083ea246a7e1)"
}
Response Code: 200
Creating a User
This request can be used to create a new user. The mandatory fields for creation of a user are alias and
DtmfAccessId. The URI for getting user template alias is:
https://<connection-server>/vmrest/usertemplates.
The URI for getting MailboxStoreObjectId is:
https://<connection-server>/vmrest/mailboxstores.
The ObjectId field in the response body of above URI is used as MailboxStoreObjectId. Users can be created
in two ways:
1.
This creates the user using default mailbox store:
POST https://<connection-server>/vmrest/users?templateAlias=<usertemplatealias>
2.
This creates the user using specified mailbox store object ID:
POST
https://<connection-server>/vmrest/users?templateAlias=<usertemplateAlias>&MailboxStoreObjectId=<mailboxStore-ObjectId>
<User>
<Alias>texoma</Alias>
<DtmfAccessId >123422</DtmfAccessId >
</User>
The following is the response from the above POST request and the actual response will depend upon
the information given by you:
Response Code: 201
/vmrest/users/f82b301d-1ec8-44c6-a3ee-0012269439bf
JSON Example
To create user, do the following:
Cisco Unity Connection Provisioning Interface (CUPI) API
157
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Creating a User
Page 190
POST https://<Connection-server>/vmrest/users?templateAlias=voicemailusertemplate
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"Alias":"voicemailusertemplate1",
"DisplayName":"Voice Mail User Template 1"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/users/f82b301d-1ec8-44c6-a3ee-0012269439bf
Updating a User
The following is an example of the PUT request that update details of a user:
PUT https://<connection-server>/vmrest/users/<user-objectid>
<User>
<Alias>Texoma</Alias>
<UseShortPollForCache> true</UseShortPollForCache>
<ListInDirectory>true </ListInDirectory>
<SkipPasswordForKnownDevice>true </SkipPasswordForKnownDevice>
<IsVmEnrolled> true</IsVmEnrolled>
<RouteNDRToSender >true</RouteNDRToSender >
<MediaSwitchObjectId>ec1e2636-fc14-44fc-8cda-d6c1a3d61150 </MediaSwitchObjectId>
<DtmfAccessId>99934</DtmfAccessId>
<PartitionObjectId>da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionObjectId>
<Inactive>false</Inactive>
<CosObjectId>8ab2b94d-1531-4589-865f-27bd3eea8adc</CosObjectId>
<SearchByExtensionSearchSpaceObjectId>877942bf-6600-4b7a-809d-159199cfc2ec</SearchByExtensionSearchSpaceObjectId>
</User>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
To update details of a user:
PUT https://<connection-server>/vmrest/users/<user-objectid>
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"DtmfAccessId":"123”
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
158
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Updating a User
Page 191
Response Code: 204
Update Language and TimeZone:
Language
UseDefaultLanguage
UseCallLanguage
NULL/LanguageCode
true
false
Use System Default
Language
NULL/LanguageCode
true/false
true
Inherit Language
from Caller
Language Code
false
false
Particular Language
• URI for timezone:
https://<Connection-server>/vmrest/timezones
• URI for installed Languages:
https://<Connection-server>/vmrest/installedlanguages
• URI to get Language code:
https://<Connection-server>/vmrest/languagemap
<User>
<UseDefaultTimeZone>false</UseDefaultTimeZone>
<TimeZone>175</TimeZone>
<UseDefaultLanguage>false</UseDefaultLanguage>
<Language>1034</Language>
</User>
Response Code: 204
JSON Example
To delete a user, do the following:
DELETE https://<connection-server>/vmrest/users/<user-objectid>
Accept: application/json
Content-type: application/json
Connection: keep_alive
Response Code: 204
Delete a User
The following is an example of the DELETE request that can be used to delete a user:
DELETE https://<connection-server>/vmrest/users/<user-objectid>
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
159
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Update Language and TimeZone:
Page 192
JSON Example
To delete a user, do the following:
DELETE https://<connection-server>/vmrest/users/<user-objectid>
Accept: application/json
Content-type: application/json
Connection: keep_alive
Response Code: 204
Explanation of Data Fields:
Description
Data
Type
Operation
Field Name
A flag displays the status of a user.
Possible values:
• true: if user is inactive.
• false: if user is active.
Default Value: false
You can only change the status from true
to false.
Note
Boolean
Read/Write
Inactive
A unique text name of a user. Users enter the alias to
sign in to the Cisco Personal Communications Assistant
(Cisco PCA).
The administrators enter the alias to sign in to Cisco
Unity Connection Administration.
String(64)
Read/Write
Alias
Descriptive name of the user.
String(64)
Read/Write
DisplayName
The first name (i.e., given name) of the user.
String(64)
Read/Write
FirstName
The last name (i.e., surname or family name) of the user,
by which a user is commonly known.
String(64)
Read/Write
LastName
The full SMTP address for the user
String(320)
Read/Write
SmtpAddress
The time zone to which this user account is associated.
URI for timezone is:
https://<Connection-server>/vmrest/timezones.
Integer(4)
Read/Write
TimeZone
Indicates if the default timezone is being used. Possible
values:
• true: if default time zone is to be used
• false: to use specific time zone, if false is selected
timezone should be also specified.
Boolean
Read/Write
UseDefaultTimeZone
Cisco Unity Connection Provisioning Interface (CUPI) API
160
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Explanation of Data Fields:
Page 193
Description
Data
Type
Operation
Field Name
The preferred language of this user. For a user with a
voice mailbox, it is the language in which the subscriber
hears instructions played to them. If the subscriber has
TTS enabled by their class of service, it is the language
used for TTS.
Integer
Read/Write
Language
Set to true, if the call handler is using default language
from the location it belongs to. If false, you need to
specify the language, so set the particular language
Boolean
Read/Write
UseDefaultLanguage
The LDAP configuration information for the user.
Possible Value:
• 0-Do not Integrate with LDAP directory.
• 1-Integrate with LDAP directory
• 2-Authenticate
• 4-Inactive
Default Value: 0
Integer
Read/Write
LdapType
The unique identifier of the LocationVMS object to
which the user belongs to.
String(36)
Read
Only
LocationObjectId
A flag indicating whether this instance of a user object
is a "template" for creating new users.
Possible values:
• true: if user template
• false: if user
Default Value: false
Boolean
Read
Only
IsTemplate
The initial letters of some or all of the names of the user.
String(64)
Read/Write
Initials
The position or function of a user within an organization,
such as 'Vice President'.
String(64)
Read/Write
Title
The numeric or alphanumeric identifier assigned to a
person, typically based on order of hire or association
with an organization.
String(64)
Read/Write
EmployeeId
The physical address such as a house number and street
name where the user is located, or with which a user is
associated.
String(128)
Read/Write
Address
The name of the building where the user is based.
String(64)
Read/Write
Building
The name of a locality, such as a city, county or other
geographic region where the user is located, or with
which a user is associated.
String(64)
Read/Write
City
The full name of the state or province where this user
is located, or with which a user is associated.
String(64)
Read/Write
State
Cisco Unity Connection Provisioning Interface (CUPI) API
161
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Explanation of Data Fields:
Page 194
Description
Data
Type
Operation
Field Name
For users in the United States, the zip code where the
user is located. For users in Canada, Mexico, and other
countries, the postal code where the user is located.
String(40)
Read/Write
PostalCode
The two-letter ISO 3166-1 country code where the user
is located, or with which a user is associated. URI to
fetch available country code:
https://<Connection-server>/vmrest/languagemap.From
the response fetch last 2 letter of the Languagetag
parameter.
String(2)
Read/Write
Country
The name or number for the department or subdivision
of an organization to which a person belongs to.
String(64)
Read/Write
Department
The name of the person who is the manager or supervisor
of the user. Any character except non-printing ASCII
characters can be used here.
String(64)
Read/Write
Manager
Accounting information or project code associated with
the user. Any ASCII or Unicode character can be used
here.
String(32)
Read/Write
BillingId
The corporate email address of the user.
String(320)
Read/Write
EmailAddress
The DTMF access id (i.e., extension) of the subscriber.
String(40)
Read/Write
DtmfAccessId
The cross-server transfer extension. If NULL, the user's
primary extension is used.
String(40)
Read/Write
XferString
The unique identifier of the FaxServer object for the
subscriber.
String(36)
Read/Write
FaxServerObjectId
The unique identifier of the partition associated with the
user
String(36)
Read/Write
PartitionObjectId
The unique identifier of the MediaSwitch object
associated with the user
String(36)
Read/Write
MediaSwitchObjectId
The unique identifier of the SearchSpace which is used
to limit the visibility to dialable/addressable objects
when searching by extension (dial string).
String(36)
Read/Write
SearchByExtensionSearchSpaceObjectId
The unique identifier of the SearchSpace which is used
to limit the visibility to dialable/addressable objects
when searching by name (character string).
String(36)
Read/Write
SearchByNameSearchSpaceObjectId
The unique identifier of the class of service object to
which this user account is associated.
String(36)
Read/Write
CosObjectId
The unique identifier of the primary CallHandler object
for the subscriber.
String(36)
Read/Write
CallHandlerObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
162
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Explanation of Data Fields:
Page 195
Description
Data
Type
Operation
Field Name
The unique identifier of the schedule set Cisco Unity
Connection will use for making standard versus off hours
decisions within this call handler.
To update the ScheduleSetObjectId ,first
go to the user URI, then go to the
callhandler URI, and then update the
scheduleset.
Note
String(36)
Read/Write
ScheduleSetObjectId
The unique identifier of the tenant to which the user
belongs. This field is reflected in the response only if
the user belongs to a particular tenant.
String(36)
Read
Only
TenantObjectId
A flag indicating whether Cisco Unity Connection plays
the enrollment conversation (record a voice name,
indicate if they are listed in the directory, etc.) for the
subscriber when they login.
Possible values:
• false: The enrollment conversation is not played
for the subscriber when they login.
• true: The enrollment conversation is played for the
subscriber when they login.
Default value: true
Boolean
Read/Write
IsVmEnrolled
A flag indicating whether the subscriber will be asked
for his/her PIN when attempting to sign-in from a known
device.
Possible values:
• false: Do not Skip PIN When Calling From a
Known Extension
• true: Skip PIN When Calling From a Known
Extension
Default value: false
Boolean
Read/Write
SkipPasswordForKnownDevice
A flag indicating whether Cisco Unity Connection
should list the subscriber in the phone directory for
outside callers.
Possible values:
• false: Do not list in Directory
• true: List in directory
Default value: false
Boolean
Read/Write
ListInDirectory
Cisco Unity Connection Provisioning Interface (CUPI) API
163
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Explanation of Data Fields:
Page 196
Description
Data
Type
Operation
Field Name
A flag indicating whether the user's polling cycle for
retrieving the calendar information will be the shorter
"power user" polling cycle.
Possible values:
• false: The subscriber's polling cycle is determined
by the system default polling cycle. (System
configuration setting "Normal Calendar Caching
Poll Interval").
• true: The shorter "power user" polling cycle is used.
(System configuration setting "Short Calendar
Caching Poll Interval").
Default value : false
Boolean
Read/Write
UseShortPollForCache
Flag indicating whether to Send Non-Delivery Receipts
on Failed Message Delivery.
Possible values:
• true: Send Non-Delivery Receipts on Failed
Message Delivery.
• false: Do not Send Non-Delivery Receipts on Failed
Message Delivery.
Default value: true
Boolean
Read/Write
RouteNDRToSender
Flag indicating whether a user cannot be deleted or not.
Possible values:
• true: For default users
• false: For other created users
Boolean
Read
Only
Undeletable
The name of the WAV file containing the recorded audio
(voice name, greeting, etc.) for the parent object.
String(40)
Read/Write
VoiceName
The phone number of the fax machine that the user sends
faxes to for printing.
String(255)
Read/Write
DialablePhoneNumber
The corporate Phone number.
String(255)
Read
Only
PhoneNumber
Flag indicating whether an SMTP proxy address
matching the corporate e-mail address (column
EmailAddress) should be created for the user.
Possible values:
• false: Do not create matching SMTP proxy address.
• true: Create matching SMTP proxy address.
Default value: false MailboxStoreName Read Only
String Mailbox store name used by the user
Boolean
Read/Write
CreateSmtpProxyFromCorp
Cisco Unity Connection Provisioning Interface (CUPI) API
164
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Explanation of Data Fields:
Page 197
Admin User API
Cisco Unity Connection 12.5 SU3 and later, supports Admin User API. Administrator can use this API to
create/update/delete/fetch the users who does not have mailbox using Admin User API. Various attributes of
user without mailbox, for example first name, last name, display name, alias, time zone, language, password,
roles, password settings, can also be updated using this API .
Listing Admin Users without Mailbox
The request can be used to fetch the list of all users without mailbox.
GET https://<connection-server>/vmrest/adminusers
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
165
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Admin User API
Page 198
<Users total="4">
<User>
<URI>/vmrest/adminusers/c8a3a38b-df1a-4612-9679-d1fddc790e95</URI>
<ObjectId>c8a3a38b-df1a-4612-9679-d1fddc790e95</ObjectId>
<UseDefaultLanguage>true</UseDefaultLanguage>
<Alias>admin</Alias>
<DisplayName>admin</DisplayName>
<TimeZone>190</TimeZone>
<CreationTime>2020-07-28T10:13:15Z</CreationTime>
<IsTemplate>false</IsTemplate>
<Language>1033</Language>
<LocationObjectId>58b236f7-3c20-4e61-89a0-809740c05de5</LocationObjectId>
<Undeletable>true</Undeletable>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<ReadOnly>true</ReadOnly>
<SmtpAddress>admin@ucbu-aricent-vm405.cisco.com</SmtpAddress>
<LdapType>0</LdapType>
<UserWebPasswordURI>/vmrest/users/c8a3a38b-df1a-4612-9679-d1fddc790e95/credential/password</UserWebPasswordURI>
<UserRoleURI>/vmrest/users/c8a3a38b-df1a-4612-9679-d1fddc790e95/userroles</UserRoleURI>
</User>
<User>
<URI>/vmrest/adminusers/0b008d28-a8ce-4d14-aa6f-3b584d3d43d2</URI>
<ObjectId>0b008d28-a8ce-4d14-aa6f-3b584d3d43d2</ObjectId>
<UseDefaultLanguage>true</UseDefaultLanguage>
<FirstName>Cisco Unity Connection</FirstName>
<LastName>Messaging System</LastName>
<Alias>UnityConnection</Alias>
<DisplayName>Cisco Unity Connection Messaging System</DisplayName>
<TimeZone>190</TimeZone>
<CreationTime>2020-07-28T10:13:15Z</CreationTime>
<IsTemplate>false</IsTemplate>
<Language>1033</Language>
<LocationObjectId>58b236f7-3c20-4e61-89a0-809740c05de5</LocationObjectId>
<Undeletable>true</Undeletable>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<ReadOnly>true</ReadOnly>
<SmtpAddress>unityconnection@ucbu-aricent-vm405.cisco.com</SmtpAddress>
<LdapType>0</LdapType>
<UserWebPasswordURI>/vmrest/users/0b008d28-a8ce-4d14-aa6f-3b584d3d43d2/credential/password</UserWebPasswordURI>
<UserRoleURI>/vmrest/users/0b008d28-a8ce-4d14-aa6f-3b584d3d43d2/userroles</UserRoleURI>
</User>
<User>
<URI>/vmrest/adminusers/6fd02048-a02c-4bb8-a440-c6c063cb3dcd</URI>
<ObjectId>6fd02048-a02c-4bb8-a440-c6c063cb3dcd</ObjectId>
<UseDefaultLanguage>true</UseDefaultLanguage>
<FirstName>Replication</FirstName>
<LastName>Agent</LastName>
<Alias>Replication</Alias>
<DisplayName>Replication Agent (ucbu-aricent-vm405)</DisplayName>
<TimeZone>190</TimeZone>
<CreationTime>2020-07-28T10:13:18Z</CreationTime>
<IsTemplate>false</IsTemplate>
<Language>1033</Language>
<LocationObjectId>58b236f7-3c20-4e61-89a0-809740c05de5</LocationObjectId>
<Undeletable>true</Undeletable>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<ReadOnly>true</ReadOnly>
<SmtpAddress>replication@ucbu-aricent-vm405.cisco.com</SmtpAddress>
Cisco Unity Connection Provisioning Interface (CUPI) API
166
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Listing Admin Users without Mailbox
Page 199
<LdapType>0</LdapType>
<UserWebPasswordURI>/vmrest/users/6fd02048-a02c-4bb8-a440-c6c063cb3dcd/credential/password</UserWebPasswordURI>
<UserRoleURI>/vmrest/users/6fd02048-a02c-4bb8-a440-c6c063cb3dcd/userroles</UserRoleURI>
</User>
<User>
<URI>/vmrest/adminusers/0347d21e-c238-4079-8d77-662499c058ba</URI>
<ObjectId>0347d21e-c238-4079-8d77-662499c058ba</ObjectId>
<UseDefaultLanguage>true</UseDefaultLanguage>
<FirstName>George</FirstName>
<Initials>GD</Initials>
<LastName>Davis</LastName>
<Alias>Davis</Alias>
<State>Mumbai</State>
<Title>Trainee</Title>
<Address>HNo4 Street Ville Parle</Address>
<DisplayName>George</DisplayName>
<TimeZone>190</TimeZone>
<CreationTime>2020-07-29T09:03:42Z</CreationTime>
<IsTemplate>false</IsTemplate>
<Language>1033</Language>
<LocationObjectId>58b236f7-3c20-4e61-89a0-809740c05de5</LocationObjectId>
<Undeletable>false</Undeletable>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<ReadOnly>false</ReadOnly>
<SmtpAddress>davis@ucbu-aricent-vm405.cisco.com</SmtpAddress>
<LdapType>3</LdapType>
<UserWebPasswordURI>/vmrest/users/0347d21e-c238-4079-8d77-662499c058ba/credential/password</UserWebPasswordURI>
<UserRoleURI>/vmrest/users/0347d21e-c238-4079-8d77-662499c058ba/userroles</UserRoleURI>
</User>
</Users>
Response Code: 200
JSON Example
To view the list of admin users, do the following:
GET https://<connection-server>/vmrest/adminusers
Accept: application/json
Connection: keep_alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
167
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Listing Admin Users without Mailbox
Page 200
{
"@total": "4",
"User":
[
{
"URI": "/vmrest/adminusers/c8a3a38b-df1a-4612-9679-d1fddc790e95",
"ObjectId": "c8a3a38b-df1a-4612-9679-d1fddc790e95",
"UseDefaultLanguage": "true",
"Alias": "admin",
"DisplayName": "admin",
"TimeZone": "190",
"CreationTime": "2020-07-28T10:13:15Z",
"IsTemplate": "false",
"Language": "1033",
"LocationObjectId": "58b236f7-3c20-4e61-89a0-809740c05de5",
"Undeletable": "true",
"UseDefaultTimeZone": "true",
"ReadOnly": "true",
"SmtpAddress": "admin@ucbu-aricent-vm405.cisco.com",
"LdapType": "0",
"UserWebPasswordURI":
"/vmrest/users/c8a3a38b-df1a-4612-9679-d1fddc790e95/credential/password",
"UserRoleURI": "/vmrest/users/c8a3a38b-df1a-4612-9679-d1fddc790e95/userroles"
},
{
"URI": "/vmrest/adminusers/0b008d28-a8ce-4d14-aa6f-3b584d3d43d2",
"ObjectId": "0b008d28-a8ce-4d14-aa6f-3b584d3d43d2",
"UseDefaultLanguage": "true",
"FirstName": "Cisco Unity Connection",
"LastName": "Messaging System",
"Alias": "UnityConnection",
"DisplayName": "Cisco Unity Connection Messaging System",
"TimeZone": "190",
"CreationTime": "2020-07-28T10:13:15Z",
"IsTemplate": "false",
"Language": "1033",
"LocationObjectId": "58b236f7-3c20-4e61-89a0-809740c05de5",
"Undeletable": "true",
"UseDefaultTimeZone": "true",
"ReadOnly": "true",
"SmtpAddress": "unityconnection@ucbu-aricent-vm405.cisco.com",
"LdapType": "0",
"UserWebPasswordURI":
"/vmrest/users/0b008d28-a8ce-4d14-aa6f-3b584d3d43d2/credential/password",
"UserRoleURI": "/vmrest/users/0b008d28-a8ce-4d14-aa6f-3b584d3d43d2/userroles"
},
{
"URI": "/vmrest/adminusers/6fd02048-a02c-4bb8-a440-c6c063cb3dcd",
"ObjectId": "6fd02048-a02c-4bb8-a440-c6c063cb3dcd",
"UseDefaultLanguage": "true",
"FirstName": "Replication",
"LastName": "Agent",
"Alias": "Replication",
"DisplayName": "Replication Agent (ucbu-aricent-vm405)",
"TimeZone": "190",
"CreationTime": "2020-07-28T10:13:18Z",
"IsTemplate": "false",
"Language": "1033",
"LocationObjectId": "58b236f7-3c20-4e61-89a0-809740c05de5",
"Undeletable": "true",
"UseDefaultTimeZone": "true",
"ReadOnly": "true",
"SmtpAddress": "replication@ucbu-aricent-vm405.cisco.com",
"LdapType": "0",
"UserWebPasswordURI":
Cisco Unity Connection Provisioning Interface (CUPI) API
168
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Listing Admin Users without Mailbox
Page 201
"/vmrest/users/6fd02048-a02c-4bb8-a440-c6c063cb3dcd/credential/password",
"UserRoleURI": "/vmrest/users/6fd02048-a02c-4bb8-a440-c6c063cb3dcd/userroles"
},
{
"URI": "/vmrest/adminusers/0347d21e-c238-4079-8d77-662499c058ba",
"ObjectId": "0347d21e-c238-4079-8d77-662499c058ba",
"UseDefaultLanguage": "true",
"FirstName": "George",
"Initials": "GD",
"LastName": "Davis",
"Alias": "Davis",
"State": "Mumbai",
"Title": "Trainee",
"Address": "HNo4 Street Ville Parle",
"DisplayName": "George",
"TimeZone": "190",
"CreationTime": "2020-07-29T09:03:42Z",
"IsTemplate": "false",
"Language": "1033",
"LocationObjectId": "58b236f7-3c20-4e61-89a0-809740c05de5",
"Undeletable": "false",
"UseDefaultTimeZone": "true",
"ReadOnly": "false",
"SmtpAddress": "davis@ucbu-aricent-vm405.cisco.com",
"LdapType": "3",
"UserWebPasswordURI":
"/vmrest/users/0347d21e-c238-4079-8d77-662499c058ba/credential/password",
"UserRoleURI": "/vmrest/users/0347d21e-c238-4079-8d77-662499c058ba/userroles"
}
]
}
Response Code: 200
Viewing Details of Admin User without Mailbox
The following is an example of the GET request that lists the details of specific user without mailbox represented
by the provided value of object ID:
GET https://<connection-server>/vmrest/adminusers/<user-objectId>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
169
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Viewing Details of Admin User without Mailbox
Page 202
<User>
<URI>/vmrest/adminusers/0347d21e-c238-4079-8d77-662499c058ba</URI>
<ObjectId>0347d21e-c238-4079-8d77-662499c058ba</ObjectId>
<UseDefaultLanguage>true</UseDefaultLanguage>
<FirstName>George</FirstName>
<Initials>GD</Initials>
<LastName>Davis</LastName>
<Alias>Davis</Alias>
<State>Mumbai</State>
<Title>Trainee</Title>
<Address>HNo4 Street Ville Parle</Address>
<DisplayName>George</DisplayName>
<TimeZone>190</TimeZone>
<CreationTime>2020-07-29T09:03:42Z</CreationTime>
<IsTemplate>false</IsTemplate>
<Language>1033</Language>
<LocationObjectId>58b236f7-3c20-4e61-89a0-809740c05de5</LocationObjectId>
<Undeletable>false</Undeletable>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<ReadOnly>false</ReadOnly>
<SmtpAddress>davis@ucbu-aricent-vm405.cisco.com</SmtpAddress>
<LdapType>3</LdapType>
<UserWebPasswordURI>/vmrest/users/0347d21e-c238-4079-8d77-662499c058ba/credential/password</UserWebPasswordURI>
<UserRoleURI>/vmrest/users/0347d21e-c238-4079-8d77-662499c058ba/userroles</UserRoleURI>
</User>
Response Code: 200
JSON Example
To view the details of particular user, do the following:
GET https://<connection-server>/vmrest/adminusers/{user-objectId}
Accept: application/json
Connection: keep_alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
170
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Viewing Details of Admin User without Mailbox
Page 203
{
"URI": "/vmrest/adminusers/0347d21e-c238-4079-8d77-662499c058ba",
"ObjectId": "0347d21e-c238-4079-8d77-662499c058ba",
"UseDefaultLanguage": "true",
"FirstName": "George",
"Initials": "GD",
"LastName": "Davis",
"Alias": "Davis",
"State": "Mumbai",
"Title": "Trainee",
"Address": "HNo4 Street Ville Parle",
"DisplayName": "George",
"TimeZone": "190",
"CreationTime": "2020-07-29T09:03:42Z",
"IsTemplate": "false",
"Language": "1033",
"LocationObjectId": "58b236f7-3c20-4e61-89a0-809740c05de5",
"Undeletable": "false",
"UseDefaultTimeZone": "true",
"ReadOnly": "false",
"SmtpAddress": "davis@ucbu-aricent-vm405.cisco.com",
"LdapType": "3",
"UserWebPasswordURI":
"/vmrest/users/0347d21e-c238-4079-8d77-662499c058ba/credential/password",
"UserRoleURI": "/vmrest/users/0347d21e-c238-4079-8d77-662499c058ba/userroles"
}
Response Code: 200
Creating Admin User without Mailbox
This request can be used to create a new user who does not have a mailbox.The mandatory fields for creation
of a user are alias and templateAlias.
1.
This creates the admin user using default administratortemplate:
POST https://<connection-server>/vmrest/adminusers?templateAlias=<administratortemplate>
<user>
<Alias>Davis</Alias>
<DisplayName>George</DisplayName>
<FirstName>George</FirstName>
<LastName>Davis</LastName>
<TimeZone>190</TimeZone>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<IsTemplate>false</IsTemplate>
<Language>1033</Language>
<UseDefaultLanguage>true</UseDefaultLanguage>
<LdapType>3</LdapType>
<Initials>GD</Initials>
<Title>Trainee</Title>
<Address>HNo4 Street Ville Parle</Address>
<State>Mumbai</State>
<Undeletable>false</Undeletable>
</user>
The following is the response from the above POST request and the actual response will depend upon
the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
171
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Creating Admin User without Mailbox
Page 204
Response Code: 201
/vmrest/users/0347d21e-c238-4079-8d77-662499c058ba
JSON Example
To create user, do the following:
POST https://<Connection-server>/vmrest/adminusers?templateAlias=administratortemplate
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"UseDefaultLanguage" : "true"
"Alias":"Davis",
"DisplayName":"George"
"FirstName" : "George"
"LastName" : "Davis"
"TimeZone":"190"
"UseDefaultTimeZone" : "true"
"IsTemplate" : "false"
"Language" : "1033"
"LdapType" : "3"
"Initials" : "GD"
"Title" : "Trainee"
"Address" : "HNo4 Street Ville Parle"
"State" : "Mumbai"
"Undeletable" : "false"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/users/0347d21e-c238-4079-8d77-662499c058ba
Updating Admin User without Mailbox
The following is an example of the PUT request that update details of a user without mailbox:
PUT https://<connection-server>/vmrest/adminusers/<user-objectid>
<user>
<Alias>Texoma</Alias>
<DisplayName>richardtexoma</DisplayName>
<IsTemplate>false</IsTemplate>
<Language>1020</Language>
<LocationObjectId>35ac99ba-e098-4195-9ffb-cecb5a7cab65</LocationObjectId>
<Undeletable>true</Undeletable>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<ReadOnly>true</ReadOnly>
<TimeZone>140</TimeZone>
</user>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
172
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Updating Admin User without Mailbox
Page 205
JSON Example
To update details of a user:
PUT https://<connection-server>/vmrest/adminusers/<user-objectid>
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"TimeZone":"170”
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Deleting Admin User without Mailbox
The following is an example of the DELETE request that can be used to delete a user who does not have a
mailbox:
DELETE https://<connection-server>/vmrest/adminusers/<user-objectid>
Response Code: 204
JSON Example
To delete a user, do the following:
DELETE https://<connection-server>/vmrest/adminusers/<user-objectid>
Accept: application/json
Content-type: application/json
Connection: keep_alive
Response Code: 204
Explanation of Data Fields
Description
Data Type
Operation
Field Name
A unique text name of a user.
String(64)
Read/Write
Alias
A flag displays the status of a user.
Possible values:
• true: if user is inactive.
• false: if user is active.
Default Value: false
You can only change the status from
true to false.
Note
Boolean
Read/Write
Inactive
Cisco Unity Connection Provisioning Interface (CUPI) API
173
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Deleting Admin User without Mailbox
Page 206
Description
Data Type
Operation
Field Name
Descriptive name of the user.
String(64)
Read/Write
DisplayName
The first name (i.e., given name) of the user.
String(64)
Read/Write
FirstName
The last name (i.e., surname or family name) of
the user, by which a user is commonly known.
String(64)
Read/Write
LastName
The full SMTP address for the user
String(320)
Read/Write
SmtpAddress
The time zone to which this user account is
associated. URI for timezone is:
https://<Connection-server>/vmrest/timezones.
Integer(4)
Read/Write
TimeZone
Indicates if the default timezone is being used.
Possible values:
• true: if default time zone is to be used
• false: to use specific time zone, if false is
selected timezone should be also specified.
Boolean
Read/Write
UseDefaultTimeZone
The preferred language of user.
Integer
Read/Write
Language
Set to true, if the call handler is using default
language from the location it belongs to. If false,
you need to specify the language, so set the
particular language
Boolean
Read/Write
UseDefaultLanguage
The LDAP configuration information for the user.
Possible Values:
• 0-Not integrated with LDAP directory.
• 3-Integrated with LDAP directory
Default Value: 0
Integer
Read/Write
LdapType
The unique identifier of the LocationVMS object
to which the user belongs to.
String(36)
Read Only
LocationObjectId
A flag indicating whether this instance of a user
object is a "template" for creating new users.
Possible values:
• true: if user template
• false: if user
Default Value: false
Boolean
Read Only
IsTemplate
The initial letters of some or all of the names of
the user.
String(64)
Read/Write
Initials
The position or function of a user within an
organization, such as 'Vice President'.
String(64)
Read/Write
Title
The physical address such as a house number and
street name where the user is located, or with which
a user is associated.
String(128)
Read/Write
Address
Cisco Unity Connection Provisioning Interface (CUPI) API
174
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Explanation of Data Fields
Page 207
Description
Data Type
Operation
Field Name
The name of the building where the user is based.
String(64)
Read/Write
Building
The name of a locality, such as a city, county or
other geographic region where the user is located,
or with which a user is associated.
String(64)
Read/Write
City
The full name of the state or province where this
user is located, or with which a user is associated.
String(64)
Read/Write
State
For users in the United States, the zip code where
the user is located. For users in Canada, Mexico,
and other countries, the postal code where the user
is located.
String(40)
Read/Write
PostalCode
The two-letter ISO 3166-1 country code where the
user is located, or with which a user is associated.
URI to fetch available country code:
https://<Connection-server>/vmrest/languagemap.
From the response fetch last 2 letter of the
Languagetag parameter.
String(2)
Read/Write
Country
The name or number for the department or
subdivision of an organization to which a person
belongs to.
String(64)
Read/Write
Department
The name of the person who is the manager or
supervisor of the user. Any character except
non-printing ASCII characters can be used here.
String(64)
Read/Write
Manager
Accounting information or project code associated
with the user. Any ASCII or Unicode character can
be used here.
String(32)
Read/Write
BillingId
The corporate email address of the user.
String(320)
Read/Write
EmailAddress
Flag indicating whether a user cannot be deleted
or not.
Possible values:
• true: For default users
• false: For other created users
Boolean
Read Only
Undeletable
Cisco Unity Connection Provisioning Interface (CUPI) API
175
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Explanation of Data Fields
Page 208
Cisco Unity Connection Provisioning Interface (CUPI) API
176
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API
Explanation of Data Fields
Page 209
C H A P T E R 28
Cisco Unity Connection Provisioning Interface
(CUPI) API -- User Password PIN Settings
• User Password and PIN Settings API, on page 177
User Password and PIN Settings API
Listing User PIN Settings
GET https://<Connection-server>/vmrest/users/<user-objectid>/credential/pin
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<Credential>
<URI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/credential/pin</URI>
<UserObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</UserObjectId>
<CredentialType>4</CredentialType>
<Credentials/>
<IsPrimary>false</IsPrimary>
<CantChange>false</CantChange>
<DoesntExpire>true</DoesntExpire>
<TimeChanged>2013-03-05 11:24:33.344</TimeChanged>
<HackCount>5</HackCount>
<Locked>true</Locked>
<TimeLastHack>2013-03-11 10:23:30.581</TimeLastHack>
<TimeLockout>2013-03-05 11:24:33.344</TimeLockout>
<Alias>Texoma</Alias>
<CredMustChange>true</CredMustChange>
<CredentialPolicyObjectId>a97ff291-8e60-475a-b7ee-e956ae83a730</CredentialPolicyObjectId>
<Hacked>false</Hacked>
<ObjectId>3f6f1cb0-3b00-45b5-91fd-d8553737eec7</ObjectId>
<EncryptionType>3</EncryptionType>
</Credential>
Response Code: 200
Cisco Unity Connection Provisioning Interface (CUPI) API
177

Page 210
Listing User Password Settings
GET https://<Connection-server>/vmrest/users/<user-objectid>/credential/password
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<Credential>
<URI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/credential/password</URI>
<UserObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</UserObjectId>
<CredentialType>3</CredentialType>
<Credentials/>
<IsPrimary>false</IsPrimary>
<CantChange>false</CantChange>
<DoesntExpire>true</DoesntExpire>
<TimeChanged>2013-03-05 11:24:33.344</TimeChanged>
<HackCount>5</HackCount>
<Locked>true</Locked>
<TimeLastHack>2013-03-11 10:23:30.581</TimeLastHack>
<TimeLockout>2013-03-05 11:24:33.344</TimeLockout>
<Alias>Texoma</Alias>
<CredMustChange>true</CredMustChange>
<CredentialPolicyObjectId>a97ff291-8e60-475a-b7ee-e956ae83a730</CredentialPolicyObjectId>
<Hacked>false</Hacked>
<ObjectId>3f6f1cb0-3b00-45b5-91fd-d8553737eec7</ObjectId>
<EncryptionType>3</EncryptionType>
</Credential>
Response Code: 200
JSON Example
GET https://<Connection-server>/vmrest/users/<user-objectid>/credential/password
Accept: application/json
Content-type:
application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
178
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Password PIN Settings
Listing User Password Settings
Page 211
{
“URI”: “/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/credential/password”
“UserObjectId”: “9375d893-c8eb-437b-90bf-7de4b1d0c3e8”
“CredentialType”: “3”
“Credentials”
“IsPrimary”: “false”
“CantChange”: “false”
“DoesntExpire”: “true”
“TimeChanged”: “2013-03-05 11:24:33.344”
“HackCount”: “5”
“Locked”: “true”
“TimeLastHack”: “2013-03-11 10:23:30.581”
“TimeLockout”: “2013-03-05 11:24:33.344”
“Alias”: “Texoma”
“CredMustChange”: “true”
“CredentialPolicyObjectId”: “a97ff291-8e60-475a-b7ee-e956ae83a730”
“Hacked”: “false”
“ObjectId”: “3f6f1cb0-3b00-45b5-91fd-d8553737eec7”
“EncryptionType”: “3”
}
Response Code: 200
Update Password/PIN Settings
For PIN:
PUT https://<Connection-server>/vmrest/users/<user-objectid>/credential/pin
For Password:
PUT https://<Connection-server>/vmrest/users/<user-objectid>/credential/password
<Credential>
<Locked>false</Locked>
<DoesntExpire>true</DoesntExpire>
<CredMustChange>true</CredMustChange>
<CredentialPolicyObjectId>43e16996-57c6-46c4-86c0-f37d2edf0385</CredentialPolicyObjectId>
</Credential>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Unlock Password/PIN Settings
A user's PIN is the password that a user must enter over the phone to sign into their mailbox to listen or send
new messages by phone. To change a user's PIN you need the object ID of the user. A user's password is the
web application password that is required to interact with web applications, such as the Cisco PCA or the
Inbox applications.
For Password:
PUT https://<Connection-server>/vmrest/users/<user-objectid>/credential/password
Cisco Unity Connection Provisioning Interface (CUPI) API
179
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Password PIN Settings
Update Password/PIN Settings
Page 212
For PIN:
PUT https://<Connection-server>/vmrest/users/<user-objectid>/credential/pin
<Credential>
<HackCount>0</HackCount>
<TimeHacked></TimeHacked>
</Credential>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example:
To Unlock Password:
PUT https://<Connection-server>/vmrest/users/<user-objectid>/credential/password
Accept: application/json
Content-type:
application/json
Connection: keep-alive
Response Body:
{
"HackCount":"0",
"TimeHacked":""
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
To Unlock Password
PUT https://<Connection-server>/vmrest/users/<user-objectid>/credential/password
Accept: application/json
Content-type:
application/json
Connection: keep-alive
Response Body:
{
"HackCount":"0",
"TimeHacked":""
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Change Password/PIN
For Password: PUT
https://<Connection-server>/vmrest/users/<user-objectid>/credential/password
Cisco Unity Connection Provisioning Interface (CUPI) API
180
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Password PIN Settings
To Unlock Password
Page 213
For PIN:
PUT https://<Connection-server>/vmrest/users/<user-objectid>/credential/pin
<Credential>
<Credentials>ciscfo1234</Credentials>
</Credential>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example:
To Update PIN
PUT https://<Connection-server>/vmrest/users/<user-objectid>/credential/pin
Accept: application/json
Content-type:
application/json
Connection: keep-alive
Response Body:
{
"Credentials":"cisco1234"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Explanation of Data Fields
Description
Operation
Data Type
Field Name
A flag indicating whether access to the user account associated with
this set of credentials is locked.
Possible values:
• true
• false
Default value: false
Read/Write
Boolean
Locked
A flag indicating whether the user can set this credential.
Possible values:
• false: User can change credential
• true: User cannot change credential
Default Value: false
Read/Write
Boolean
CantChange
Cisco Unity Connection Provisioning Interface (CUPI) API
181
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Password PIN Settings
Explanation of Data Fields
Page 214
Description
Operation
Data Type
Field Name
A flag indicating whether the user must change their credentials
(PIN or password) at the next login.
Possible values:
• true
• false
Default Value :true
Read/Write
Boolean
CredMustChange
A flag indicating whether this user credential will expire, and
therefore the user must change the credential periodically. However,
if the credential does not expire (value = "true"), the user still may
change the credential (if allowed by CantChange).
Possible values:
• true
• false
Default value: false
Read/Write
Boolean
DoesntExpire
The unique identifier of the CredentialPolicy object that is associated
with this credential. Value for this parameter can be fetched from
the objectid parameter. Response of the following URI: GET:
https://<conection-server>/vmrest/credentialpolicies.
Read/Write
String(36)
CredentialPolicyObjectId
The unique identifier of the CredentialPolicy object that is associated
with this credential. Value for this parameter can be fetched from
the objectid parameter. Response of the following URI: GET:
https://<conection-server>/vmrest/credentialpolicies.
Read/Write
datetime(8)
TimeChanged
The number of logon attempted that failed due to invalid credentials.
The Unity system or external authentication provider determined
that the credentials supplied as part of a user logon attempt were
invalid.
Default value: 0
Read/Write
Integer(4)
HackCount
The date and time of the last logon attempt with an invalid user
credential.
Read/Write
datetime(8)
TimeLastHack
The date and time that the credential was locked by an administrator.
Read/Write
datetime(8)
TimeLockout
The date and time that the credential was locked due to too many
hacks. The date and time is recorded in this column whenever a
user credential is locked due to too many hacks based on the
credential policy.
Read/Write
datetime(8)
TimeHacked
Unique identifier for the password/pin
Read
Only
String (36)
ObjectId
The PIN or password, for a user. The credentials are stored in an
encrypted format.
Read/Write
String(256)
Credentials
A unique text name of the user.
Read/Write
String(64)
Alias
Cisco Unity Connection Provisioning Interface (CUPI) API
182
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Password PIN Settings
Explanation of Data Fields
Page 215
Description
Operation
Data Type
Field Name
A flag indicating whether access to the user account associated with
this set of credentials is locked due too many hack attempts.
Possible Values:
• true
• false
Default Value: false
Read/Write
Boolean
Hacked
Type of encryption that was used to generate the credentials.
Possible values:(0-5)
• UNKNOWN: 0
• HASH_MD5: 1
• HASH_SHA1: 2
• HASH_IMS: 3
• REVERSIBLE: 4
• NONE: 5
Default Value: 0
Read/Write
Integer
EncryptionType
The type of credential such as password, PIN, Windows or Domino
credential.
• 4- for PIN
• 3- for Password
Read/Write
CredentialType
CredentialType
Cisco Unity Connection Provisioning Interface (CUPI) API
183
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Password PIN Settings
Explanation of Data Fields
Page 216
Cisco Unity Connection Provisioning Interface (CUPI) API
184
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Password PIN Settings
Explanation of Data Fields
Page 217
C H A P T E R 29
Cisco Unity Connection Provisioning Interface
(CUPI) API -- User Roles
• User Roles API, on page 185
User Roles API
Listing User Roles
GET https://<connection-server>/vmrest/users/<user-objectid>/userroles
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<UserRole>
<URI>/vmrest/users/d8054a3a-6c09-4a25-9880-6589d2f1dc85/userroles/973e143e-af15-4ef4-a7c1-5fafd9cc53d4</URI>
<ObjectId>973e143e-af15-4ef4-a7c1-5fafd9cc53d4</ObjectId>
<UserObjectId>d8054a3a-6c09-4a25-9880-6589d2f1dc85</UserObjectId>
<UserURI>/vmrest/users/d8054a3a-6c09-4a25-9880-6589d2f1dc85</UserURI>
<RoleObjectId>ba166947-41e8-4ec9-ad14-03658d91240e</RoleObjectId>
<RoleURI>/vmrest/roles/ba166947-41e8-4ec9-ad14-03658d91240e</RoleURI>
<RoleName>Audit Administrator</RoleName>
<Alias>ABCD_user template</Alias>
</UserRole>
Response Code: 200
JSON Example
Cisco Unity Connection Provisioning Interface (CUPI) API
185

Page 218
GET https://<connection-server>/vmrest/useres/<usereobjectid>/userroles
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will
depend upon the information given by you:
{
"@total":"1"
"UserRole":
{
"URI":"/vmrest/users/a9272189-720b-44b3-86e0-df7ef519599c/userroles/167b7661-ee8b-4c83-8867-decb88ec0c1c"
"ObjectId":"167b7661-ee8b-4c83-8867-decb88ec0c1c"
"UserObjectId":"a9272189-720b-44b3-86e0-df7ef519599c"
"UserURI":"/vmrest/users/a9272189-720b-44b3-86e0-df7ef519599c"
"RoleObjectId":"04d0f1ef-a8c6-454a-8cf0-0e8db7bb2b15"
"RoleURI":"/vmrest/roles/04d0f1ef-a8c6-454a-8cf0-0e8db7bb2b15"
"RoleName":"Help Desk Administrator"
"Alias":"tenant005_usertemplate_1"
}
}
Response Code: 200
Adding Roles
POST https://<connection-server>/vmrest/users/<user-objectid>/userroles
To get the roles object ID, use this URI:
Note
https://<connection-server>/vmrest/roles
<UserRole>
<RoleObjectId>4f077e4e-61c7-4ce8-a58a-2c4bc6089319</RoleObjectId>
</UserRole>
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/users/39871e30-849a-4dcf-b868-2faf360d503a/userroles/f4d0f1ef-a8c6-454a-8cf0-0e8db7bb2b15
JSON Example
POST https://<connection-server>/vmrest/useres/<user-objectid>/userroles
Accept: application/json
Content-type: application/json
Connection: keep-alive
Request Body:
{
"RoleObjectId":"04d0f1ef-a8c6-454a-8cf0-0e8db7bb2b15"
}
Cisco Unity Connection Provisioning Interface (CUPI) API
186
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Roles
Adding Roles

Page 219
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/users/39871e30-849a-4dcf-b868-2faf360d503a/userroles/f4d0f1ef-a8c6-454a-8cf0-0e8db7bb2b15
Delete Role of User
DELETE https://<connection-server>/vmrest/users/<user-objectid>/userroles/<userrolesId>
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
JSON Example
DELETE https://<connection-server>/vmrest/users/<user-objectid>/userroles/<userroleid>
Accept: application/json
Connection: keep-alive
The following is the response from the above DELETE request and the actual response will
depend upon the information given by you:
Response Code: 204
Explanation of Data Fields
Comments
Data
Type
Operations
Parameter
A globally unique, system-generated identifier for a particular role of user
Read
Only
String(36)
ObjectId
URI of the User object (subject) to which this role is assigned.
Read
Only
String
UserId
The unique identifier of the User object (subject) to which this role is
assigned.
Read
Only
String(36)
UserObjectId
The unique identifier of the Role object that specifies the privileges to be
granted to the subject, for the target. For example, the role could be a
"Technician."
Read/Write
String(36)
RoleObjectId
The name of the role.
Read
Only
String(64)
RoleName
URI of the particular role
Read
Only
String
RoleURI
The alias of the user
Read
Only
String(64)
Alias
Cisco Unity Connection Provisioning Interface (CUPI) API
187
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Roles
Delete Role of User
Page 220
Cisco Unity Connection Provisioning Interface (CUPI) API
188
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Roles
Explanation of Data Fields
Page 221
C H A P T E R 30
Cisco Unity Connection Provisioning Interface
(CUPI) API for User Account Settings
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Names, on page 189
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Changing Passwords and Password Settings,
on page 192
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Changing Primary and Alternate Extensions,
on page 193
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS), on page 195
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Enabling Single Inbox Example, on page
198
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Notification Devices, on page 199
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Private List Members , on page 212
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Private Lists, on page 215
• Cisco Unity Connection Provisioning Interface (CUPI) API -- SMTP Proxy Addresses , on page 217
• Cisco Unity Connection Provisioning Interface (CUPI) API -- User Import, on page 219
Cisco Unity Connection Provisioning Interface (CUPI) API --
Alternate Names
About Alternate Names
This page contains information on how to use the API to create, list, update, and delete Alternate Names.
Alternate Names are shared by users, contacts, distribution lists, private lists, and VPIM locations. Each of
these objects can have Alternate Names associated with them.
Listing and Viewing
The following is an example of a GET that lists all Alternate Names:
GET http://<connection-server>/vmrest/alternatenames
The following is the response from the above GET request:
Cisco Unity Connection Provisioning Interface (CUPI) API
189

Page 222
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<AlternateNames total="5">
<AlternateName>
<URI>/vmrest/alternatenames/a2ec7ba8-db89-4135-8cde-2fce23e59616</URI>
<FirstName>Ooser</FirstName>
<LastName>Aye</LastName>
<ObjectId>a2ec7ba8-db89-4135-8cde-2fce23e59616</ObjectId>
<GlobalUserObjectId>bde24d71-95fa-4ba8-bf1b-0e19a4e9a68b</GlobalUserObjectId>
<GlobalUserURI>/vmrest/globalusers/bde24d71-95fa-4ba8-bf1b-0e19a4e9a68b</GlobalUserURI>
</AlternateName>
<AlternateName>
<URI>/vmrest/alternatenames/c10257ad-886a-451d-9d96-09499dbf5cf1</URI>
<FirstName>allvoicemaleusers</FirstName>
<ObjectId>c10257ad-886a-451d-9d96-09499dbf5cf1</ObjectId>
<DistributionListObjectId>a9a648f7-bf32-4851-a0c5-62c0165116ae</DistributionListObjectId>
<DistributionListURI>/vmrest/distributionlists/a9a648f7-bf32-4851-a0c5-62c0165116ae</DistributionListURI>
</AlternateName>
<AlternateName>
<URI>/vmrest/alternatenames/2b5b5a9a-1721-4ca6-a1e6-92d375f6c761</URI>
<FirstName>khan</FirstName>
<LastName>ah</LastName>
<ContactObjectId>95beb3f7-b142-4ca5-861f-e36d65aef463</ContactObjectId>
<ContactURI>/vmrest/contacts/95beb3f7-b142-4ca5-861f-e36d65aef463</ContactURI>
<ObjectId>2b5b5a9a-1721-4ca6-a1e6-92d375f6c761</ObjectId>
</AlternateName>
<AlternateName>
<URI>/vmrest/alternatenames/d6d06ae0-6c63-4944-9426-ce4027aa67fd</URI>
<FirstName>privut lyst</FirstName>
<ObjectId>d6d06ae0-6c63-4944-9426-ce4027aa67fd</ObjectId>
<PersonalGroupObjectId>10966c03-e64b-4c3d-9809-990b62865c6a</PersonalGroupObjectId>
</AlternateName>
<AlternateName>
<URI>/vmrest/alternatenames/44e03050-5e7e-4792-be69-96e1e7511224</URI>
<FirstName>vpim lokaychion aye</FirstName>
<ObjectId>44e03050-5e7e-4792-be69-96e1e7511224</ObjectId>
<LocationObjectId>6aacd387-72e9-4971-82e5-b04a7a9790ad</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/6aacd387-72e9-4971-82e5-b04a7a9790ad</LocationURI>
</AlternateName>
</AlternateNames>
In this example, the first Alternate Name in the list belongs to a user as denoted by the GlobalUserObjectId
field. The second Alternate Name belongs to a Distribution List, and so on.
For Distribution Lists, Private Lists, and VPIM Locations, only the FirstName field is used to provide the
Alternate Name. These objects only have a single Display Name, they do not have separate first and last
names.
To retrieve a sorted list of all Alternate Names, add the following query parameter:
sort=(column [asc | desc])
For example, to retrieve a list of all Alternate Names sorted by Object Id in ascending order:
GET http://<connection-server>/vmrest/alternatenames?sort=(objectid%20asc)
Cisco Unity Connection Provisioning Interface (CUPI) API
190
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Listing and Viewing
Page 223
To retrieve a specific Alternate Name by its object ID:
GET http://<connection-server>/vmrest/alternatenames/<objectid>
Searching
To retrieve a list of Alternate Names that meet a specified search criteria, add the following query parameter
to a GET:
query=(column [is | startswith] value)
For example, to find all Alternate Names with a GlobalUserObjectId that equals
"bde24d71-95fa-4ba8-bf1b-0e19a4e9a68b" (this is a search to find all Alternate Names for a specific User):
GET
http://<connection-server>/vmrest/alternatenames?query=(globaluserobjectid%20is%20bde24d71-95fa-4ba8-bf1b-0e19a4e9a68b)
To find Alternate Names for various objects, use the following object id columns:
• For Users, use GlobalUserObjectId.
• For Contacts, use ContactObjectId.
• For Distribution Lists, use DistributionListObjectId.
• For Private Lists, use PersonalGroupObjectId.
• For VPIM Locations, use LocationObjectId.
Creating
The required fields for creating an Alternate Name are a parent object id, a First Name, and for some objects
a Last Name. To determine what parent object id column to use to create the new Alternate Name, use the
list found in the Searching section above. For example, if you are creating an Alternate Name for a User, then
a GlobalUserObjectId needs to be provided.
The following is an example of a POST that creates an Alternate Name for a User with a First Name of "Mike"
and a Last Name of "Wholebert" whose Global User Object Id is "bde24d71-95fa-4ba8-bf1b-0e19a4e9a68b":
POST http://<connection-server>/vmrest/alternatenames
<?xml version="1.0" encoding="UTF-8"?>
<AlternateName>
<FirstName>Mike</FirstName>
<LastName>Wholebert</LastName>
<GlobalUserObjectId>bde24d71-95fa-4ba8-bf1b-0e19a4e9a68b</GlobalUserObjectId>
</AlternateName>
When creating Distribution Lists, Private Lists, or VPIM Locations, only the FirstName field is used to provide
the Alternate Name
Updating
The following is an example of a PUT request that modifies the First Name and Last Name of an existing
Alternate Name:
Cisco Unity Connection Provisioning Interface (CUPI) API
191
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Searching
Page 224
PUT http://<connection-server>/vmrest/alternatenames/<objectid>
<?xml version="1.0" encoding="UTF-8"?>
<AlternateName>
<FirstName>Mick</FirstName>
<LastName>Holebert</LastName>
</AlternateName>
Deleting
The following is an example of a DELETE request that deletes an Alternate Name:
DELETE http://<connection-server>/vmrest/alternatenames/<objectid>
Cisco Unity Connection Provisioning Interface (CUPI) API --
Changing Passwords and Password Settings
Changing a User's PIN
A user's PIN is the password that a user must enter over the phone to sign in to their mailbox, so that they can
listen to or send new messages by phone. To change a user's PIN you need the object ID of the user. The
following example changes the user's PIN to 635241.
PUT vmrest/users/<objectid>/credential/pin
<?xml version="1.0" encoding="UTF-8"?>
<Credential>
<Credentials>635241</Credentials>
</Credential>
Changing a User's Password
A user's password is the web application password required to interact with web applications, such as the
PCA or the Inbox applications. The following example changes the user's password to My1stPassword.
PUT vmrest/users/<objectid>/credential/password
<?xml version="1.0" encoding="UTF-8"?>
<Credential>
<Credentials>My1stPassword</Credentials>
</Credential>
Setting the User Cannot Change Password Flag
To configure a PIN or password so that the user cannot change it, use the CantChange element.
Here is an example of changing a user's PIN such that the user cannot change it.
Cisco Unity Connection Provisioning Interface (CUPI) API
192
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Deleting
Page 225
PUT vmrest/users/<objectid>/credential/pin
<?xml version="1.0" encoding="UTF-8"?>
<Credential>
<CantChange>true</CantChange>
</Credential>
Here is an example of changing a user's password such that the user cannot change it.
PUT vmrest/users/<objectid>/credential/password
<?xml version="1.0" encoding="UTF-8"?>
<Credential>
<CantChange>true</CantChange>
</Credential>
Note that the only difference in these examples is the URI; they both use the same Credentials object.
Cisco Unity Connection Provisioning Interface (CUPI) API --
Changing Primary and Alternate Extensions
About Changing Primary and Alternate Extensions
A common scenario is having a primary extension that needs to be changed, but the old primary extension
needs to be kept around as an alternate extension for that same user. This document describes the steps to
make such a change. It shows how to either create a new alternate extension for a user, or update an existing
alternate extension.
Viewing the Primary Extension
The user's primary extension is the DTMFAccessID field on the user object. The following is an example of
a GET that lists the user object:
GET /vmrest/users/<userobjectid>
The user's primary extension will also show up in their list of alternate extensions with an IdIndex of 0.
Updating the Primary Extension
The following is an example of a PUT that modifies the DTMFAccessID of a user to 2001:
PUT /vmrest/users/<userobjectid>
<?xml version="1.0" encoding="UTF-8"?>
<User>
<DtmfAccessId>2001</DtmfAccessId>
</User>
The user's primary extension can also be updated through the user's alternate extensions URI by executing a
PUT that modifies the alternate extension with an IdIndex of 0.
Cisco Unity Connection Provisioning Interface (CUPI) API
193
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- Changing Primary and Alternate Extensions
Page 226
Creating a New Alternate Extension
The following is an example of a POST that creates an alternate extension of 2000 for a user. The IdIndex
field is explained in further detail below.
POST
/vmrest/users/<userobjectid>/alternateextensions
<?xml version="1.0" encoding="UTF-8"?>
<AlternateExtension>
<IdIndex>1</IdIndex>
<DtmfAccessId>2000</DtmfAccessId>
</AlternateExtension>
Updating an Existing Alternate Extension
The following is an example of a PUT that modifies the DTMFAccessID of an alternate extension on a user
to 2000. The IdIndex field is explained in further detail below.
PUT
/vmrest/users/<userobjectid>/alternateextensions/<alternateextensionobjectid>
<?xml version="1.0" encoding="UTF-8"?>
<AlternateExtension>
<DtmfAccessId>2000</DtmfAccessId>
</AlternateExtension>
Explaining the IdIndex Field
The IdIndex field indicates what type of phone this extension represents. It does not affect the behavior of
the alternate extension, it simply is a way to categorize and order the alternate extensions.
Cisco Unity Connection allows a user to have 9 administrator-defined alternate extensions and 10 user-defined
alternate extensions (if allowed by COS). Only one alternate extension is associated with each IdIndex, and
every extension must have an IdIndex.
Non-alternate extensions (primary, distribution list, location, etc.) have an IdIndex containing a value of 0.
Administrator-defined alternate extensions use the range of 1-9. User-defined alternate extensions use the
range of 11-20. User-defined alternate extensions cannot be created by administrators, only by users (if allowed
by their COS).
In Cisco Unity Connection Administration, administrator-defined alternate extensions have their IdIndex
translated into a Phone Type, which is simply a text tag to help you categorize your alternate extensions. The
table below shows the translations.
1 = Work Phone
2 = Work Phone 2
3 = Home Phone
4 = Home Phone 2
5 = Mobile Phone
6 = Mobile Phone 2
7 = Work Fax
Cisco Unity Connection Provisioning Interface (CUPI) API
194
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Creating a New Alternate Extension
Page 227
8 = Work Fax 2
9 = Home Fax
Cisco Unity Connection Provisioning Interface (CUPI) API --
Class of Service (COS)
About Classes of Service (COSes)
This page contains information on how to use the API to create, list, update, and delete classes of service.
Listing and Viewing
The following is an example of a GET request that lists all Classes of Service:
GET http://<connection-server>/vmrest/coses
The following is the response from the above GET request:
<?xml version="1.0" encoding="UTF-8"?>
<Coses total="2">
<Cos>
<URI>/vmrest/coses/e0da866c-07d4-41ae-8ca9-e334e4732ea7</URI>
<ObjectId>e0da866c-07d4-41ae-8ca9-e334e4732ea7</ObjectId>
<DisplayName>Voice Mail User COS</DisplayName>
</Cos>
<Cos>
<URI>/vmrest/coses/38a57ca9-406d-4dec-9fc0-d7fc54ef5dff</URI>
<ObjectId>38a57ca9-406d-4dec-9fc0-d7fc54ef5dff</ObjectId>
<DisplayName>System</DisplayName>
</Cos>
</Coses>
To retrieve a sorted list of all Classes of Service, add the following query parameter: sort=(column [asc|desc])
For example, to retrieve a list of all Classes of Service sorted by their display names in ascending order:
GET http://<connection-server>/vmrest/coses?sort=(displayname%20asc)
To retrieve a specific Class of Service by its object ID:
GET http://<connection-server>/vmrest/coses/<objectid>
The following is the response from the above GET request (requesting a single Class of Service by object ID)
done on the factory default Voice Mail User Cos:
Cisco Unity Connection Provisioning Interface (CUPI) API
195
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS)
Page 228
<?xml version="1.0" encoding="UTF-8"?>
<Cos>
<URI>/vmrest/coses/a9a3a677-31f1-4edb-acd0-6a2135e15995</URI>
<ObjectId>a9a3a677-31f1-4edb-acd0-6a2135e15995</ObjectId>
<AccessFaxMail>false</AccessFaxMail>
<AccessTts>false</AccessTts>
<CallHoldAvailable>false</CallHoldAvailable>
<CallScreenAvailable>false</CallScreenAvailable>
<CanRecordName>true</CanRecordName>
<FaxRestrictionObjectId>d762807b-fbab-4b46-b21b-bf9e37648d0a</FaxRestrictionObjectId>
<ListInDirectoryStatus>true</ListInDirectoryStatus>
<LocationObjectId>7fe7907a-2222-482e-83cb-d8d4ad32adc1</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/7fe7907a-2222-482e-83cb-d8d4ad32adc1</LocationURI>
<MaxGreetingLength>90</MaxGreetingLength>
<MaxMsgLength>300</MaxMsgLength>
<MaxNameLength>30</MaxNameLength>
<MaxPrivateDlists>25</MaxPrivateDlists>
<MovetoDeleteFolder>true</MovetoDeleteFolder>
<OutcallRestrictionObjectId>1c7c3ebf-391e-44f6-8ee2-3717049c614d</OutcallRestrictionObjectId>
<PersonalAdministrator>true</PersonalAdministrator>
<DisplayName>Voice Mail User COS</DisplayName>
<XferRestrictionObjectId>54caa5d6-0ec6-49c9-a80f-52ae743c256f</XferRestrictionObjectId>
<Undeletable>true</Undeletable>
<WarnIntervalMsgEnd>0</WarnIntervalMsgEnd>
<CanSendToPublicDl>true</CanSendToPublicDl>
<EnableEnhancedSecurity>false</EnableEnhancedSecurity>
<AccessVmi>false</AccessVmi>
<AccessLiveReply>false</AccessLiveReply>
<UaAlternateExtensionAccess>0</UaAlternateExtensionAccess>
<AccessCallRoutingRules>false</AccessCallRoutingRules>
<WarnMinMsgLength>0</WarnMinMsgLength>
<SendBroadcastMessage>false</SendBroadcastMessage>
<UpdateBroadcastMessage>false</UpdateBroadcastMessage>
<AccessVui>false</AccessVui>
<ImapCanFetchMessageBody>true</ImapCanFetchMessageBody>
<ImapCanFetchPrivateMessageBody>false</ImapCanFetchPrivateMessageBody>
<MaxMembersPVL>99</MaxMembersPVL>
<AccessIMAP>false</AccessIMAP>
<ReadOnly>false</ReadOnly>
<AccessAdvancedUserFeatures>false</AccessAdvancedUserFeatures>
<AccessUnifiedClient>false</AccessUnifiedClient>
<RequireSecureMessages>4</RequireSecureMessages>
<AccessOutsideLiveReply>false</AccessOutsideLiveReply>
<AccessSTT>false</AccessSTT>
<EnableSTTSecureMessage>0</EnableSTTSecureMessage>
</Cos>
RequireSecureMessages is a custom type that controls how secure messages are generated by users. It can be
set to mark all messages as secure (1), never mark messages as secure (2), ask the user if they want to mark
a message as secure (3), or only mark private messages as secure (4).
One can also use CUPI For End Users to retrieve one's own Class of Service with the following request:
GET /vmrest/user/cos
Cisco Unity Connection Provisioning Interface (CUPI) API
196
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Listing and Viewing
Page 229
Searching
To retrieve a list of Classes of Service that meet a specified search criteria, add the following query parameter:
query=(column [is|startswith] value)
For example, to find all Classes of Service with a display name that starts with "System":
GET http://<connection-server>/vmrest/coses?query=(displayname%20startswith%20System)
Creating
The only required field for creating a COS is DisplayName. All other fields are optional.
The following is an example of a POST request that creates a COS with the display name "My New COS":
POST http://<connection-server>/vmrest/coses
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Cos>
<DisplayName>My New COS</DisplayName>
</Cos>
The following is the response from the above POST request:
201
Created
/vmrest/coses/8ae8b4a2-a25b-4f16-95d9-77abcb91b764
Updating
The following is an example of a PUT request that modifies the display name of an existing COS:
PUT http://<connection-server>/vmrest/coses/<objectid>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Cos>
<DisplayName>My New CoS</DisplayName>
</Cos>
The following is the response from the above PUT request:
204
No Content
null
Deleting
The following is an example of a DELETE request that deletes a Class of Service:
DELETE http://vmrest/coses/<objectid>
The following is the response from the above DELETE request:
Cisco Unity Connection Provisioning Interface (CUPI) API
197
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Searching
Page 230
204
No Content
null
Cisco Unity Connection Provisioning Interface (CUPI) API --
Enabling Single Inbox Example
Enabling Single Inbox for a User
This document explains how to use the API to enable the Single Inbox feature for a user. The API being used
in all these examples is CUPI.
The Single Inbox feature is available only in Cisco Unity Connection 8.5 and later.
Note
Update Class of Service
To allow a user to use the Single Inbox feature, the Class of Service must allow it. The AccessIMAP field
controls access to the Single Inbox feature. This field must be set to "true."
Here is an example of modifying an existing Class of Service to allow access to the Single Inbox feature:
PUT /vmrest/coses/<cosobjectid>
<?xml version="1.0" encoding="UTF-8"?>
<Cos>
<AccessIMAP>true</AccessIMAP>
</Cos>
Create or Update Unified Messaging Service
Unified Messaging Services cannot currently be created or updated through the API. Any configuration
changes will need to be done through another interface such as Cisco Unity Connection Administration.
Create or Update Unified Messaging Accounts
To enable the Single Inbox feature for a user, the user must have a correctly configured Unified Messaging
Account in which the EnableMailboxSynCapability field is set to "true." Note that prior to Connection 8.5,
Unified Messaging Accounts were referred to as External Service Accounts, and this is how the API refers
to them.
Here is an example of modifying an existing Unified Messaging Account to enable the Single Inbox feature:
Cisco Unity Connection Provisioning Interface (CUPI) API
198
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- Enabling Single Inbox Example

Page 231
PUT /vmrest/users/<userobjectid>/externalserviceaccounts/<externalserviceaccountobjectid>
<?xml version="1.0" encoding="UTF-8"?>
<ExternalServiceAccount>
<EnableMailboxSynchCapability>true</EnableMailboxSynchCapability>
</ExternalServiceAccount>
Cisco Unity Connection Provisioning Interface (CUPI) API --
Notification Devices
About Notification Devices
This page contains information on how to use the API to create, list, update, and delete Notification Devices.
Cisco Unity Connection supports four different types of Notification Devices:
• Phone Devices
• Pager Devices
• SMS Devices
• SMTP Devices
The generic Notification Device resource contains the data fields that are common to most or all of the
specialized Device resources, which in turn may contain additional data fields that are specific to certain
Device resources. A listing of all data fields, including a description of what they mean and which specialized
Device types support them, can be found later in this document.
An API user can retrieve a complete list of all Notification Devices or a specific Notification Device, but this
is a read-only resource. In order to create, update, or delete a Notification Device, an API user must use the
appropriate specialized Device resource. In other words, an API user can retrieve all of a user's Notification
Devices, but if they then want to update a particular Phone Device, they must do the update operation on the
Phone Device resource, not the Notification Device resource. This will be explained in more detail below.
The Notification Device resource and the four specialized Device resources contain data fields from the Device
objects in the database, plus some data fields from the Notification Rule object. From an API user's perspective,
this detail may not usually be important, but it is worth mentioning that the Device resources collapse two
database objects into a single resource. This can be safely done because there is always a one-to-one mapping
in the database of Notification Devices and Notification Rules.
The factory default User Template for Voicemail Users contains five Notification Devices: three Phone
Devices (Home, Work, and Mobile), one Pager Device, and one SMTP Device. Any of these default Notification
Devices can be modified, and new Devices of any of four specialized types can be created or deleted. Note
that Notification Devices for User Templates are not currently exposed via the API, only Notification Devices
for Users are exposed.
Listing and Viewing
An API user can list all generic Notification Device resources or all Device resources of a specified type
(Phone, Pager, SMS, or SMTP).
Cisco Unity Connection Provisioning Interface (CUPI) API
199
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- Notification Devices
Page 232
Listing and Viewing Notification Devices
The following is an example of a GET that lists all Notification Devices of all types for the specified User:
Cisco Unity Connection Provisioning Interface (CUPI) API
200
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Listing and Viewing Notification Devices
Page 233
GET https://<connection-server>/vmrest/users/<UserObjectId>/notificationdevices
{noformat}
The following is the response from the above GET request.
Notice that this list contains
a mix of different types of specialized Devices, since the request was for a list of all
Notification Devices.
The Type field indicates the specialized Device type for each
Notification Device (1 = Phone, 2 = Pager, 4 = SMTP, 5 = SMS).
{noformat}
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<NotificationDevices total="5">
<NotificationDevice>
<URI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/2b13dda8-6249-45b2-9a87-aba1b27a1f95</URI>
<SubscriberObjectId>70c5d764-b2f3-498a-b16e-1a4d2a369dfa</SubscriberObjectId>
<UserURI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa</UserURI>
<ObjectId>2b13dda8-6249-45b2-9a87-aba1b27a1f95</ObjectId>
<DisplayName>Pager</DisplayName>
<Active>false</Active>
<BusyRetryInterval>5</BusyRetryInterval>
<Type>2</Type>
<DialDelay>1</DialDelay>
<MaxBody>512</MaxBody>
<MaxSubject>64</MaxSubject>
<RetriesOnBusy>4</RetriesOnBusy>
<RetriesOnRna>4</RetriesOnRna>
<RingsToWait>4</RingsToWait>
<RnaRetryInterval>15</RnaRetryInterval>
<SendCount>true</SendCount>
<WaitConnect>true</WaitConnect>
<MediaSwitchObjectId>6ecaa89b-2d29-4a21-8013-75c154ee58f5</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/6ecaa89b-2d29-4a21-8013-75c154ee58f5</PhoneSystemURI>
<TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode>
<DeviceName>Pager</DeviceName>
<PromptForId>false</PromptForId>
<SendCallerId>true</SendCallerId>
<SendPcaLink>false</SendPcaLink>
<Undeletable>true</Undeletable>
<MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName>
<DetectTransferLoop>false</DetectTransferLoop>
<SuccessRetryInterval>1</SuccessRetryInterval>
<RetriesOnSuccess>0</RetriesOnSuccess>
<EventList>NewVoiceMail</EventList>
<ScheduleSetObjectId>d7ea64ca-e3fc-4d0a-8bd5-ef2337a31b97</ScheduleSetObjectId>
<InitialDelay>0</InitialDelay>
<RepeatInterval>0</RepeatInterval>
<RepeatNotify>false</RepeatNotify>
</NotificationDevice>
<NotificationDevice>
<URI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/0f4ce029-1939-4ae0-9dee-9d84c77fadae</URI>
<SubscriberObjectId>70c5d764-b2f3-498a-b16e-1a4d2a369dfa</SubscriberObjectId>
<UserURI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa</UserURI>
<ObjectId>0f4ce029-1939-4ae0-9dee-9d84c77fadae</ObjectId>
<DisplayName>Home Phone</DisplayName>
<Active>false</Active>
<BusyRetryInterval>5</BusyRetryInterval>
<Conversation>SubNotify</Conversation>
<Type>1</Type>
Cisco Unity Connection Provisioning Interface (CUPI) API
201
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Listing and Viewing Notification Devices
Page 234
<DialDelay>1</DialDelay>
<MaxBody>512</MaxBody>
<MaxSubject>64</MaxSubject>
<RetriesOnBusy>4</RetriesOnBusy>
<RetriesOnRna>4</RetriesOnRna>
<RingsToWait>4</RingsToWait>
<RnaRetryInterval>15</RnaRetryInterval>
<SendCount>false</SendCount>
<WaitConnect>true</WaitConnect>
<MediaSwitchObjectId>6ecaa89b-2d29-4a21-8013-75c154ee58f5</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/6ecaa89b-2d29-4a21-8013-75c154ee58f5</PhoneSystemURI>
<TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode>
<DeviceName>Home Phone</DeviceName>
<PromptForId>false</PromptForId>
<SendCallerId>false</SendCallerId>
<SendPcaLink>false</SendPcaLink>
<Undeletable>true</Undeletable>
<MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName>
<DetectTransferLoop>false</DetectTransferLoop>
<SuccessRetryInterval>0</SuccessRetryInterval>
<RetriesOnSuccess>0</RetriesOnSuccess>
<EventList>NewVoiceMail</EventList>
<ScheduleSetObjectId>d7ea64ca-e3fc-4d0a-8bd5-ef2337a31b97</ScheduleSetObjectId>
<InitialDelay>0</InitialDelay>
<RepeatInterval>0</RepeatInterval>
<RepeatNotify>false</RepeatNotify>
</NotificationDevice>
<NotificationDevice>
<URI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/878de0bf-9169-4ef7-afe4-ec82998c2322</URI>
<SubscriberObjectId>70c5d764-b2f3-498a-b16e-1a4d2a369dfa</SubscriberObjectId>
<UserURI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa</UserURI>
<ObjectId>878de0bf-9169-4ef7-afe4-ec82998c2322</ObjectId>
<DisplayName>Mobile Phone</DisplayName>
<Active>false</Active>
<BusyRetryInterval>5</BusyRetryInterval>
<Conversation>SubNotify</Conversation>
<Type>1</Type>
<DialDelay>1</DialDelay>
<MaxBody>512</MaxBody>
<MaxSubject>64</MaxSubject>
<RetriesOnBusy>4</RetriesOnBusy>
<RetriesOnRna>4</RetriesOnRna>
<RingsToWait>4</RingsToWait>
<RnaRetryInterval>15</RnaRetryInterval>
<SendCount>false</SendCount>
<WaitConnect>true</WaitConnect>
<MediaSwitchObjectId>6ecaa89b-2d29-4a21-8013-75c154ee58f5</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/6ecaa89b-2d29-4a21-8013-75c154ee58f5</PhoneSystemURI>
<TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode>
<DeviceName>Mobile Phone</DeviceName>
<PromptForId>false</PromptForId>
<SendCallerId>false</SendCallerId>
<SendPcaLink>false</SendPcaLink>
<Undeletable>true</Undeletable>
<MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName>
<DetectTransferLoop>false</DetectTransferLoop>
<SuccessRetryInterval>0</SuccessRetryInterval>
<RetriesOnSuccess>0</RetriesOnSuccess>
Cisco Unity Connection Provisioning Interface (CUPI) API
202
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Listing and Viewing Notification Devices
Page 235
<EventList>NewVoiceMail</EventList>
<ScheduleSetObjectId>d7ea64ca-e3fc-4d0a-8bd5-ef2337a31b97</ScheduleSetObjectId>
<InitialDelay>0</InitialDelay>
<RepeatInterval>0</RepeatInterval>
<RepeatNotify>false</RepeatNotify>
</NotificationDevice>
<NotificationDevice>
<URI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/3a314c33-a69f-4179-a260-0c84a4520b3b</URI>
<SubscriberObjectId>70c5d764-b2f3-498a-b16e-1a4d2a369dfa</SubscriberObjectId>
<UserURI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa</UserURI>
<ObjectId>3a314c33-a69f-4179-a260-0c84a4520b3b</ObjectId>
<DisplayName>Work Phone</DisplayName>
<Active>true</Active>
<AfterDialDigits>1701</AfterDialDigits>
<BusyRetryInterval>5</BusyRetryInterval>
<Conversation>SubNotify</Conversation>
<Type>1</Type>
<DialDelay>1</DialDelay>
<MaxBody>512</MaxBody>
<MaxSubject>64</MaxSubject>
<PhoneNumber>3475</PhoneNumber>
<RetriesOnBusy>4</RetriesOnBusy>
<RetriesOnRna>4</RetriesOnRna>
<RingsToWait>4</RingsToWait>
<RnaRetryInterval>15</RnaRetryInterval>
<SendCount>false</SendCount>
<WaitConnect>false</WaitConnect>
<MediaSwitchObjectId>6ecaa89b-2d29-4a21-8013-75c154ee58f5</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/6ecaa89b-2d29-4a21-8013-75c154ee58f5</PhoneSystemURI>
<TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode>
<DeviceName>Work Phone</DeviceName>
<PromptForId>true</PromptForId>
<SendCallerId>false</SendCallerId>
<SendPcaLink>false</SendPcaLink>
<Undeletable>true</Undeletable>
<MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName>
<DetectTransferLoop>false</DetectTransferLoop>
<SuccessRetryInterval>0</SuccessRetryInterval>
<RetriesOnSuccess>0</RetriesOnSuccess>
<EventList>AllMessage</EventList>
<ScheduleSetObjectId>d7ea64ca-e3fc-4d0a-8bd5-ef2337a31b97</ScheduleSetObjectId>
<InitialDelay>5</InitialDelay>
<RepeatInterval>15</RepeatInterval>
<RepeatNotify>true</RepeatNotify>
<FailDeviceObjectId>0f4ce029-1939-4ae0-9dee-9d84c77fadae</FailDeviceObjectId>
</NotificationDevice>
<NotificationDevice>
<URI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/3e7f802b-d707-489f-b241-399ab67a0dc3</URI>
<SubscriberObjectId>70c5d764-b2f3-498a-b16e-1a4d2a369dfa</SubscriberObjectId>
<UserURI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa</UserURI>
<ObjectId>3e7f802b-d707-489f-b241-399ab67a0dc3</ObjectId>
<DisplayName>SMTP</DisplayName>
<Active>false</Active>
<BusyRetryInterval>0</BusyRetryInterval>
<Type>4</Type>
<DialDelay>0</DialDelay>
<MaxBody>512</MaxBody>
<MaxSubject>64</MaxSubject>
Cisco Unity Connection Provisioning Interface (CUPI) API
203
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Listing and Viewing Notification Devices
Page 236
<RetriesOnBusy>0</RetriesOnBusy>
<RetriesOnRna>0</RetriesOnRna>
<RingsToWait>0</RingsToWait>
<RnaRetryInterval>0</RnaRetryInterval>
<SendCount>true</SendCount>
<WaitConnect>false</WaitConnect>
<TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode>
<DeviceName>SMTP</DeviceName>
<PromptForId>false</PromptForId>
<SendCallerId>true</SendCallerId>
<SendPcaLink>false</SendPcaLink>
<Undeletable>true</Undeletable>
<DetectTransferLoop>false</DetectTransferLoop>
<SuccessRetryInterval>0</SuccessRetryInterval>
<RetriesOnSuccess>0</RetriesOnSuccess>
<EventList>NewVoiceMail</EventList>
<ScheduleSetObjectId>d7ea64ca-e3fc-4d0a-8bd5-ef2337a31b97</ScheduleSetObjectId>
<InitialDelay>0</InitialDelay>
<RepeatInterval>0</RepeatInterval>
<RepeatNotify>false</RepeatNotify>
</NotificationDevice>
</NotificationDevices>
Listing and Viewing Specialized Devices
The following is an example of a GET that lists all Phone Devices for the specified User. Listing all specialized
devices of other types is very similar; simply do a GET to the pagerdevices, smsdevices, or smtpdevices
resource, rather than to the phonedevices resource.
GET https://<connection-server>/vmrest/users/<UserObjectId>/notificationdevices/phonedevices
The following is the response from the above GET request. Note that each returned resource is a Phone Device
rather than a Notification Device since the request was for Phone Devices only.
Cisco Unity Connection Provisioning Interface (CUPI) API
204
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Listing and Viewing Specialized Devices
Page 237
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<PhoneDevices total="3">
<PhoneDevice>
<URI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/phonedevices/3a314c33-a69f-4179-a260-0c84a4520b3b</URI>
<TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode>
<AfterDialDigits>1701</AfterDialDigits>
<BusyRetryInterval>5</BusyRetryInterval>
<Conversation>SubNotify</Conversation>
<DialDelay>1</DialDelay>
<PhoneNumber>3475</PhoneNumber>
<RetriesOnBusy>4</RetriesOnBusy>
<RetriesOnRna>4</RetriesOnRna>
<RingsToWait>4</RingsToWait>
<RnaRetryInterval>15</RnaRetryInterval>
<WaitConnect>false</WaitConnect>
<MediaSwitchObjectId>6ecaa89b-2d29-4a21-8013-75c154ee58f5</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/6ecaa89b-2d29-4a21-8013-75c154ee58f5</PhoneSystemURI>
<ObjectId>3a314c33-a69f-4179-a260-0c84a4520b3b</ObjectId>
<Active>true</Active>
<DeviceName>Work Phone</DeviceName>
<DisplayName>Work Phone</DisplayName>
<MaxBody>512</MaxBody>
<MaxSubject>64</MaxSubject>
<SubscriberObjectId>70c5d764-b2f3-498a-b16e-1a4d2a369dfa</SubscriberObjectId>
<UserURI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa</UserURI>
<PromptForId>true</PromptForId>
<Undeletable>true</Undeletable>
<DetectTransferLoop>false</DetectTransferLoop>
<EventList>AllMessage</EventList>
<ScheduleSetObjectId>d7ea64ca-e3fc-4d0a-8bd5-ef2337a31b97</ScheduleSetObjectId>
<InitialDelay>5</InitialDelay>
<RepeatInterval>15</RepeatInterval>
<RepeatNotify>true</RepeatNotify>
<FailDeviceObjectId>0f4ce029-1939-4ae0-9dee-9d84c77fadae</FailDeviceObjectId>
</PhoneDevice>
<PhoneDevice>
<URI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/phonedevices/0f4ce029-1939-4ae0-9dee-9d84c77fadae</URI>
<TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode>
<BusyRetryInterval>5</BusyRetryInterval>
<Conversation>SubNotify</Conversation>
<DialDelay>1</DialDelay>
<RetriesOnBusy>4</RetriesOnBusy>
<RetriesOnRna>4</RetriesOnRna>
<RingsToWait>4</RingsToWait>
<RnaRetryInterval>15</RnaRetryInterval>
<WaitConnect>true</WaitConnect>
<MediaSwitchObjectId>6ecaa89b-2d29-4a21-8013-75c154ee58f5</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/6ecaa89b-2d29-4a21-8013-75c154ee58f5</PhoneSystemURI>
<ObjectId>0f4ce029-1939-4ae0-9dee-9d84c77fadae</ObjectId>
<Active>false</Active>
<DeviceName>Home Phone</DeviceName>
<DisplayName>Home Phone</DisplayName>
<MaxBody>512</MaxBody>
Cisco Unity Connection Provisioning Interface (CUPI) API
205
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Listing and Viewing Specialized Devices
Page 238
<MaxSubject>64</MaxSubject>
<SubscriberObjectId>70c5d764-b2f3-498a-b16e-1a4d2a369dfa</SubscriberObjectId>
<UserURI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa</UserURI>
<PromptForId>false</PromptForId>
<Undeletable>true</Undeletable>
<DetectTransferLoop>false</DetectTransferLoop>
<EventList>NewVoiceMail</EventList>
<ScheduleSetObjectId>d7ea64ca-e3fc-4d0a-8bd5-ef2337a31b97</ScheduleSetObjectId>
<InitialDelay>0</InitialDelay>
<RepeatInterval>0</RepeatInterval>
<RepeatNotify>false</RepeatNotify>
</PhoneDevice>
<PhoneDevice>
<URI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/phonedevices/878de0bf-9169-4ef7-afe4-ec82998c2322</URI>
<TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode>
<BusyRetryInterval>5</BusyRetryInterval>
<Conversation>SubNotify</Conversation>
<DialDelay>1</DialDelay>
<RetriesOnBusy>4</RetriesOnBusy>
<RetriesOnRna>4</RetriesOnRna>
<RingsToWait>4</RingsToWait>
<RnaRetryInterval>15</RnaRetryInterval>
<WaitConnect>true</WaitConnect>
<MediaSwitchObjectId>6ecaa89b-2d29-4a21-8013-75c154ee58f5</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/6ecaa89b-2d29-4a21-8013-75c154ee58f5</PhoneSystemURI>
<ObjectId>878de0bf-9169-4ef7-afe4-ec82998c2322</ObjectId>
<Active>false</Active>
<DeviceName>Mobile Phone</DeviceName>
<DisplayName>Mobile Phone</DisplayName>
<MaxBody>512</MaxBody>
<MaxSubject>64</MaxSubject>
<SubscriberObjectId>70c5d764-b2f3-498a-b16e-1a4d2a369dfa</SubscriberObjectId>
<UserURI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa</UserURI>
<PromptForId>false</PromptForId>
<Undeletable>true</Undeletable>
<DetectTransferLoop>false</DetectTransferLoop>
<EventList>NewVoiceMail</EventList>
<ScheduleSetObjectId>d7ea64ca-e3fc-4d0a-8bd5-ef2337a31b97</ScheduleSetObjectId>
<InitialDelay>0</InitialDelay>
<RepeatInterval>0</RepeatInterval>
<RepeatNotify>false</RepeatNotify>
</PhoneDevice>
/PhoneDevices>
Listing of HTML Notification Device for a User (in Cisco Unity Connection 9.0(1) and Later)
The following is an example of the GET request that lists the HTML notification devices for a user:
GET /vmrest/users/<userobjectid>/notificationdevices/htmldevices
The following is the response from the above GET request:
Cisco Unity Connection Provisioning Interface (CUPI) API
206
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Listing of HTML Notification Device for a User (in Cisco Unity Connection 9.0(1) and Later)
Page 239
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<HtmlDevices total="2">
<HtmlDevice>
<URI>/vmrest/users/24cb82fc-5153-4c3f-abc7-ef442b27b4e9/notificationdevices/htmldevices/eb8af2c7-1466-4d36-9f8a-957c001ad4c5</URI>
<Active>false</Active>
<CallbackNumber></CallbackNumber>
<DeviceName>HTML</DeviceName>
<DisableMobileNumberFromPCA>false</DisableMobileNumberFromPCA>
<DisplayName>HTML</DisplayName>
<NotificationTemplateID>a00ea2a4-623e-414e-bf9c-a15c77075766</NotificationTemplateID>
<ObjectId>eb8af2c7-1466-4d36-9f8a-957c001ad4c5</ObjectId>
<PhoneNumber></PhoneNumber>
<SmtpAddress></SmtpAddress>
<Undeletable>true</Undeletable>
<SubscriberObjectId>24cb82fc-5153-4c3f-abc7-ef442b27b4e9</SubscriberObjectId>
<UserURI>/vmrest/users/24cb82fc-5153-4c3f-abc7-ef442b27b4e9</UserURI>
<EventList>NewVoiceMail</EventList>
<ScheduleSetObjectId>e6706d47-257f-4e24-bf9f-a182bb3b2633</ScheduleSetObjectId>
<InitialDelay>0</InitialDelay>
<RepeatInterval>0</RepeatInterval>
<RepeatNotify>false</RepeatNotify>
</HtmlDevice>
<HtmlDevice>
<URI>/vmrest/users/24cb82fc-5153-4c3f-abc7-ef442b27b4e9/notificationdevices/htmldevices/64d260ca-7f09-46df-be87-88cd3ba9c5e3</URI>
<Active>false</Active>
<DeviceName>SMTP</DeviceName>
<DisableMobileNumberFromPCA>true</DisableMobileNumberFromPCA>
<DisplayName>HTML_3</DisplayName>
<NotificationTemplateID>103c4514-db6e-489b-bc08-e9e131b60099</NotificationTemplateID>
<ObjectId>64d260ca-7f09-46df-be87-88cd3ba9c5e3</ObjectId>
<Undeletable>true</Undeletable>
<SubscriberObjectId>24cb82fc-5153-4c3f-abc7-ef442b27b4e9</SubscriberObjectId>
<UserURI>/vmrest/users/24cb82fc-5153-4c3f-abc7-ef442b27b4e9</UserURI>
<EventList>NewVoiceMail</EventList>
<ScheduleSetObjectId>e6706d47-257f-4e24-bf9f-a182bb3b2633</ScheduleSetObjectId>
<InitialDelay>0</InitialDelay>
<RepeatInterval>0</RepeatInterval>
<RepeatNotify>false</RepeatNotify>
</HtmlDevice>
</HtmlDevices>
Listing Properties of an HTML Notification Device (in Cisco Unity Connection 9.0(1) and Later)
The following is an example of the GET request that displays the properties for a particular HTML notification
device:
GET /vmrest/users/<userobjectid>/notificationdevices/htmldevices/<deviceid>
The following is the response from the above GET request:
Cisco Unity Connection Provisioning Interface (CUPI) API
207
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Listing Properties of an HTML Notification Device (in Cisco Unity Connection 9.0(1) and Later)
Page 240
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<HtmlDevice>
<URI>/vmrest/users/24cb82fc-5153-4c3f-abc7-ef442b27b4e9/notificationdevices/htmldevices/64d260ca-7f09-46df-be87-88cd3ba9c5e3</URI>
<Active>false</Active>
<DeviceName>SMTP</DeviceName>
<DisableMobileNumberFromPCA>true</DisableMobileNumberFromPCA>
<DisplayName>HTML_3</DisplayName>
<NotificationTemplateID>103c4514-db6e-489b-bc08-e9e131b60099</NotificationTemplateID>
<ObjectId>64d260ca-7f09-46df-be87-88cd3ba9c5e3</ObjectId>
<Undeletable>true</Undeletable>
<SubscriberObjectId>24cb82fc-5153-4c3f-abc7-ef442b27b4e9</SubscriberObjectId>
<UserURI>/vmrest/users/24cb82fc-5153-4c3f-abc7-ef442b27b4e9</UserURI>
<EventList>NewVoiceMail</EventList>
<ScheduleSetObjectId>e6706d47-257f-4e24-bf9f-a182bb3b2633</ScheduleSetObjectId>
<InitialDelay>0</InitialDelay>
<RepeatInterval>0</RepeatInterval>
<RepeatNotify>false</RepeatNotify>
</HtmlDevice>
Searching
To retrieve a list of Notification Devices that meet a specified search criteria, add the following query parameter
to a GET: query=(column [is | startswith] value)
For example, to find all Notification Devices with a DisplayName that starts with "Phone":
GET
https://<connection-server>/vmrest/users/<UserObjectId/notificationdevices?query=(DisplayName%20startswith%20Home)
Search criteria can also be used when doing a GET to the specialized Device resources.
Creating
A generic Notification Device resource is read-only, so new ones cannot be created. However, the four
specialized Device resources are not read-only, so new ones can be created. Each of the four specialized
Device resources has different required parameters during creation.
Updating
A generic Notification Device resource is read-only, so Notification Devices cannot be updated. However,
the five specialized Device resources are not read-only, so an API user can update the appropriate specialized
Device resource.
Updating an Existing Phone Device
The following is an example of a PUT request that modifies the FailDeviceObjectId of an existing Phone
Device. The FailDeviceObjectId indicates which Notification Device to try if notification fails to the current
device, which allows you to setup a chain of Notification Devices.
Cisco Unity Connection Provisioning Interface (CUPI) API
208
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Searching
Page 241
PUT
https://<connection-server>/vmrest/users/<UserObjectId>/notificationdevices/phonedevices/2e377eba-a924-434b-b967-bac3815551d3
<PhoneDevice>
<FailDeviceObjectId>ac200457-284c-4951-b04a-4d76bd03235e</FailDeviceObjectId>
</PhoneDevice>
The following is the response from the above PUT request:
204
No Content
Updating other types of specialized Device resources is very similar; simply do a PUT to the appropriate
pagerdevice, smsdevice, or smtpdevice resource instead of a phonedevice resource.
Updating an HTML Notification Device to Apply the HTML Notification Template (in Cisco Unity
Connection 9.0(1) and Later)
The following is an example of the PUT request that modifies the HTML notification device as represented
by <deviceid>:
PUT /vmrest/users/<userobjectid>/notificationdevices/htmldevices/<deviceid>
<HtmlDevice>
<NotificationTemplateID>103c4514-db6e-489b-bc08-e9e131b60099</NotificationTemplateID>
</HtmlDevice>
The input for the PUT request will be XML or JSON as per HtmlDevice schema. The output for this request
returns the successful response code.
Deleting
A generic Notification Device resource is read-only, so Notification Devices cannot be deleted. However, the
four specialized Device resources are not read-only, so an API user can delete the appropriate specialized
Device resource, assuming its not one of the factory default Device resources (which are flagged as
Undeletable).
Explanation of Data Fields
The following chart lists all of the data fields available on Notification Devices, Phone Devices, Pager Devices,
SMS Devices, and SMTP Devices. In the Device Types column, "Base" means the generic Notification Device
resource. Note that on a GET to the generic Notification Device resource, you may receive data fields that
are meaningless for a particular type of device, so these fields can be safely ignored.
Explanation/Comments
Writable?
Device Type
Field Name
ObjectId of the Device
Read
Only
All
ObjectId
Auto-set during Create. 1=Phone, 2=Pager,
4=SMTP, 5=SMS
Read
Only
Base
Type
Factory default=false. For newly-created,
default=true
Read/Write
All
Active
Cisco Unity Connection Provisioning Interface (CUPI) API
209
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Updating an HTML Notification Device to Apply the HTML Notification Template (in Cisco Unity Connection 9.0(1) and Later)
Page 242
Explanation/Comments
Writable?
Device Type
Field Name
Extra-digits to dial after the Phone Number.
Default=null
Read/Write
Base, Phone, Pager
AfterDialDigits
Time in minutes to wait between retries if Busy.
Default=5
Read/Write
Base, Phone, Pager
BusyRetryInterval
Auto-set during Create.
Read
Only
Base, Phone
Conversation
Flags if Transfer Loop Detection is Enabled.
Default=false
Read/Write
Base, Phone
DetectTransferLoop
Friendly name for the Device type (not shown in
CUCA or CPCA). Default="Other"
Read/Write
All
DeviceName
Time in seconds to wait after Connect before dialing
AfterDialDigits (ignored if no AfterDialDigits).
Default=1
Read/Write
Base, Phone, Pager
DialDelay
Friendly name for the Device like "Mobile Phone"
Read/Write
All
DisplayName
Comma-delimited list of Events that trigger
Notification (see below). Default=NewVoiceMail
Read/Write
All
EventList
ObjectId of next Notification Device to use if this
one fails (to chain Notifications). Default=null
Read/Write
All
FailDeviceObjectid
Time in minutes to wait after a Message is received
before Notification is triggered. Default=0
Read/Write
All
InitialDelay
Maximum number of characters in the Body of a
Notification message. Default=512
Read/Write
All
MaxBody
Maximum number of characters in the Subject of a
Notification message. Default=64
Read/Write
All
MaxSubject
ObjectId of the Phone System to use for the Dial-out.
Read/Write
Base, Phone, Pager
MediaSwitchObjectId
Phone Number to dial to reach the Device.
Read/Write
Base, Phone, Pager
PhoneNumber
Flags if the User must enter their ID to get the
Notification message. Default=false
Read/Write
Base, Phone
PromptForId
Address of Message recipient
Read/Write
SMS
RecipientAddress
Time in minutes to wait before re-notifying of
messages. Default=0
Read/Write
All
RepeatInterval
Flags if Notification process should begin for each
newly arrived message. Default=false
Read/Write
All
RepeatNotify
Number of retry attempts if Busy. Default=4
Read/Write
Base, Phone, Pager
RetriesOnBusy
Number of retry attempts if RNA. Default=4
Read/Write
Base, Phone, Pager
RetriesOnRna
Number of retry attempts if successful. Default=0
Read/Write
Base, Phone
RetriesOnSuccess
Number of rings to wait for Connect before RNA.
Default=4
Read/Write
Base, Phone, Pager
RingsToWait
Cisco Unity Connection Provisioning Interface (CUPI) API
210
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Explanation of Data Fields
Page 243
Explanation/Comments
Writable?
Device Type
Field Name
Time in minutes to wait between retries if RNA.
Default=5
Read/Write
Base, Phone, Pager
RnaRetryInterval
ObjectId of the ScheduleSet during which
Notification may trigger. Default=AllHours
Read/Write
All
ScheduleSetObjectId
Flag to include CallerId in the Notification message.
Default=true
Read/Write
Base, Pager, SMS,
SMTP
SendCallerId
Flag to include the message counts in the
Notification message. Default=true
Read/Write
Base, Pager, SMS,
SMTP
SendCount
Address of Message sender. Default=null
Read/Write
SMS
SenderAddress
Flag to include a link to CPCA in the Notification
message. Default=false
Read/Write
Base, SMTP
SendPcaLink
ObjectId of the SMPP Provider
Read/Write
Base, SMS
SmppProviderObjectId
SMTP address to send the Notification message to
Read/Write
Base, SMTP
SmtpAddress
Static text to include in the Notification Message.
Default=null
Read/Write
Base, SMS, SMTP
StaticText
ObjectId of the User
Read
Only
All
SubscriberObjectId
Time in minutes to wait between retries if successful.
Default=0
Read/Write
Base, Pager
SuccessRetryInterval
Flags if an authorization code should be sent to
CUCM after the PhoneNumber is dialed.
Default=false
Read/Write
Base, Phone, Pager
TransmitForcedAuthorizationCode
Factory default=true. For newly-created,
default=false
Read
Only
All
Undeletable
Flags if need to wait for Connect before dialing
AfterDialDigits. Default=true
Read/Write
Base, Phone, Pager
WaitConnect
The EventList field is a comma-delimited list of Message types which could trigger Notification. It can contain
any of the following values. Note that Calendar Appointments and Meetings are not included in the AllMessage
or AllUrgentMessage categories, which just include voicemail, fax, and dispatch messages.
Description
Event Name
No messages of any type or urgency
None
All messages of all types and urgencies
AllMessage
All urgent messages of all types
AllUrgentMessage
Calender appointments
CalendarAppointment
Calendar meetings
CalendarMeeting
All dispatch messages
DispatchMessage
All urgent dispatch messages
UrgentDispatchMessage
Cisco Unity Connection Provisioning Interface (CUPI) API
211
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Explanation of Data Fields
Page 244
Description
Event Name
All fax messages
NewFax
All urgent fax messages
NewUrgentFax
All voicemail messages
NewVoiceMail
All urgent voicemail messages
NewUrgentVoiceMail
Cisco Unity Connection Provisioning Interface (CUPI) API --
Private List Members
Viewing
Every private list has members. To see the members of a private list, do the following GET:
GET /vmrest/users/<userobjectid>/privatelists/<privatelistobjectid>/privatelistmembers
Here is an example of the response you might receive to such a request:
Cisco Unity Connection Provisioning Interface (CUPI) API
212
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- Private List Members
Page 245
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<PrivateListMembers total="4">
<PrivateListMember>
<URI>/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/privatelists/
df523f3a-4e40-4d6d-9f80-72a5bc93331c/privatelistmembers/
4d390786-56a8-45e3-85a1-1c0933375b99</URI>
<PersonalVoiceMailListObjectId>df523f3a-4e40-4d6d-9f80-72a5bc93331c</PersonalVoiceMailListObjectId>
<PrivateListURI>/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/
privatelists/df523f3a-4e40-4d6d-9f80-72a5bc93331c</PrivateListURI>
<MemberSubscriberObjectId>444ded7b-e2b9-48c1-9aca-bcfda4372928</
MemberSubscriberObjectId>
<MemberUserURI>/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928</
MemberUserURI>
<ObjectId>4d390786-56a8-45e3-85a1-1c0933375b99</ObjectId>
<Alias>UserA</Alias>
<DisplayName>User A</DisplayName>
<Extension>1017</Extension>
</PrivateListMember>
<PrivateListMember>
<URI>/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/privatelists/
df523f3a-4e40-4d6d-9f80-72a5bc93331c/privatelistmembers/
4e16bf12-6383-46d9-ae32-9ca9a857ca4f</URI>
<PersonalVoiceMailListObjectId>df523f3a-4e40-4d6d-9f80-72a5bc93331c</PersonalVoiceMailListObjectId>
<PrivateListURI>/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/
privatelists/df523f3a-4e40-4d6d-9f80-72a5bc93331c</PrivateListURI>
<MemberDistributionListObjectId>4523ba2f-015c-414e-ad96-92aba431ed39</MemberDistributionListObjectId>
<MemberDistributionListURI>/vmrest/distributionlists/
4523ba2f-015c-414e-ad96-92aba431ed39</MemberDistributionListURI>
<ObjectId>4e16bf12-6383-46d9-ae32-9ca9a857ca4f</ObjectId>
<Alias>ListA</Alias>
<DisplayName>List A</DisplayName>
</PrivateListMember>
<PrivateListMember>
<URI>/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/privatelists/
df523f3a-4e40-4d6d-9f80-72a5bc93331c/privatelistmembers/
c61a60f6-0aa5-4c85-94ba-94fd6c167bd4</URI>
<PersonalVoiceMailListObjectId>df523f3a-4e40-4d6d-9f80-72a5bc93331c</PersonalVoiceMailListObjectId>
<PrivateListURI>/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/
privatelists/df523f3a-4e40-4d6d-9f80-72a5bc93331c</PrivateListURI>
<MemberPersonalVoiceMailListObjectId>48eb2b0f-15a8-4bdf-a3a0-098debed181d</MemberPersonalVoiceMailListObjectId>
<MemberPrivateListURI>/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/
privatelists/48eb2b0f-15a8-4bdf-a3a0-098debed181d</MemberPrivateListURI>
<ObjectId>c61a60f6-0aa5-4c85-94ba-94fd6c167bd4</ObjectId>
<Alias>UserA_48eb2b0f-15a8-4bdf-a3a0-098debed181d</Alias>
<DisplayName>2</DisplayName>
</PrivateListMember>
<PrivateListMember>
<URI>/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/privatelists/
df523f3a-4e40-4d6d-9f80-72a5bc93331c/privatelistmembers/
41295a7c-c9c0-45d3-8060-5a5038f0a49e</URI>
<PersonalVoiceMailListObjectId>df523f3a-4e40-4d6d-9f80-72a5bc93331c</PersonalVoiceMailListObjectId>
Cisco Unity Connection Provisioning Interface (CUPI) API
213
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Viewing
Page 246
<PrivateListURI>/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/
privatelists/df523f3a-4e40-4d6d-9f80-72a5bc93331c</PrivateListURI>
<ObjectId>41295a7c-c9c0-45d3-8060-5a5038f0a49e</ObjectId>
<MemberContactObjectId>27e58431-981f-4fbd-b667-69b1aaac89fd</
MemberContactObjectId>
<MemberContactURI>/vmrest/contacts/27e58431-981f-4fbd-b667-69b1aaac89fd</
MemberContactURI>
<Alias>ConA</Alias>
<DisplayName>Con A</DisplayName>
<Extension>1290390</Extension>
</PrivateListMember>
</PrivateListMembers>
Every member of a private list can be one of four objects: a user, a distribution list, another private list, or a
remote contact (a contact that can receive a message). Depending on which object the member is, different
fields are used to track the member information, which consists solely of an object id and a URI to that object.
The Alias, Display Name, and Extension of the member in question are also included. These fields are not
actual values on the private list member data object; instead, the values are looked up by the API when it
performs the GET.
Creating
The following POST adds a member to a private list. In this example, a user is being added to the private list
by simply providing the object id of the user.
POST /vmrest/users/<userobjectid>/privatelists/<privatelistobjectid>/
privatelistmembers
<?xml version="1.0" encoding="UTF-8"?>
<PrivateListMember>
<MemberSubscriberObjectId>9bc04f85-9ac4-42f8-9314-547408a6126c</
MemberSubscriberObjectId>
</PrivateListMember>
Use MemberDistributionListObjectId to add distribution lists to a private list. Use
MemberPersonalVoiceMailListObjectId to add other private lists, and use MemberContactObjectId to add
contacts.
Deleting
The following DELETE removes a member from a private list:
DELETE /vmrest/users/<userobjectid>/privatelists/<privatelistobjectid>/
privatelistmembers/<privatelistmemberobjectid>
Cisco Unity Connection Provisioning Interface (CUPI) API
214
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Creating
Page 247
Cisco Unity Connection Provisioning Interface (CUPI) API --
Private Lists
Viewing
Every user with a mailbox can have private lists. To see the private lists belonging to a user, do the following
GET request:
GET /vmrest/users/<user object id>/privatelists/
Here is an example of the response you might receive to such a request:
<?xml version="1.0" encoding="UTF-8"?>
<PrivateLists total="1">
<PrivateList>
<URI>/vmrest/users/f90d26fc-0e4a-405a-8c42-189a93129bdc/
privatelists/1f443e29-1d6b-4ef8-89a6-2767549e3577</URI>
<ObjectId>1f443e29-1d6b-4ef8-89a6-2767549e3577</ObjectId>
<DisplayName>1</DisplayName>
<UserObjectId>f90d26fc-0e4a-405a-8c42-189a93129bdc</UserObjectId>
<UserURI>/vmrest/users/f90d26fc-0e4a-405a-8c42-189a93129bdc</UserURI>
<DtmfName>1</DtmfName>
<Alias>UserA_1f443e29-1d6b-4ef8-89a6-2767549e3577</Alias>
<VoiceName>6ce746b7-d775-4bc4-9d19-8b6a55b9461d.wav</VoiceName>
<VoiceFileURI>/vmrest/voicefiles/
6ce746b7-d775-4bc4-9d19-8b6a55b9461d.wav</VoiceFileURI>
<NumericId>1</NumericId>
<IsAddressable>true</IsAddressable>
</PrivateList>
</PrivateLists>
Many of these fields are consistent with what you see on other objects. Specific fields that are unique to private
lists and require explanation are described below.
Private lists belong to specific users. The UserObjectId and UserURI field show that relationship.
DtmfName is a field with a value that is automatically generated every time the display name changes on the
private list. DtmfName holds the digits that would need to be dialed to address a message by name to this
group by phone.
Alias is a unique text name for the private list. The alias is automatically generated, and to ensure it is unique,
it is constructed by concatenating the user alias, an underscore and the private list's object id. The user's alias
is truncated to 28 characters to avoid overflow.
NumericId is the number of the private list. Private lists are numbered 1 through 99, and when addressing a
message by extension over the phone, the number can be used to choose the group.
IsAddressable is an odd flag. It flags whether or not the private list is addressable. By default, all private lists
are addressable.
Creating
The following POST creates a private list. In this example, it would be private list 2.
Cisco Unity Connection Provisioning Interface (CUPI) API
215
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- Private Lists
Page 248
POST /vmrest/users/<user object id>/privatelists
<?xml version="1.0" encoding="UTF-8"?>
<PrivateList>
<DisplayName>2</DisplayName>
<VoiceName>6ce746b7-d775-4bc4-9d19-8b6a55b9461d.wav</VoiceName>
<NumericId>2</NumericId>
</PrivateList>
These are the only three parameters that can be explicitly set on a new private list. The other parameters are
not allowed on a POST, either defaulting to a certain value or being auto-generated as discussed above. The
ObjectId can be explicitly set if desired, but that is optional.
Updating
Only the following fields can be updated in a PUT request:
• DisplayName
• VoiceName
• NumericId
The following example shows a PUT request that modifies some fields, changing a private list to private list
6.
PUT /vmrest/users/<user object id>/privatelists/<private list object id>
<?xml version="1.0" encoding="UTF-8"?>
<PrivateList>
<DisplayName>6</DisplayName>
<NumericId>6</NumericId>
</PrivateList>
Deleting
A private list can be deleted by a DELETE request:
DELETE /vmrest/users/<user object id>/privatelists/<private list object id>
Voice Names
Creating a voice name for a private list (or for any object exposed in CUPI) is a multi-step process.
Step 1: Create a place-holder for the WAV file by doing a POST:
POST /vmrest/voicefiles
The name of the WAV file will be included in the response.
201
Created
6f9c6d05-42e5-48e3-8d07-204250af320d.wav
Step 2: Take the name returned in Step 1, and do a PUT where the HTTP content type is "audio/wav" and
the payload content is the audio data:
Cisco Unity Connection Provisioning Interface (CUPI) API
216
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Updating
Page 249
PUT /vmrest/voicefiles/6f9c6d05-42e5-48e3-8d07-204250af320d.wav
Step 3: Take the name of the WAV file and do a PUT request on the private list whose voice name you want
to set:
PUT /vmrest/users/<user object id>/privatelists/<private list object id>
<?xml version="1.0" encoding="UTF-8"?>
<PrivateList>
<VoiceName>6ce746b7-d775-4bc4-9d19-8b6a55b9461d.wav</VoiceName>
</PrivateList>
The voice name can always be retrieved through the voice name URI, it will return the audio of the greeting
as an "audio/wav" media type:
GET /vmrest/voicefiles/6f9c6d05-42e5-48e3-8d07-204250af320d.wav
Cisco Unity Connection Provisioning Interface (CUPI) API --
SMTP Proxy Addresses
About SMTP Proxy Addresses
This page contains information on how to use the API to list SMTP Proxy Addresses.
Listing and Viewing
The following is an example of a GET that lists all <element name>:
GET http://<connection-server>/vmrest/smtpproxyaddresses
The following is the response from the above GET request:
Cisco Unity Connection Provisioning Interface (CUPI) API
217
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- SMTP Proxy Addresses
Page 250
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<SmtpProxyAddresses total="2">
<SmtpProxyAddress>
<URI>/vmrest/smtpproxyaddresses/9fd21b87-1509-42f1-88ce-3f36122c68ee</URI>
<ObjectId>9fd21b87-1509-42f1-88ce-3f36122c68ee</ObjectId>
<SmtpAddress>somedude@somewhere.com</SmtpAddress>
<ObjectGlobalUserObjectId>0804bda6-953c-4271-b44a-0830c1429af2</ObjectGlobalUserObjectId>
<ObjectGlobalUserURI>/vmrest/globalusers/0804bda6-953c-4271-b44a-0830c1429af2</ObjectGlobalUserURI>
</SmtpProxyAddress>
<SmtpProxyAddress>
<URI>/vmrest/smtpproxyaddresses/fc107ad8-b9e5-409e-b0bc-62e295c7532e</URI>
<ObjectId>fc107ad8-b9e5-409e-b0bc-62e295c7532e</ObjectId>
<SmtpAddress>someotherdude@somewhereelse.com</SmtpAddress>
<ObjectGlobalUserObjectId>0804bda6-953c-4271-b44a-0830c1429af2</ObjectGlobalUserObjectId>
<ObjectGlobalUserURI>/vmrest/globalusers/0804bda6-953c-4271-b44a-0830c1429af2</ObjectGlobalUserURI>
</SmtpProxyAddress>
</SmtpProxyAddresses>
To retrieve a sorted list of all SMTP Proxy Addresses, add the following query parameter: sort=(column [asc
| desc])
For example, to retrieve a list of all SMTP Proxy Addresses sorted by SMTP Address in ascending order:
GET http://<connection-server>vmrest/smtpproxyaddresses?sort=(smtpaddress%20asc)
To retrieve a specific SMTP Proxy Address by its object ID:
GET http://<connection-server>/vmrest/smtpproxyaddresses/<objectid>
An SMTP Proxy Address can belong to one of four different objects: a global user, a contact, a distribution
list, or a private list. In the above example, both SMTP Proxy Addresses belong to a user because
ObjectGlobalUserObjectId property is set. The SMTP Proxy Address belongs to a contact if the
ObjectContactObjectId property is set, a distribution list if the ObjectDistributionListObjectId property is set,
or a private list if the ObjectPersonalGroupObjectId is set.
Searching
To retrieve a list of SMTP Proxy Addresses that meet a specified search criteria, add the following query
parameter to a GET: query=(column [is | startswith] value)
For example, to find all SMTP Proxy Addresses with an SMTP Address that starts with "a":
GET http://<connection-server>/vmrest/smtpproxyaddresses?query=(smtpaddress%20startswith%20a)
The following properties can be used for searching and sorting SMTP Proxy Addresses:
• SmtpAddress
• ObjectId
• ObjectContactObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
218
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Searching
Page 251
• ObjectDistributionListObjectId
• ObjectGlobalUserObjectId
• ObjectPersonalGroupObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API --
User Import
LDAP Import
A GET of an LDAP user will have a phone number. When a user is imported, an LDAP import must specify
a dtmfAccessId in the payload (this is often based on the phone number).
In this document, <type> in a URI refers to ldap value.
Initial Configuration
Before any LDAP users can be imported, the LDAP synchronization has to be set as described in the LDAP
Directory Integration with Cisco Unity Connection 10.x chapter of Design Guide for Cisco Unity Connection
Release 10.x available at https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/connection/10x/design/guide/
10xcucdgx.html.
GET a List of Users That Can Be Imported
GET http://<server>/vmrest/import/users/<type>
Only users that are eligible for import are returned; users that are already imported are not in this list.
Offset and Limit Parameters Can Be Part of the ldap Query
http://<server>/vmrest/import/users/<type>?offset=x&limit=y
Note the following:
• Either parameter can be specified individually
• If the offset exceeds the number of entries, the response is an empty list
• If no limit is specified and more than 2000 results are returned, the response is an error
Filter and Sort
To put constraints on search results, LDAP requests support the CUPI standard filter and sort parameters.
Example
GET /vmrest/import/users/ldap?limit=5 HTTP/1.1
Accept: application/json
User-Agent: Java/1.6.0_20
Host: cuc-install-69.cisco.com
Connection: keep-alive
Authorization: Basic Y2NtYWRtaW5pc3RyYXRvcjplY3NidWxhYg==
Cisco Unity Connection Provisioning Interface (CUPI) API
219
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Import
Page 252
The GET above would produce the following response:
HTTP/1.1 200 OK
Pragma: No-cache
Cache-Control: no-cache
Expires: Wed, 31 Dec 1969 16:00:00 PST
Set-Cookie: JSESSIONIDSSO=11D3599617B30496BAD4BF2BB4C23B32; Path=/
Set-Cookie: JSESSIONID=2D9E4ACB334EF6DED8734E51EDDDB7F9; Path=/vmrest
Content-Type: application/json
Transfer-Encoding: chunked
Date: Wed, 28 Apr 2010 19:39:03 GMT
Server:
{"ImportUser":[{"alias":"ui","firstName":"unity","lastName":"instal","pkid":"af7dea71-d6c7-47d9-b1db-419073cf6c"},{"alias":"um","firstName":"unity","lastName":"msgstore","pkid":"452ca72-57e5-464-a14c-f6e147a6e54"},{"alias":"ud","firstName":"unity","lastName":"dirsvc","pkid":"8bf502-64f2-425-9381-7f524aea491"},{"alias":"ua","firstName":"unity","lastName":"admin","pkid":"7dba5d6-9ea-4a92-8513-a9454141d27c"},{"alias":"S-SvrG","firstName":"Sonya","lastName":"ServerG","pkid":"aca43d25-4a3-4270-a174-e5e9f1c3b5b5"}]}
Import a User
POST http://<server>/vmrest/import/users/<type>?templateAlias=<voice mail user template>
with an ImportUser object as payload
An important point here is that because these users are imported, almost all values come from the internal
database. One exception for an LDAP import is the dtmfAccessId. The dtmfAccessId data is not available in
the internal database, so an LDAP import must specify both a pkid and a dtmfAccessId.
For example:
POST /vmrest/import/users/ldap?templateAlias=voicemailusertemplate HTTP/1.1
Content-Type: application/json
User-Agent: Java/1.6.0_20
Host: cuc-install-69.cisco.com
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
Authorization: Basic Y2NtYWRtaW5pc3RyYXRvcjplY3NidWxhYg==
Content-Length: 126
{"alias":"sdavis","firstName":"sonya","lastName":"davis","dtmfAccessId":"12123","pkid":"c2e2bf1c-f249-40e5-b7b8-31a5b0333647"}
The POST above would produce the following response:
HTTP/1.1 201 Created
Cisco Unity Connection Provisioning Interface (CUPI) API
220
Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings
Import a User
Page 253
C H A P T E R 31
License Users Entitlement
• Cisco Unity Connection Provisioning Interface (CUPI) API -- License User Entitlement, on page 221
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Bulk User License, on page 223
Cisco Unity Connection Provisioning Interface (CUPI) API --
License User Entitlement
License User Entitlement APIs
Administrator can use this API to fetch users belonging to a tenant and their license information which includes
messaging and Speech view.
Listing the Users with Their Licensing Details Who Belongs to a Particular Tenant
Obtain the Object ID of the tenant that you want to list the user licenses for:
GET https://<connection-server>/vmrest/tenants
Perform a GET operation on the tenant Objec tID using the following URI to list all the user licenses:
GET
https://<connection-server>/vmrest/tenants/c9d9c29d-4a81-47b5-9296-34b193cff5bb/userlicenses
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<UserLicenses total="1">
<UserLicense>
<Alias>raman@Texoma.com</Alias>
<DtmfAccessId>1234</DtmfAccessId>
<Messaging>Basic</Messaging>
<SpeechView>Speech View Standard</SpeechView>
</UserLicense></UserLicenses
Response Code: 200
JSON Example
Cisco Unity Connection Provisioning Interface (CUPI) API
221

Page 254
To list all the user licenses, use the following:
Request URI:
GET
https://<connection-server>/vmrest/tenants/c9d9c29d-4a81-47b5-9296-34b193cff5bb/userlicenses
Accept: application /json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"@total": "1",
"UserLicense":
[
{
"Alias": "raman",
"DtmfAccessId": "1234",
"PartitionObjectId": "6a4ac446-8b88-4456-aad7-099f249958fa",
"Messaging": "Basic",
"SpeechView": "Speech View Standard"
}
]
}
Response Code: 200
List Users by Performing an Query
Users can be queried based on all the fields of the License User Entitlement API, namely, Alias, DtmfAccessId,
Messaging, SpeechView.
Obtain the Object ID of the tenant that you want to list the user licenses for:
GET https://<connection-server>/vmrest/tenants
Perform a GET operation on the tenant Object ID using the following URI to list the user licenses:
GET https://<connection-server>/vmrest/tenants/c9d9c29d-4a81-47b5-9296-
34b193cff5bb/userlicenses?query=(DtmfAccessId%20is%201234)
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<UserLicenses total="1">
<UserLicense>
<Alias>raman@Texoma.com</Alias>
<DtmfAccessId>1234</DtmfAccessId>
<Messaging>Basic</Messaging>
<SpeechView>Speech View Standard</SpeechView>
</UserLicense>
</UserLicenses>
Response Code: 200
JSON Example
To list the user licenses, do the following:
Cisco Unity Connection Provisioning Interface (CUPI) API
222
License Users Entitlement
List Users by Performing an Query
Page 255
Request URI:
GET https://<connection-server>/vmrest/tenants/c9d9c29d-4a81-47b5-9296-
34b193cff5bb/userlicenses?query=(DtmfAccessId%20is%201234)
Accept: application /json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"@total": "1",
"UserLicense": [{
"Alias": "raman",
"DtmfAccessId": "1234",
"PartitionObjectId": "6a4ac446-8b88-4456-aad7-099f249958fa",
"Messaging": "Basic",
"SpeechView": "Speech View Standard"
} ]
}
Response Code: 200
Explanation of Data Fields
Comments
Data
Type
Operations
Parameters
The Alias of the user belonging to a Tenant.
String(64)
Read
Only
Alias
The DTMF access id (i.e., extension) of the subscriber.
String(40)
Read
Only
dtmfAccessId
Licensing Tag either Basic, Enhanced, Enhanced+
String
Read
Only
Messaging
It is a licensing Tag that specifies the transcription service. Speech View
Standard or Speech View Pro. This field is not displayed when users do
not use the transcription service.
String
Read
Only
SpeechView
Cisco Unity Connection Provisioning Interface (CUPI) API --
Bulk User License
Bulk User License APIs
The administrator uses this API to fetch all the users along with the license detail of each user. This API works
in both Multi Tenancy Mode and Non Multi Tenancy Mode of Cisco Unity Connection.
If the number of users is more than 20000, the Bulk User License API performs pagination and fetches the
smaller number of users.
Cisco Unity Connection Provisioning Interface (CUPI) API
223
License Users Entitlement
Explanation of Data Fields
Page 256
In Cisco Unity Connection 10.0(1) and later, TenantId in API response is available in Tenant Partitioning.
Note
Listing the Users with Their License Details
Perform a GET operation to list the users along with their license details:
Get https://<connection-server>/vmrest/userlicenses
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<UserLicenses total="2">
<UserLicense>
<Alias>user1@Tenant1.com</Alias>
<Messaging>Basic</Messaging>
<SpeechView>Speech View Pro</SpeechView>
<TenantId>Tenant1</TenantId>
</UserLicense>
<UserLicense>
<Alias>user2@Tenant1.com</Alias>
<Messaging>Basic</Messaging>
<SpeechView>Speech View Pro</SpeechView>
<TenantId>Tenant1</TenantId>
</UserLicense>
</UserLicenses>
Response Code: 200
JSON Example
To list all the users along with their license details, use the following:
Request URI:
GET
https://<connection-server>/vmrest/userlicenses
Accept: application /json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"@total": "2",
"UserLicense":
[
{
"Alias": "user1@Tenant1.com",
"Messaging": "Basic",
"TenantId": "Tenant1"
},
{
"Alias": "user2@Tenant1.com",
"Messaging": "Basic",
"TenantId": "Tenant1"
}
]
}
Cisco Unity Connection Provisioning Interface (CUPI) API
224
License Users Entitlement
Listing the Users with Their License Details

Page 257
Response Code: 200
Listing Users with License Details Using Pagination
To list the users along with their license details using pagination, pass the value in the properties "rowsPerPage"
and "pageNumber". By default the value of "rowsPerPage" is 2001.
Perform a GET operation to list the users along with their license details using pagination:
Get https://<connection-server>/vmrest/userlicenses?rowsPerPage=1&pageNumber=1
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<UserLicenses total="1">
<UserLicense>
<Alias>user1@Tenant1.com</Alias>
<Messaging>Basic</Messaging>
<SpeechView>Speech View Standard</SpeechView>
<TenantId>Tenant1</TenantId>
</UserLicense>
</UserLicenses>
Response Code: 200
JSON Example
To list all the users along with their license details using pagination, use the following:
Request URI:
GET
https://<connection-server>/vmrest/userlicenses?rowsPerPage=1&pageNumber=1
Accept: application /json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"@total": "1",
"UserLicense":
{
"Alias": "user1@Tenant1.com",
"Messaging": "Basic",
"SpeechView": "Speech View Standard",
"TenantId": "Tenant1"
}
}
Response Code: 200
List the Number of Users Using Licenses
To List the number of users using licenses, pass the value 0 in the property "rowsPerPage" or "pageNumber".
Perform a GET operation to list the number of users using licenses:
Get https://<connection-server>/vmrest/userlicenses?pageNumber=0
Cisco Unity Connection Provisioning Interface (CUPI) API
225
License Users Entitlement
Listing Users with License Details Using Pagination
Page 258
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<UserLicenses total="2"/>
Response Code: 200
JSON Response
To list all the number of users using licenses, use the following:
Request URI:
GET
https://<connection-server>/vmrest/userlicenses?pageNumber=0
Accept: application /json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{"@total": "2"}
Response Code: 200
Listing Users Using Same Type of Licenses
To list the users that are using same type of licenses, pass the "query" parameter.
Perform a GET operation to list the number of users using licenses:
Get https://<connection-server>/vmrest/userlicenses?query=(Messaging is Basic)
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<UserLicenses total="2">
<UserLicense>
<Alias>user1@Tenant1.com</Alias>
<Messaging>Basic</Messaging>
<SpeechView>Speech View Standard</SpeechView>
<TenantId>Tenant1</TenantId>
</UserLicense>
<UserLicense>
<Alias>user2@Tenant1.com</Alias>
<Messaging>Basic</Messaging>
<SpeechView>Speech View Standard</SpeechView>
<TenantId>Tenant1</TenantId>
</UserLicense>
</UserLicenses>
<pre>
<pre>
Response Code: 200
JSON Example
To list the number of users using same type of licenses, use the following:
Cisco Unity Connection Provisioning Interface (CUPI) API
226
License Users Entitlement
Listing Users Using Same Type of Licenses
Page 259
Request URI:
GET
https://<connection-server>/vmrest/userlicenses?query=(Messaging is Basic)
Accept: application /json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"@total": "2",
"UserLicense":
[
{
"Alias": "user1@Tenant1.com",
"Messaging": "Basic",
"SpeechView": "Speech View Standard",
"TenantId": "Tenant1"
},
{
"Alias": "user2@Tenant1.com",
"Messaging": "Basic",
"SpeechView": "Speech View Standard",
"TenantId": "Tenant1"
}
]
}
Response Code: 200
Listing License Details of a Particular User
To list the license of a particular user, pass the "query" parameter.
Perform a GET operation to list the number of users using licenses:
Get https://<connection-server>/vmrest/userlicenses?query=(Alias is user1)
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<UserLicenses total="1">
<UserLicense>
<Alias>user1</Alias>
<Messaging>Basic</Messaging>
<SpeechView>Speech View Standard</SpeechView>
<TenantId>Tenant1</TenantId>
</UserLicense>
</UserLicenses>
Response Code: 200
JSON Response
To list the license of a particular user, use the following:
Request URI:
GET
https://ucbu-aricent-vm259.cisco.com/vmrest/userlicenses?query=(Alias is user1)
Accept: application /json
Connection: keep-alive
Cisco Unity Connection Provisioning Interface (CUPI) API
227
License Users Entitlement
Listing License Details of a Particular User
Page 260
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"@total": "1",
"UserLicense":
{
"Alias": "user1",
"Messaging": "Basic",
"SpeechView": "Speech View Standard",
"TenantId": "Tenant1"
}
}
Response Code: 200
Explanation of Data Fields
Comments
Data
Type
Operations
Parameters
The Alias of the user.
String(64)
Read Only
Alias
Licensing Tag either Basic, Enhanced, Enhanced+
String
Read Only
Messaging
It is a licensing Tag that specifies the transcription service Speech View
Standard or Speech View Pro This field is not displayed when users do not
use the transcription service.
String
Read Only
SpeechView
This field contains the Name of the tenant to which the user belongs. This
field will be populated only if the connection is working in the Multi
Tenancy Mode and user belongs to a Tenant.
String
Read Only
TenantId
Cisco Unity Connection Provisioning Interface (CUPI) API
228
License Users Entitlement
Explanation of Data Fields
Page 261
C H A P T E R 32
Cisco Unity Connection Provisioning Interface
(CUPI) API -- Class of Service (COS) APIs
• Classes of Service, on page 229
Classes of Service
A class of service (COS) defines limits and permissions for accounts with voice mailboxes. For example, a
COS.
• Controls user access to licensed features such as the Cisco Unity Connection Web Inbox (Connection
8.5 and later) or Messaging Inbox (Connection 8.0). (When a COS includes access to a feature that
requires individual licenses, you can assign groups of users to the COS only if enough licenses are
available.)
• Controls user access to non-licensed features such as personal call transfer rules.
• Controls how users interact with Connection. For example, a COS dictates the maximum length of user
messages and greetings, and whether users can choose to be listed in the corporate directory.
• Controls call transfer options.
• Specifies the number of private distribution lists allowed to users, and the number of members allowed
on each list.
• Specifies the restriction tables used to control the phone numbers that users can use for transfers and
when placing calls.
A COS is not specified for the individual accounts or templates that are associated with users without voice
mailboxes (typically, these are administrator accounts). Permissions associated with administrator accounts
are instead controlled by roles in Connection Administration.
Default Classes of Service in Cisco Unity Connection
Contains settings that are applicable to end users. By default, this COS is associated with
the default Voicemail User template
Voicemail User
COS
A COS that special default user accounts are members of. This COS is read-only and cannot
be modified or deleted
System
Administrator can use this API to create/update/delete/fetch the Class of Service. Various attributes of Class
of Service can also be updated using this API.
Cisco Unity Connection Provisioning Interface (CUPI) API
229

Page 262
Listing the Class of Services
The following is an example of the GET request that lists all the class of services:
GET https://<connection-server>/vmrest/coses
The following is an example of the response from the above GET request:
<Coses total="3">
<Cos>
<URI>/vmrest/coses/6e2c52a8-6bb6-40b0-b31e-27627293520c</URI>
<ObjectId>6e2c52a8-6bb6-40b0-b31e-27627293520c</ObjectId>
<DisplayName>Voice Mail User COS</DisplayName>
</Cos>
<Cos>
<URI>/vmrest/coses/4af565ec-47d5-43be-9c3b-49d5ea995f63</URI>
<ObjectId>4af565ec-47d5-43be-9c3b-49d5ea995f63</ObjectId>
<DisplayName>System</DisplayName>
</Cos>
<Cos>
<URI>/vmrest/coses/870f9a46-cc28-4d55-8fbd-e89cd02b9ff8</URI>
<ObjectId>870f9a46-cc28-4d55-8fbd-e89cd02b9ff8</ObjectId>
<DisplayName>Taxoma_COS_1</DisplayName>
</Cos>
</Coses>
Response Code: 200
JSON Example
To list all class of services, do the following: < pre> Request URI: GET
https://<connection-server>/vmrest/coses Accept: application /json Connection: keep-alive < /pre> The
following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"@total": "3",
"Cos": [
{
"URI": "/vmrest/coses/6e2c52a8-6bb6-40b0-b31e-27627293520c",
"ObjectId": "6e2c52a8-6bb6-40b0-b31e-27627293520c",
"DisplayName": "Voice Mail User COS"
},
{
"URI": "/vmrest/coses/4af565ec-47d5-43be-9c3b-49d5ea995f63",
"ObjectId": "4af565ec-47d5-43be-9c3b-49d5ea995f63",
"DisplayName": "System"
},
{
"URI": "/vmrest/coses/870f9a46-cc28-4d55-8fbd-e89cd02b9ff8",
"ObjectId": "870f9a46-cc28-4d55-8fbd-e89cd02b9ff8",
"DisplayName": "Taxoma_COS_1"
}
]
}
Response Code: 200
Cisco Unity Connection Provisioning Interface (CUPI) API
230
Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs
Listing the Class of Services
Page 263
Viewing the Specific Class of Services
The following is an example of the GET request that lists the details of specific class of services represented
by the provided value of class of services object ID:
GET https://<connection-server>/vmrest/coses/<cosobjectid>
The following is the response from the above GET request:
<Cos>
<URI>/vmrest/coses/77862e8e-42f3-4dac-811d-0be5291a9504</URI>
<ObjectId>77862e8e-42f3-4dac-811d-0be5291a9504</ObjectId>
<AccessFaxMail>false</AccessFaxMail>
<AccessTts>false</AccessTts>
<CallHoldAvailable>false</CallHoldAvailable>
<CallScreenAvailable>false</CallScreenAvailable>
<CanRecordName>true</CanRecordName>
<FaxRestrictionObjectId>8045d752-6723-4062-9fc3-22090b85b5d7</FaxRestrictionObjectId>
<ListInDirectoryStatus>true</ListInDirectoryStatus>
<LocationObjectId>359e627b-c481-4428-8674-bc28f40e8d43</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/359e627b-c481-4428-8674-bc28f40e8d43</LocationURI>
<MaxGreetingLength>90</MaxGreetingLength>
<MaxMsgLength>300</MaxMsgLength>
<MaxNameLength>30</MaxNameLength>
<MaxPrivateDlists>25</MaxPrivateDlists>
<MovetoDeleteFolder>true</MovetoDeleteFolder>
<OutcallRestrictionObjectId>9c07accb-2187-4ca4-baf4-6ae0613f605a</OutcallRestrictionObjectId>
<PersonalAdministrator>true</PersonalAdministrator>
<DisplayName>HELLO_COS_1</DisplayName>
<XferRestrictionObjectId>9c040521-fb05-4ba7-ba8f-d4f06f140b4c</XferRestrictionObjectId>
<Undeletable>false</Undeletable>
<WarnIntervalMsgEnd>0</WarnIntervalMsgEnd>
<CanSendToPublicDl>true</CanSendToPublicDl>
<EnableEnhancedSecurity>false</EnableEnhancedSecurity>
<AccessVmi>false</AccessVmi>
<AccessLiveReply>false</AccessLiveReply>
<UaAlternateExtensionAccess>0</UaAlternateExtensionAccess>
<AccessCallRoutingRules>false</AccessCallRoutingRules>
<WarnMinMsgLength>0</WarnMinMsgLength>
<SendBroadcastMessage>false</SendBroadcastMessage>
<UpdateBroadcastMessage>false</UpdateBroadcastMessage>
<AccessVui>false</AccessVui>
<ImapCanFetchMessageBody>true</ImapCanFetchMessageBody>
<ImapCanFetchPrivateMessageBody>false</ImapCanFetchPrivateMessageBody>
<MaxMembersPVL>99</MaxMembersPVL>
<AccessIMAP>false</AccessIMAP>
<ReadOnly>false</ReadOnly>
<AccessAdvancedUserFeatures>false</AccessAdvancedUserFeatures>
<AccessAdvancedUser>false</AccessAdvancedUser>
<AccessUnifiedClient>false</AccessUnifiedClient>
<RequireSecureMessages>4</RequireSecureMessages>
<AccessOutsideLiveReply>false</AccessOutsideLiveReply>
<AccessSTT>false</AccessSTT>
<EnableSTTSecureMessage>0</EnableSTTSecureMessage>
<MessagePlaybackRestriction>0</MessagePlaybackRestriction>
<SttType>1</SttType>
</Cos>
Cisco Unity Connection Provisioning Interface (CUPI) API
231
Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs
Viewing the Specific Class of Services
Page 264
Response Code: 200
JSON Example
To view individual class of services, do the following
Request URI:
GET https://<connection-server>/vmrest/coses/<cosobjectid>
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"URI": "/vmrest/coses/77862e8e-42f3-4dac-811d-0be5291a9504",
"ObjectId": "77862e8e-42f3-4dac-811d-0be5291a9504",
"AccessFaxMail": "false",
"AccessTts": "false",
"CallHoldAvailable": "false",
"CallScreenAvailable": "false",
"CanRecordName": "true",
"FaxRestrictionObjectId": "8045d752-6723-4062-9fc3-22090b85b5d7",
"ListInDirectoryStatus": "true",
"LocationObjectId": "359e627b-c481-4428-8674-bc28f40e8d43",
"LocationURI":
"/vmrest/locations/connectionlocations/359e627b-c481-4428-8674-bc28f40e8d43",
"MaxGreetingLength": "90",
"MaxMsgLength": "300",
"MaxNameLength": "30",
"MaxPrivateDlists": "25",
"MovetoDeleteFolder": "true",
"OutcallRestrictionObjectId": "9c07accb-2187-4ca4-baf4-6ae0613f605a",
"PersonalAdministrator": "true",
"DisplayName": "HELLO_COS_1",
"XferRestrictionObjectId": "9c040521-fb05-4ba7-ba8f-d4f06f140b4c",
"Undeletable": "false",
"WarnIntervalMsgEnd": "0",
"CanSendToPublicDl": "true",
"EnableEnhancedSecurity": "false",
"AccessVmi": "false",
"AccessLiveReply": "false",
"UaAlternateExtensionAccess": "0",
"AccessCallRoutingRules": "false",
"WarnMinMsgLength": "0",
"SendBroadcastMessage": "false",
"UpdateBroadcastMessage": "false",
"AccessVui": "false",
"ImapCanFetchMessageBody": "true",
"ImapCanFetchPrivateMessageBody": "false",
"MaxMembersPVL": "99",
"AccessIMAP": "false",
"ReadOnly": "false",
"AccessAdvancedUserFeatures": "false",
"AccessAdvancedUser": "false",
"AccessUnifiedClient": "false",
"RequireSecureMessages": "4",
"AccessOutsideLiveReply": "false",
"AccessSTT": "false",
"EnableSTTSecureMessage": "0",
"MessagePlaybackRestriction": "0",
"SttType": "1"
}
Cisco Unity Connection Provisioning Interface (CUPI) API
232
Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs
Viewing the Specific Class of Services
Page 265
Response Code: 200
Creating a Class of Services
You can create a new class of services in a generic way or by giving restriction tables as input.
Example 1: In a generic way
POST https://<connection-server>/vmrest/coses
Request Body:
<Cos>
<DisplayName>Texoma_cos_1</DisplayName>
</Cos>
The following is an example of the POST request that creates a new class of service in a generic way:
Response Code: 201
JSON Example
To create new COS, do the following:
Request URI:
POST https://<connection-server>/vmrest/coses
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"DisplayName":"Texoma_cos_1"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
Example 2: Giving restriction tables as input
The following is an example of the POST request that creates a new class of services by giving restriction
tables as input:
POST https://<connection-server>/vmrest/coses
Request Body:
<cos>
<DisplayName>Texoma_cos</DisplayName>
<FaxRestrictionObjectId>3da15ac5-e56f-4fac-b631-9f08826e1472</FaxRestrictionObjectId>
<OutcallRestrictionObjectId>3da15ac5-e56f-4fac-b631-9f08826e1472</OutcallRestrictionObjectId>
<XferRestrictionObjectId>3da15ac5-e56f-4fac-b631-9f08826e1472</XferRestrictionObjectId>
</cos>
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
Cisco Unity Connection Provisioning Interface (CUPI) API
233
Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs
Creating a Class of Services
Page 266
JSON Example:
Request URI:
POST https://<connection-server>/vmrest/coses
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"FaxRestrictionObjectId":"3da15ac5-e56f-4fac-b631-9f08826e1472",
"OutcallRestrictionObjectId":"3da15ac5-e56f-4fac-b631-9f08826e1472",
"XferRestrictionObjectId":"3da15ac5-e56f-4fac-b631-9f08826e1472"
}
The following is the response from the above POST request and the actual response will
depend upon the information given by you:
<pre>
Response Code: 201
Updating the Class of Services
Example 1: The following is an example of the PUT request that allows you to update the display name
of the class of services:
PUT https://<connection-server>/vmrest/coses/<cosobjectid>
Request Body:
<Cos>
<DisplayName>Texoma_123</DisplayName>
</Cos>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
To update display name of COS, do the following:
Request URI:
PUT https://<connection-server>/vmrest/coses/<cosobjectid>
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"DisplayName": "Texoma_123"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Example 2: The following is an example of the PUT request that allows you to update the other fields
of the class of services:
Cisco Unity Connection Provisioning Interface (CUPI) API
234
Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs
Updating the Class of Services
Page 267
PUT https://<connection-server>/vmrest/coses/<cosobjectid>
Request Body:
<Cos>
<MaxGreetingLength>45</MaxGreetingLength>
<MaxMsgLength>500</MaxMsgLength>
<MaxNameLength>50</MaxNameLength>
<MaxPrivateDlists>30</MaxPrivateDlists>
</Cos>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
Request URI:
PUT https://<connection-server>/vmrest/coses/<cosobjectid>
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"MaxGreetingLength": "45",
"MaxMsgLength":"500",
"MaxNameLength":"50",
"MaxPrivateDlists":"30"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Deleting the Class of Services
The following is an example of the DELETE request that deletes a specific class of services where you need
to mention the class of service object ID:
DELETE https://<connection-server>/vmrest/coses/<cosobjectid>
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
JSON Example
To delete class of services, do the following:
Request URI:
DELETE https://<connection-server>/vmrest/coses/<cosobjectid>
Accept: application/json
Connection: keep-alive
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
235
Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs
Deleting the Class of Services
Page 268
Response Code: 204
Explanation of Data Fields
The following chart lists all of the data fields:
Comments
Data
Type
Operations
Parameters
Specifies URI for class of service
String
Read Only
URI
Specifies object id of class of service
String(36)
Read Only
ObjectId
A flag indicating whether a subscriber assigned this COS
is allowed to manage their fax messages over the phone
or from the Cisco Unity Connection Inbox.
Future feature, 3rd-party fax is not supported in Cisco
Unity Connection. Possible values are:
• false: Do not allow access to fax mail
• true: Allow access to fax mail
To allow subscribers to have their e-mail messages
delivered to a fax machine, both this column and
"AccessTts" must be set to "true". Default Value: false.
Boolean
Read/Write
accessfaxmail
A flag indicating whether a subscriber assigned this COS
can have to their e-mail messages read to them by an e-mail
reader over the phone.
Possible values are:
• false: Cannot have e-mail messages read over the
phone
• true: Can have e-mail messages read over the phone
To allow subscribers to have their e-mail messages
delivered to a fax machine, both this column and
"AccessFaxMail" must be set to '"true". Default Value:
false.
Boolean
Read/Write
accesstts
Cisco Unity Connection Provisioning Interface (CUPI) API
236
Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs
Explanation of Data Fields
Page 269
Comments
Data
Type
Operations
Parameters
A flag indicating whether the subscriber has the ability to
change their own call holding options by using the Cisco
Unity Connection Assistant. Call holding settings apply
when calls are transferred from the automated attendant
or a directory handler to subscriber phones. They do not
apply when an outsider caller or another subscriber dials
a subscriber extension directly.
Possible values are:
• false: Cannot change call holding settings via Cisco
Unity Assistant
• true: Can change call holding settings via Cisco Unity
Assistant
Default Value: false.
Boolean
Read/Write
callholdavailable
A flag indicating whether the subscriber has the ability to
change their own call screening options by using the Cisco
Unity Assistant. Call screening settings apply when calls
are transferred from the automated attendant or a directory
handler to subscriber phones. They do not apply when an
outsider caller or another subscriber dials a subscriber
extension directly.
Possible values are:
• false: Cannot change call screening settings via Cisco
Unity Assistant
• true: Can change call screening settings via Cisco
Unity Assistant
Default Value: false.
Boolean
Read/Write
callscreenavailable
Used to prevent subscribers from recording their own
names (for example, if an organization has all names and
greetings recorded in one voice).
Possible values are:
• false: Cannot record their name
• true: Can record their name
Default Value: true.
Boolean
Read/Write
canrecordname
The unique identifier for the RestrictionTable objects that
Cisco Unity Connection uses to limit phone numbers that
the subscriber can enter in fax dialing settings.
String
Read/Write(36)
faxrestrictionobjectid
Cisco Unity Connection Provisioning Interface (CUPI) API
237
Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs
Explanation of Data Fields
Page 270
Comments
Data
Type
Operations
Parameters
A flag indicating whether subscribers can choose to be
listed or not in the phone directory. The phone directory
(directory assistance) is the audio listing that subscribers
and unidentified callers use to reach subscribers and to
leave messages.
Possible values are:
• false: Cannot choose whether or not to be listed in
phone directory
• true: Can choose whether or not to be listed in phone
directory
Default value is: true.
Boolean
Read/Write
listindirectorystatus
The unique identifier of the LocationVMS to which this
COS belongs.
String
Read Only
locationobjectid
URI of the LocationVMS.
String
Read Only
locationURI
The maximum recording length (in seconds) allowed to
the subscriber for recording their greeting.
The range can vary from 1 to 1200. Default Value: 90.
Integer
Read/Write
maxgreetinglength
The maximum recording length (in seconds) allowed to
the subscriber for recording messages and conversations.
The range can vary from 1 to 3600. Default Value: 300
Integer
Read/Write
maxmsglength
The maximum recording length (in seconds) allowed to
the subscriber for recording their voice name.
The range can vary from 1 to 100. Default Value: 30
Integer
Read/Write
maxnamelength
The maximum number of personal voice mail lists the
subscriber is allowed to create.
The range can vary from 1 to 99.
Default Value: 25
Integer
Read/Write
maxprivatedlists
Cisco Unity Connection Provisioning Interface (CUPI) API
238
Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs
Explanation of Data Fields
Page 271
Comments
Data
Type
Operations
Parameters
A flag indicating whether Cisco Unity Connection moves
deleted messages for the subscriber to a Deleted Items
folder or physically deletes the message.
true='deletion' moves messages to the DeletedItems folder,
where it ages until it evaporates. false='deletion' physically
deletes the message. When this column is set to "1," a
subscriber can:
• Use the phone and the Cisco Unity Connection Inbox
(as applicable) to permanently delete messages stored
in their Deleted Items folder.
• Use the phone and the Cisco Unity Connection Inbox
to listen to, reply to, or forward messages in their
Deleted Items folder, or to restore them to the Inbox.
Possible values are:
• false: Deleted messages are not moved to a Deleted
Items folder, rather they are permanently deleted.
• true: Deleted messages are moved to a Deleted Items
folder.
Default Value: true.
Boolean
Read/Write
movetodeletefolder
The unique identifier of the Restriction Table object that
Cisco Unity Connection uses to limit phone numbers that
the subscriber can enter in message delivery settings. The
restriction table also restricts the subscriber extensions that
Cisco Unity Connection dials when the phone is selected
as the recording and playback device for the Media Master.
String
Read/Write(36)
outcallrestrictionobjectid
A flag indicating whether Cisco Unity Connection allows
a subscriber to use the Cisco Unity Assistant to personalize
their Cisco Unity Connection setting -- including their
recorded greetings and message delivery options -- or to
set up message notification devices and create private lists.
Possible values are:
• false: Cannot use Cisco Unity Assistant
• true: Can use Cisco Unity Assistant
Default Value: true.
Boolean
Read/Write
personaladministrator
The unique text name of this COS, e.g. "Default COS,"
"Basic Voice Mail." Used when displaying entries in the
administrative console, e.g. Cisco Unity Connection
Administration. DisplayName is a required when creating
a new COS. DisplayName Length allowed is 64.
String
Read/Write(64)
displayname
Cisco Unity Connection Provisioning Interface (CUPI) API
239
Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs
Explanation of Data Fields
Page 272
Comments
Data
Type
Operations
Parameters
The unique identifier of the RestrictionTable objects that
Cisco Unity Connection uses to limit phone numbers that
the subscriber can enter in call transfer settings.
String
Read/Write(36)
xferrestrictionobjectid
A flag indicating whether this COS can be deleted via an
administrative application such as Cisco Unity Connection
Administration. It is used to prevent deletion of factory
defaults.
Possible values are:
• false: COS can be deleted
• true: COS cannot be deleted
Default Value: false.
Boolean
Read/Write
undeletable
This column works together with "WarnMinMsgLength"
enabling the record termination warning feature. If the
feature is enabled by the settings of these two columns,
callers will hear a warning tone sound before the maximum
message length is reached.
Call termination warning only works with the Unified
Communications Manager integration. Possible values
are:
• 0: Record termination warning disabled
• 1-30000: The number of milliseconds from the end
of the maximum recording time when the record
termination warning tone is played.
Default Value: 0.
Integer
Read/Write
warnintervalmsgend
A flag indicating whether the subscriber can send messages
to system (formerly called "public") distribution lists.
Possible values are:
• false: Cannot send messages to system distribution
lists
• true: Can send messages to system distribution lists
Default Value: true.
Boolean
Read/Write
cansendtopublicdl
A flag indicating whether the subscriber uses regular or
enhanced phone security. Enhanced phone security adds
RSA two-factor authentication to regular security.
Possible values are:
• false: Regular security
• true: Enhanced phone security (RSA two-factor
security)
Default Value: false.
Boolean
Read/Write
enableenhancedsecurity
Cisco Unity Connection Provisioning Interface (CUPI) API
240
Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs
Explanation of Data Fields
Page 273
Comments
Data
Type
Operations
Parameters
A flag indicating whether a subscriber assigned this COS
can use the Cisco Unity Connection Inbox to listen to,
compose, reply to, forward, and delete voice messages. If
the subscriber has "AccessFaxMail" set, they can also use
it to manage their faxes. This is a licensed feature.
Possible values are:
• false: Cannot use Cisco Unity Connection Inbox
• true: Can use Cisco Unity Connection Inbox
Default Value: false.
Boolean
Read/Write
accessvmi
A flag indicating whether a subscriber assigned this COS
can after listening to a message from another subscriber
press 4-4, and Cisco Unity Connection will call the
subscriber who left the message. Generally referred to as
"Live Reply."
Possible values are:
• false: Cannot "live reply" to another subscriber
• true: Can "live reply" to another subscriber after
listening to message from another subscriber
Default Value: false.
Boolean
Read/Write
accesslivereply
The abilities a subscriber has to manage administer-defined
alternate extensions assigned to the subscriber. Determines
whether subscribers can view the administrator-defined
alternate extensions, and whether subscribers can manage
(add, modify, and delete) their own set of alternate
extensions in the Cisco Unity Assistant. If enabled,
subscribers can define up to 5 alternate extensions in
addition to the 9 alternate extensions that an administrator
can define for them.
Possible values are:
• 3: CRUD access - subscriber can view
administrator-defined alternate extensions and manage
(create, modify, and delete) their own
subscriber-defined alternate extensions
• 2: CUD access - subscriber can manage (create,
modify, and delete) their own subscriber-defined
alternate extensions.
• 1: Read access - subscriber can view
administrator-defined alternate extensions.
• 0: No access - subscriber cannot view or manage
alternate extensions.
Default Value: 0.
Integer
Read/Write
uaalternateextensionaccess
Cisco Unity Connection Provisioning Interface (CUPI) API
241
Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs
Explanation of Data Fields
Page 274
Comments
Data
Type
Operations
Parameters
A flag indicating whether a subscriber assigned this COS
can access personal call routing rules.
Possible values are:
• false: Cannot access to Personal Call Routing rules
• true: Can access to Personal Call Routing rules
Default Value: false.
Boolean
Read/Write
accesscallroutingrules
The minimum length (in milliseconds) that the maximum
recording time has to be before the record termination
warning feature is active. When the record termination
feature is active, Cisco Unity Connection plays a warning
tone indicating to the caller that they are almost out of
recording time.
The range of this field can vary from 0 to 99999. Default
Value: 0.
Integer
Read/Write
warnminmsglength
A flag indicating whether the subscriber has the ability to
send broadcast messages to all subscribers on the VMS.
Possible values are:
• false: Cannot send broadcast messages.
• true: Can send broadcast messages.
Default Value: false.
Boolean
Read/Write
sendbroadcastmessage
A flag indicating whether the subscriber has the ability to
update broadcast messages that are active or will be active
in the future.
Possible values are:
• false: Cannot update broadcast messages.
• true: Can update broadcast messages.
Default Value: false.
Boolean
Read/Write
updatebroadcastmessage
A flag indicating whether a subscriber assigned this COS
can use the voice driven inbox conversation.
Possible values are:
• false: Cannot use the voice driven inbox conversation
• true: Can use the voice driven inbox conversation
Default Value: false.
Boolean
Read/Write
accessvui
Cisco Unity Connection Provisioning Interface (CUPI) API
242
Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs
Explanation of Data Fields
Page 275
Comments
Data
Type
Operations
Parameters
A flag indicating whether the subscriber can fetch the body
of a non-private message using IMAP.
Possible values are:
• false: Cannot fetch message body of non-private
messages.
• true: Using IMAP, subscriber can fetch message body
of non-private messages.
Default Value: true.
Boolean
Read/Write
imapcanfetchmessagebody
A flag indicating whether the subscriber can fetch the body
of a private message using IMAP.
Possible values are:
• false: Cannot fetch message body of private messages.
• true: Using IMAP, subscriber can fetch message body
of private messages.
Default Value: false.
Boolean
Read/Write
imapcanfetchprivatemessagebody
The maximum number of members allowed in a personal
voice mail list. Range 1-999. default value is 99
Integer
Read/Write
maxmemberspvl
A flag indicating whether a subscriber assigned this COS
can access VM via an IMAP client.
Possible values are:
• false: Cannot access voice mail via IMAP
• true: Can access voice mail via IMAP
Default Value: false.
Boolean
Read/Write
accessimap
A flag indicating whether a subscriber can use the unified
client.
Possible values are:
• false: Cannot access voice mail using unified client
• true: Can access voice mail using unified client
Default Value: true.
Boolean
Read/Write
accessunifiedclient
A flag indicating that this COS is read only. It cannot be
modified from the Connection Administration.
Possible values are:
• false: Can modify this COS.
• true: Cannot modify this COS.
Default Value: false.
Boolean
Read/Write
readonly
Cisco Unity Connection Provisioning Interface (CUPI) API
243
Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs
Explanation of Data Fields
Page 276
Comments
Data
Type
Operations
Parameters
A flag indicating whether or not the subscriber has access
to advanced user features. Currently, there are two
advanced user features: TTS and VUI.
Possible values are:
• false: The Subscriber cannot access advanced user
features.
• true: The Subscriber can access advanced user
features.
Default Value: false.
Boolean
Read/Write
accessadvanceduserfeatures
Specifies when to mark message secure.
Possible values are: 1: Always mark secure 2: Never mark
secure 3: Ask 4: Set private messages secure Default
Value: 4.
Integer
Read/Write
requiresecuremessages
A flag indicating whether a subscriber, assigned this COS,
can after listening to a message from outside caller issue
a command to call the outside caller. When a VUI or TUI
command is issued, Cisco Unity Connection will call the
outside caller who left the message. Generally referred to
as "Return Call to Outside Caller."
Possible values are:
• false: User cannot "Use Live Reply to Unidentified
Callers"
• true: User can "Use Live Reply to Unidentified
Callers"after listening to message."
Default Value: false.
Boolean
Read/Write
accessoutsidelivereply
An integer value indicating whether a subscriber assigned
this COS can have to their voice messages transcribed to
text.
Possible values are:
• false: Do not use transcription service (speech view).
• true: Use speech view transcription service.
Default Value: false.
Boolean
Read/Write
accessstt
A flag indicating whether a subscriber assigned this COS
can have automatic alternate extension.
Possible values are:
• false: Cannot have automatic alternate extension.
• true: Can have automatic alternate extension.
Default Value: false.
Boolean
Read/Write
autoalternateextension
Cisco Unity Connection Provisioning Interface (CUPI) API
244
Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs
Explanation of Data Fields
Page 277
Comments
Data
Type
Operations
Parameters
Controls transcriptions and notification of secure messages
for Speech To Text transcription feature.
Possible values are:
• 0: Do not transcribe secure messages
• 1: Allow transcriptions of secure messages
• 2: Allow transcriptions and notifications of secure
messages
Default Value: 0.
Integer
Read/Write
enablesttsecuremessage
Playback restrictions for GUI clients. Allows restricting
playback to phone only or computer only.
Possible values are:
• 0: No restrictions on message playback
• 1: Allow playback on computer speakers only
• 2: Allow playback on phone only
Default Value: 0.
Integer
Read/Write
messageplaybackrestriction
An integer value indicating whether a subscriber assigned
standard or PRO COS for STT.
Possible values are:
• 1: Use speech view standard transcription service.
• 2: Use speech view pro transcription service.
Default Value: 1.
Integer
Read/Write
stttype
Allows video messaging for the users in this class of
service.
Possible Values:
• true : allow Video messaging
• false: Do not allow video messaging
Default value: false.
Boolean
Read/Write
enablevideomessaging
Duplicate of AdvnacedUserFeatures for licensing code
purposes.
Possible Values:
• false: The Subscriber cannot access advanced user
features.
• true: The Subscriber can access advanced user
features.
Default: false
Boolean
Read/Write
accessadvanceduser
•
Cisco Unity Connection Provisioning Interface (CUPI) API
245
Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs
Explanation of Data Fields
Page 278
Cisco Unity Connection Provisioning Interface (CUPI) API
246
Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs
Explanation of Data Fields
Page 279
C H A P T E R 33
Cisco Unity Connection Provisioning Interface
(CUPI) API for User Template
• Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Caller Inputs, on page 247
• Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Greetings API , on page
252
• Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Mailbox , on page 263
• Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Message Settings, on page
264
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Action Template, on page 272
• Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Notification Devices, on
page 274
• Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Phone Menu, on page 282
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Playback Message Settings, on page 286
• Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Post Greeting Recordings,
on page 289
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Send Message Settings, on page 290
• Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Transfer Rules, on page
290
• Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template, on page 297
Cisco Unity Connection Provisioning Interface (CUPI) API --
User Template Caller Inputs
User Template Caller Inputs
The following URI can be used to view the user template object ID:
GET https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>
From the above URI, get the call handler primary template object ID:
GET
https://<connection-server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>
Cisco Unity Connection Provisioning Interface (CUPI) API
247

Page 280
Updating Caller Input Parameters
The following is an example of the PUT request that updates caller input parameters:
PUT
https://<connection-server>/vmrest/handlers/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>/menuentries
All the parameters for caller inputs are present in callhandlerprimarytemplate.
Request Body:
<CallhandlerPrimaryTemplate>
<OneKeyDelay>9999</OneKeyDelay>
<EnablePrependDigits>true</EnablePrependDigits>
<PrependDigits>4545</PrependDigits>
</CallhandlerPrimaryTemplate>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
<PrependDigit> parameter must be having digits only (extension parameter)
Note
Updating Caller Input Keys
The following is an example of the PUT request that updates the call input keys:
PUT
https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/menuentries
The following is an example of the PUT request that edits the call input keys:
PUT
https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/menuentries/*
where "*" is the touchtone key ID.
<MenuEntry>
<Locked>true</Locked>
</MenuEntry>
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Example 1: Edit call actions
Parameters
Values
Ignore
0
Hang Up
1
Take Message
4
Cisco Unity Connection Provisioning Interface (CUPI) API
248
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Updating Caller Input Parameters

Page 281
Parameters
Values
Skip Greeting
5
Restart Greeting
6
Transfer to alternate contact number
7
Route from next call routing rule
8
<MenuEntry>
<Action>7</Action>
<TransferType>1</TransferType>
<TransferNumber>2344</TransferNumber>
<TransferRings>4</TransferRings>
</MenuEntry>
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Example 2: Edit Call Handler
<MenuEntry>
<Action>2</Action>
<TargetConversation>PHGreeting</TargetConversation>
<TargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</TargetHandlerObjectId>
</MenuEntry>
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
To get the call handler object ID:
GET https://<connection-server>/vmrest/handlers/callhandlers
Example 3: Interview handler
<MenuEntry>
<Action>2</Action>
<TargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</TargetHandlerObjectId>
</MenuEntry>
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
To get the Interview Handler object ID:
https://<connection-server>/vmrest/handlers/interviewhandlers
Example 4: Directory handler
<MenuEntry>
<Action>2</Action>
<TargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</TargetHandlerObjectId>
</MenuEntry>
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
To get the Directory Handler object ID:
Cisco Unity Connection Provisioning Interface (CUPI) API
249
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Updating Caller Input Keys
Page 282
https://<connection-server>/vmrest/handlers/directoryhandlers
Example 5: Conversation
Request Body: for broadcast message administrator
<MenuEntry>
<Action>2</Action>
<TargetConversation>BroadcastMessageAdministrator</TargetConversation>
</MenuEntry>
The following is the response from the PUT request for broadcast message administrator and the actual
response will depend upon the information given by you:
Response Code: 204
Request Body: for caller system transfer
<MenuEntry>
<Action>2</Action>
<TargetConversation>SystemTransfer</TargetConversation>
</MenuEntry>
The following is the response from the PUT request for caller system transfer and the actual response will
depend upon the information given by you:
Response Code: 204
Request Body: for greeting administrator
<MenuEntry>
<Action>2</Action>
<TargetConversation>GreetingAdministrator</TargetConversation>
</MenuEntry>
The following is the response from the PUT request for greeting administrator and the actual response will
depend upon the information given by you:
Response Code: 204
Request Body: for sign in
<MenuEntry>
<Action>2</Action>
<TargetConversation>SubSignIn</TargetConversation>
</MenuEntry>
The following is the response from the PUT request for sign in and the actual response will depend upon
the information given by you:
Response Code: 204
Request Body: for user system transfer
<MenuEntry>
<Action>2</Action>
<TargetConversation>SubSysTransfer</TargetConversation>
</MenuEntry>
The following is the response from the PUT request for user system transfer and the actual response will
depend upon the information given by you:
Response Code: 204
Example 4: Users with Mailbox
<MenuEntry>
<Action>2</Action>
<TargetConversation>PHTransfer</TargetConversation>
Cisco Unity Connection Provisioning Interface (CUPI) API
250
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Updating Caller Input Keys
Page 283
<TargetHandlerObjectId>71cb381b-fd16-4ba8-8a1d-e71684e57b0e</TargetHandlerObjectId>
</MenuEntry>
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
JSON Example
For conversation, do the following:
PUT
https://<connection-server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>/menuentries/4
Accept: application/json
Content-type: application/json
Connection: keep-alive
{
"Action":"2",
"TargetConversation":"SubSignIn"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Explanation of Data Fields
Comments
Operations
Data Type
Parameter
Indicate the amount of time that System waits for additional input
after callers press a single key that is not locked. If there is no input
within this time, system performs the action assigned to the single
key.
We recommend a value of 1,500 milliseconds (one and one-half
seconds).
Note
• This option is unavailable if Ignore Caller Input
is enabled on the Greetings page.
• OneKeyDelay can only accept integer with value
0 through 10000
Read/Write
Integer
OneKeyDelay
To simulate abbreviated extensions by using prepended digits for
call handlers and user mailboxes. When such digits are defined,
they are prepended to any extension that a caller dials while
listening to the greeting for the call handler or user mailbox.
Default value: false.
Read/Write
Boolean
EnablePrependDigits
Digits that are prepended to any extension that a caller dials while
listening to the greeting of the user.
Read/Write
Integer
PrependDigits
Parameters for caller input keys are present in menu entries URI.
Read
Only
String(36)
MenuEntriesURI
Indicates the phone keypad key to which the settings apply.
Read
Only
String(1)
TouchtoneKey
Cisco Unity Connection Provisioning Interface (CUPI) API
251
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 284
Comments
Operations
Data Type
Parameter
A locked menu entry does not allow additional dialing after this
choice is entered.
Values can be:
• False: Unlocked - Additional dialing after this choice is entered
is allowed
• True: Locked - Additional dialing is ignored
Default value: false.
Read/Write
Boolean
Locked
Takes values from 0-8. See table for values.
Read/Write
Integer
Action
Menu entries can only belong to call handlers. No other object can
own a menu entry.
Read
Only
String(36)
CallHandlerObjectId
The name of the conversation to which the caller is routed.
Read/Write
String(36)
TargetConversation
The unique identifier of the specific object to send along to the
target conversation.
Read/Write
String(36)
TargetHandlerObjectId
Extension to which call is transferred.
Read/Write
Integer
TransferNumber
Values can be:
• 0: Release to switch
• 1: Supervise transfer
Read/Write
Integer
TransferType
Applies only when the "TransferType" column is set to supervised
(1). This value should never be less than 2 for a supervised transfer.
Read/Write
Integer
TransferRings
Cisco Unity Connection Provisioning Interface (CUPI) API --
User Template Greetings API
User Template Greetings APIs
The following URI can be used to view the user template object ID:
GET https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>
From the above URI, get the call handler primary template object ID:
GET https://<connection-
server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>
The following URI can be used to view the greetings:
GET https://<connection-
server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId
/usertemplategreetings
The following URI can be used to view the alternate greeting:
Cisco Unity Connection Provisioning Interface (CUPI) API
252
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Greetings API
Page 285
GET https://<connection-
server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId
/usertemplategreetings/Alternate
The following URI can be used to view the busy greeting:
GET https://<connection-
server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId
/usertemplategreetings/Busy
The following URI can be used to view the error greeting:
GET https://<connection-
server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId
/usertemplategreetings/Error
The following URI can be used to view the closed greeting:
GET https://<connection-
server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId
/usertemplategreetings/Off%20Hours
The following URI can be used to view the standard greeting:
GET https://<connection-
server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId
/usertemplategreetings/Standard
The following URI can be used to view the holiday greeting:
GET https://<connection-
server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId
/usertemplategreetings/Holiday
Updating Fields of Greeting
PUT
https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Alternate
Request Body: Enable greeting
<Greeting>
<EnableTransfer>true</EnableTransfer>
</Greeting>
The following is the response from the PUT request to enable greeting and the actual response will depend
upon the information given by you:
Response Code: 204
Request Body: enable with no end date
<Greeting>
<EnableTransfer>true</EnableTransfer>
<TimeExpires></TimeExpires>
</Greeting>
Cisco Unity Connection Provisioning Interface (CUPI) API
253
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Updating Fields of Greeting
Page 286
The following is the response from the PUT request to enable with no end date and the actual response will
depend upon the information given by you:
Response Code: 204
Request Body: enable until
<Greeting>
<EnableTransfer>true</EnableTransfer>
<TimeExpires>2014-12-31 05:30:00.000</TimeExpires>
</Greeting>
The following is the response from the PUT request to enable until and the actual response will depend
upon the information given by you:
Response Code: 204
Request Body: edit caller hears
<Greeting>
<PlayWhat>2</PlayWhat>
<PlayRecordMessagePrompt>true</PlayRecordMessagePrompt>
</Greeting>
The following is the response from the PUT request to edit caller hears and the actual response will depend
upon the information given by you:
Response Code: 204
Request Body: enable ignore caller inputs
<Greeting>
<IgnoreDigits>true</IgnoreDigits>
</Greeting>
The following is the response from the PUT request to enable ignore caller inputs and the actual response
will depend upon the information given by you:
Response Code: 204
Request Body: enable allow transfers to numbers not associated with users or call handlers
<Greeting>
<IgnoreDigits>false</IgnoreDigits>
<EnableTransfer>true</EnableTransfer>
</Greeting>
The following is the response from the PUT request to enable allow transfers to numbers not associated
with users or call handlers and the actual response will depend upon the information given by you:
Response Code: 204
JSON Example
Cisco Unity Connection Provisioning Interface (CUPI) API
254
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Updating Fields of Greeting
Page 287
PUT
https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Alternate
Accept: application/json
Content-type: application/json
Connection: keep-alive
{
"EnableTransfer":"true","IgnoreDigits":"false"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Changing after Greeting Actions
By default all the handlers must have tenant specific handlers
Example 1: Change Call Actions
Request Body:
<UserTemplateGreeting>
<AfterGreetingAction>8</AfterGreetingAction>
</UserTemplateGreeting>
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
JSON Example
To change call actions, do the following:
PUT
https://<connection-server>/vmrest/callhandlerprimarytemplates/6bcd837d-f1cf-43c2-b199-85b457858a16/usertemplategreetings/Alternate
Accept: application/json
Content-type: application/json
Connection: keep-alive
Request Body:
{
"AfterGreetingAction":"8"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
255
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Changing after Greeting Actions
Page 288
Values used for changing call actions are - 1,4,6,8
Note
Example 2: Change Call Handler
Request Body:
<UserTemplateGreeting>
<AfterGreetingAction>2</AfterGreetingAction>
<AfterGreetingTargetConversation>PHTransfer</AfterGreetingTargetConversation>
<AfterGreetingTargetHandlerObjectId>ee065a6a-3f95-4b4d-bbbd-98cb2d4c0aa9</AfterGreetingTargetHandlerObjectId>
</UserTemplateGreeting>
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
For attempt transfer use PHTransfer and for go directly to greetings use PHGreeting and
AfterGreetingTargetHandlerObjectId can be viewed from URI:
Note
GET https://<connection-server>/vmrest/handlers/callhandlers
Example 3: Change Interview handler
Request Body:
<UserTemplateGreeting>
<AfterGreetingAction>2</AfterGreetingAction>
<AfterGreetingTargetConversation>PHInterview</AfterGreetingTargetConversation>
<AfterGreetingTargetHandlerObjectId>2f6a0058-7535-48ac-abcd-c4b41d13f47e</AfterGreetingTargetHandlerObjectId>
</UserTemplateGreeting>
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
AfterGreetingTargetHandlerObjectId can be viewed from URI:
Note
GET https://<connection-server>/vmrest/handlers/interviewhandler
Example 4: Change Directory handler
Request Body:
<UserTemplateGreeting>
<AfterGreetingAction>2</AfterGreetingAction>
<AfterGreetingTargetConversation>AD</AfterGreetingTargetConversation>
<AfterGreetingTargetHandlerObjectId>1f1941a5-3bb7-47ee-96f9-78691cd8ad43</AfterGreetingTargetHandlerObjectId>
</UserTemplateGreeting>
Cisco Unity Connection Provisioning Interface (CUPI) API
256
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Changing after Greeting Actions

Page 289
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
AfterGreetingTargetHandlerObjectId can be viewed from URI:
Note
GET https://<connection-server>/vmrest/handlers/directoryhandler
Example 5: Change Conversation
Request Body: for broadcast message administrator
<UserTemplateGreeting>
<AfterGreetingAction>2</AfterGreetingAction>
<AfterGreetingTargetConversation>BroadcastMessageAdministrator</AfterGreetingTargetConversation>
</UserTemplateGreeting>
The following is the response from the PUT request for broadcast message administrator and the actual
response will depend upon the information given by you:
Response Code: 204
Request Body: for caller system transfer
<UserTemplateGreeting>
<AfterGreetingAction>2</AfterGreetingAction>
<AfterGreetingTargetConversation>SystemTransfer</AfterGreetingTargetConversation>
</UserTemplateGreeting>
The following is the response from the PUT request for caller system transfer and the actual response will
depend upon the information given by you:
Response Code: 204
Request Body: for greeting administrator
<UserTemplateGreeting>
<AfterGreetingAction>2</AfterGreetingAction>
<AfterGreetingTargetConversation>GreetingsAdministrator</AfterGreetingTargetConversation>
</UserTemplateGreeting>
The following is the response from the PUT request for greeting administrator and the actual response will
depend upon the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
257
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Changing after Greeting Actions

Page 290
Response Code: 204
Request Body: for sign in
<UserTemplateGreeting>
<AfterGreetingAction>2</AfterGreetingAction>
<AfterGreetingTargetConversation>SubSignIn</AfterGreetingTargetConversation>
</UserTemplateGreeting>
The following is the response from the PUT request for sign in and the actual response will depend upon
the information given by you:
Response Code: 204
Request Body: for user system transfer
<UserTemplateGreeting>
<AfterGreetingAction>2</AfterGreetingAction>
<AfterGreetingTargetConversation>SubSysTransfer</AfterGreetingTargetConversation>
</UserTemplateGreeting>
The following is the response from the PUT request for user system transfer and the actual response will
depend upon the information given by you:
Response Code: 204
Example 6: Change user with Mailbox
<UserTemplateGreeting>
<AfterGreetingAction>2</AfterGreetingAction>
<AfterGreetingTargetConversation>PHTransfer</AfterGreetingTargetConversation>
<AfterGreetingTargetHandlerObjectId>92a9008d-9e18-4cd1-8e3c-10df32295cd8</AfterGreetingTargetHandlerObjectId>
</UserTemplateGreeting>
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Changing Caller Option
<UserTemplateGreeting>
<EnAltGreetDontRingPhone>true</EnAltGreetDontRingPhone>
<EnAltGreetPreventSkip>true</EnAltGreetPreventSkip>
<EnAltGreetPreventMsg>true</EnAltGreetPreventMsg>
</UserTemplateGreeting>
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
258
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Changing Caller Option
Page 291
Creating Greeting
The following URI can be used to add greetings:
POST https://<connection-
server>/vmrest/callhandlerprimarytemplates/<Callhandlerprimarytempl
atesObjectId>/usertemplategreetings/Alternate/greetingstreamfiles
The following is the response from the POST request and the actual response will depend upon the
information given by you:
Response Code: 201
Save Video Greetings
Unity Connection allows you to save video greetings using both GET and PUT requests.
Example of GET Request
GET
http://<connection-server>/vmrest/Callhandlersprimarytemplates/<callhandlerobjectid>/usertemplates/Greetings/<GreetingType>/GreetingStreamFiles/<language>/video
The following is the response of the above GET command and the output may vary depending on your inputs.
Response: 200
<CallControl>
<resourceId>aad91d6d-aeca-4a72-8069-b656efb3041f.wav</resourceId>
<sessionId>570146ed1504cb1</sessionId>
</CallControl
JSON Example
Request
GET
vmrest/handlers/callhandlers/30600b21-1a4c-47a3-a078-8078984e5376/greetings/Standard/greetingstreamfiles/1033/video
Accept: application/json
User-Agent: Java/1.6.0_17
Host: <connection-server>
Connection: keep-alive
authorization: Basic Y2NtYWRtaW5pc3RyYXRvcjplY3NidWxhYg=
Response
HTTP/1.1 200
Content-Type: application/json
Date: Fri, 15 Jan 2010 15:14:11 GMT
Server:
{ “resourceId” :” aad91d6d-aeca-4a72-8069-b656efb3041f.wav”, “sessionId” : ”570146ed1504cb1”}
Example of PUT Request
PUT
http://<connection-server>/vmrest/Callhandlersprimarytemplates/<callhandlerobjectid>/usertemplates/Greetings/<GreetingType>/GreetingStreamFiles/<language>/video
Cisco Unity Connection Provisioning Interface (CUPI) API
259
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Creating Greeting
Page 292
<CallControl>
<resourceId>aad91d6d-aeca-4a72-8069-b656efb3041f.wav</resourceId>
<sessionId>570146ed1504cb1</sessionId>
</CallControl>
Response: 204 OK
JSON Example
Request
PUT
vmrest/handlers/callhandlers/30600b21-1a4c-47a3-a078-8078984e5376/greetings/Standard/greetingstreamfiles/1033/video
Content-Type: application/json
Accept: application/json
Host: <connection-server>
Connection: keep-alive
authorization: Basic Y2NtYWRtaW5pc3RyYXRvcjplY3NidWxhYg==
{ “resourceId” :” aad91d6d-aeca-4a72-8069-b656efb3041f.wav”, “sessionId” : ”570146ed1504cb1”}
Response :
HTTP/1.1 204
Content-Type: application/json
Date: Fri, 15 Jan 2010 15:14:11 GMT
Server:
Explanation of Data Fields
Comments
Operations
Data
Type
Parameter
The unique identifier of the call handler object to which this
greeting rule belongs.
Read
Only
String(36)
CallHandlerObjectId
A flag indicating whether Cisco Unity Connection takes
action in response to touchtone keys pressed by callers during
the greeting.
Values can be:
• False: Caller input enabled during greeting
• True: Caller input ignored during greeting
Default Value: False
Read/Write
Boolean
IgnoreDigits
The source for the greeting when this greeting is active.
Default Value: 0 Default Values can be:
• Call handler - 1 (recording)
• Subscriber - 0 (system)
Read/Write
Integer(2)
PlayWhat
Cisco Unity Connection Provisioning Interface (CUPI) API
260
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 293
Comments
Operations
Data
Type
Parameter
The amount of time (in seconds) that Cisco Unity Connection
waits without receiving any input from a caller before Cisco
Unity Connection prompts the caller again.
Default Value:2 Values can be:
• 0: Do wait without receiving caller input and do not
replay greeting.
• 1 or greater: Wait this number of seconds without
receiving any input from the caller before playing the
greeting again.
Read/Write
Integer(2)
RepromptDelay
The number of times to reprompt a caller. After the number
of times indicated here, Cisco Unity Connection performs
the after-greeting action.
Default Value: 0 Values can be:
• 0: Do not reprompt - Cisco Unity Connection will play
the greeting once and then the after-greeting action is
taken.
• 1 or greater: Number of times to reprompt.
Read/Write
Integer(2)
Reprompts
The date and time when the greeting rule expires. The
greeting rule is considered not expired (enabled), if the value
is NULL or a future date. The greeting rule is considered
expired (disabled), the value is in the past.
Read/Write
DateTime(8)
TimeExpires
The type of greeting, e.g. "Standard," "Off Hours," "Busy,"
etc.
Read
Only
String(12)
GreetingType
AfterMessageAction can only accept integer with value 1,
2, 4, 6, 8
Values can be:
• 1: Hang up
• 2. for other actions with object id (call handler, interview
handler, directory handler)
• 4. Take Message
• 6. Restart greeting
• 8: Route from next call routing rule.
Read/Write
Integer(2)
AfterGreetingAction
The unique identifier of the CallAction object that determines
what action Cisco Unity Connection will take on the call after
the greeting is played.
Read/Write
String(36)
AfterGreetingActionObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
261
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 294
Comments
Operations
Data
Type
Parameter
A flag indicating whether the "Record your message at the
tone…" prompt prior to recording a message.
Values can be:
• 0: System will not play the "Record your message at the
tone…" prompt prior to recording a message.
• 1: System will play the "Record your message at the
tone…" prompt prior to recording a message.
Default Value: 1
Read/Write
Integer(2)
PlayRecordMessagePromp
A flag indicating when an extension is dialed at the greeting
and the extension is not available whether to transfer to
another extension.
Default value: 0 Values can be:
• 0: User cannot be transferred to another extension.
• 1: User can "be transferred to another extension."
Read/Write
Boolean
EnableTransfer
A flag indicating whether the personal video recording of the
user will be used.
Values:
• true : Personal Video Recording is enabled.
• false : Personal Video Recording is not enabled.
Default value : false
Read/Write
Boolean
EnablePersonalVideoRecording
A flag indicating whether Cisco Unity Connection will
prompt callers to wait for a tone before recording their video
message.
Values:
• true : Callers will be prompted with a tone before
recording their video message.
• false : Callers will not be prompted with a tone before
recording their video message.
Default value : false
This flag is editable only when the flag
EnablePersonalVideoRecording is set to True.
Read/Write
Boolean
PlayRecordVideoMessagePrompt
Transfer Callers to Greeting without Ringing User's Phone
Read/Write
Boolean
EnAltGreetDontRingPhone
Prevent Callers from Skipping the User's Greeting
Read/Write
Boolean
EnAltGreetPreventSkip
Prevent Callers from Leaving Messages
Read/Write
Boolean
EnAltGreetPreventMsg
Cisco Unity Connection Provisioning Interface (CUPI) API
262
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 295
•
Cisco Unity Connection Provisioning Interface (CUPI) API --
User Template Mailbox
Updating Mailbox Quota
Request Body: for use system settings
<UserTemplate>
<ReceiveQuota>-2</ReceiveQuota>
<SendQuota>-2</SendQuota>
<WarningQuota>-2</WarningQuota>
</UserTemplate>
The following is the response from the PUT request for use system settings and the actual response will
depend upon the information given by you:
Response Code: 204
Request Body: for custom system maximum settings
<UserTemplate>
<ReceiveQuota>-1</ReceiveQuota>
<SendQuota>-1</SendQuota>
<WarningQuota>-1</WarningQuota>
</UserTemplate>
The following is the response from the PUT request for custom system maximum settings and the actual
response will depend upon the information given by you:
Response Code: 204
Request Body: for custom settings
<UserTemplate>
<ReceiveQuota>1048576</ReceiveQuota>
<SendQuota>1048576</SendQuota>
<WarningQuota>1048576</WarningQuota>
</UserTemplate>
The following is the response from the PUT request for custom settings and the actual response will depend
upon the information given by you:
Response Code: 204
JSON Example
To change mailbox quota, do the following:
PUT https://<connection-server>/vmrest/users/<userobjectid>/mailboxattributes
Accept: application/json
Content-type: application/json
Connection: keep-alive
Cisco Unity Connection Provisioning Interface (CUPI) API
263
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Mailbox
Page 296
{
"ReceiveQuota":"104345",
"SendQuota":"104345",
"WarningQuota":"104345"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Above all values are in bytes and in Cisco Unity Connection Administration, it takes values in MB.
Note
Updating Mailbox Store
Get the mailbox store object ID from the following URI:
GET https://<connection-server>/vmrest/voicemailboxstores
Request Body:
<UserTemplate>
<MailboxStoreObjectId>9dfffae1-eae2-4eab-abe9-7b0773881d54</MailboxStoreObjectId>
</UserTemplates>
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Input should be in bytes, that is multiple of 1024.
Note
Cisco Unity Connection Provisioning Interface (CUPI) API --
User Template Message Settings
User Template Message Settings
Administrator can use this API to create/update/delete/fetch the message settings. All the parameters of
message settings are present in call handler primary template.
GET https://<connection server>/vmrestvmrest/usertemplates/<usertemplateobjectid>
From the above URI get the call handler primary template URI:
GET https://<connection-
server>/vmrestvmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>
Cisco Unity Connection Provisioning Interface (CUPI) API
264
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Updating Mailbox Store

Page 297
Updating Message Settings
The following is an example of the PUT request that updates message settings:
PUT https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>
<Callhandler>
<EditMsg>true</EditMsg>
<MaxMsgLen>1000</MaxMsgLen>
<AfterMessageAction>1</AfterMessageAction>
<SendUrgentMsg>2</SendUrgentMsg>
<UseCallLanguage>false</UseCallLanguage>
<SendSecureMsg>false</SendSecureMsg
<SendPrivateMsg>1</SendPrivateMsg>
<PlayAfterMessage>2</PlayAfterMessage>
</Callhandler>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
PUT https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>
Accept: application/json
Content-type: application/json
Connection: keep-alive
{
"AfterMessageAction":"2",
"AfterMessageTargetConversation":"SystemTransfer"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response code: 204
Updating after Message Actions
Example 1: Call Handler
PUT
https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>
<Callhandler>
<AfterMessageAction>2</AfterMessageAction>
<AfterMessageTargetConversation>PHGreeting</AfterMessageTargetConversation>
<AfterMessageTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</AfterMessageTargetHandlerObjectId>
</Callhandler>
The following is an example of the GET request that shows the call handler object ID:
GET https://<connection-server>/vmrest/handlers/callhandlers
Cisco Unity Connection Provisioning Interface (CUPI) API
265
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Updating Message Settings
Page 298
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Example 2: Interview Handler
<Callhandler>
<AfterMessageAction>2</AfterMessageAction>
<AfterMessageTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</AfterMessageTargetHandlerObjectId>
<AfterMessageTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</AfterMessageTargetHandlerObjectId>
</Callhandler>
The following is an example of the GET request that shows the interview handler template object ID:
GET https://<connection-server>/vmrest/handlers/interviewhandlers
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Example 3: Directory Handler
<Callhandler>
<AfterMessageAction>2</AfterMessageAction>
<AfterMessageTargetConversation>AD</AfterMessageTargetConversation>
<AfterMessageTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</AfterMessageTargetHandlerObjectId>
</Callhandler>
The following is an example of the GET request that shows the interview handler template object ID:
GET https://<connection-server>/vmrest/handlers/directoryhandlers
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Example 4: Conversation
Request Body: for broadcast message administrator
<Callhandler>
<AfterMessageAction>2</AfterMessageAction>
<AfterMessageTargetConversation>BroadcastMessageAdministrator</AfterMessageTargetConversation>
</Callhandler>
The following is the response from the PUT request for broadcast message administrator and the actual
response will depend upon the information given by you:
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
266
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Updating after Message Actions
Page 299
Request Body: for caller system transfer
<Callhandler>
<AfterMessageAction>2</AfterMessageAction>
<AfterMessageTargetConversation>SystemTransfer</AfterMessageTargetConversation>
</Callhandler>
The following is the response from the PUT request for caller system transfer and the actual response will
depend upon the information given by you:
Response Code: 204
Request Body: for greeting administrator
<Callhandler>
<AfterMessageAction>2</AfterMessageAction>
<AfterMessageTargetConversation>GreetingAdministrator</AfterMessageTargetConversation>
</Callhandler>
The following is the response from the PUT request for greeting administrator and the actual response will
depend upon the information given by you:
Response Code: 204
For sign in
<Callhandler>
<AfterMessageAction>2</AfterMessageAction>
<AfterMessageTargetConversation>SubSignIn</AfterMessageTargetConversation>
</Callhandler>
The following is the response from the PUT request for sign in and the actual response will depend upon
the information given by you:
Response Code: 204
For system transfer:
Request Body:
<CallhandlerPrimaryTemplate>
<AfterMessageAction>2</AfterMessageAction>
<AfterMessageTargetConversation>SubSysTransfer</AfterMessageTargetConversation>
</CallhandlerPrimaryTemplate>
The following is the response from the PUT request for user system transfer and the actual response will
depend upon the information given by you:
Response Code: 204
JSON Example
Cisco Unity Connection Provisioning Interface (CUPI) API
267
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Updating after Message Actions
Page 300
PUT https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>
Accept: application/json
Content-type: application/json
Connection: keep-alive
Request Body:
{
"AfterMessageAction":"2",
"AfterMessageTargetConversation":"SystemTransfer"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Explanation of Data Fields
Comments
Data Type
Ojects
Parameter
The maximum recording
length (in seconds) for
messages left by
unidentified callers.
Default value : 300
Range: 1-3600
Read/Write
Integer
MaxMsgLen
Allows callers to be
prompted to listen to, add
to, rerecord, or delete their
messages.
Values can be:
• False: Callers cannot
edit messages
• True: Callers can edit
messages
Default value: True
Read/Write
Boolean
EditMsg
Cisco Unity Connection Provisioning Interface (CUPI) API
268
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 301
Comments
Data Type
Ojects
Parameter
Values can be:
• False: The language
is the default
language defined for
the call handler
template.
• True: The language
is derived from the
location to which
this call handler
template belongs.
Default value: False
Read/Write
Boolean
UseDefaultLanguage
This flag allows that
language to be the
language used by handlers
in the system to play
prompts for users.
Values can be:
• False: Do not use the
language specified
by the system call
routing rule to play
prompts for users
• True: Use the
language specified
by the system call
routing rule to play
prompts for users
• Default value: False
Read/Write
Boolean
UseCallLanguage
Cisco Unity Connection Provisioning Interface (CUPI) API
269
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 302
Comments
Data Type
Ojects
Parameter
A flag indicating whether
an unidentified caller can
mark a message as
"urgent."
Values can be:
• 0: Never - messages
left by unidentified
calls are never
marked urgent.
• 1: Always - all
messages left by
unidentified callers
are marked urgent.
• 2: Ask - Cisco Unity
Connection asks
unidentified callers
whether to mark
their messages
urgent.
Read/Write
Integer
SendUrgentMsg
Determines if an outside
caller can mark their
message as private.
Values can be:
• 0: Never - No
messages are marked
private.
• 1: Always - All
messages are marked
private.
• 2: Ask - Ask the
outside caller if they
wish to mark the
message as private.
Read/Write
Integer
SendPrivateMsg
Cisco Unity Connection Provisioning Interface (CUPI) API
270
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 303
Comments
Data Type
Ojects
Parameter
A flag indicating whether
an unidentified caller can
mark a message as
"secure."
Values can be:
• 0: Never - messages
left by unidentified
calls are never
marked secure.
• 1: Always - all
messages left by
unidentified callers
are marked secure.
Read/Write
Boolean
SendSecureMsg
Indicates whether the Sent
Message Prompt
Recording referenced by
Post Greeting
Values can be:
• 0: Do not play
recording
• 1: System default
recording
• 2: Play recording
Read/Write
Integer
PlayAfterMessage
AfterMessageAction can
only accept integer with
value 1 or 8 or 2
Values can be:
• 1: Hang up
• 8: Route from next
call routing rule.
Read/Write
Integer
AfterMessageAction
Cisco Unity Connection Provisioning Interface (CUPI) API
271
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 304
Cisco Unity Connection Provisioning Interface (CUPI) API --
Message Action Template
Message Action Template
To edit a message action template, you must get the URI for message action from:
GET https://<connection server>/vmrestvmrest/usertemplates/<usertemplateobjectid>
Message action URI:
GET https://<connection
server>/vmrestvmrest/usertemplates/<usertemplateobjectid>/usertemplatemessageactions/<usertempl
atemessageactionsobjectid>
Updating Message Action
Request URI
PUT https://<connection
server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplatemessageactions/<objectid>
Request Body:
<UserTemplateMessageAction>
<VoicemailAction>3</VoicemailAction>
<RelayAddress>%texoma%@tenant.com</RelayAddress>
</UserTemplateMessageAction>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
To update message actions, do the following:
Request URI:
PUT
https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplatemessageactions/<objectid>
Accept: application/json
Content-type: application/json
Connection: keep-alive
Request Body:
{
"VoicemailAction":"3"
"RelayAddress":"texoma@tenant.com"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
272
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Action Template
Page 305
For relay message and accept and relay message option relay address is mandatory and relay address must be
correct for e.g.: tenant@cisco.com In the same way all other actions can be edited like: Voicemail Action,
Email Action, Fax Action and Delivery Receipt Action
Note
Explanation of Data Fields
Comments
Operation
Data Types
Parameter
The action to take for voicemail messages.
Values can be:
• 0: Reject the Message
• 1: Accept the Message
• 2: Relay the Message
• 3: Accept and Relay the Message
For 2 and 3, values have to provide RelayAddress.
Read/Write
Integer
VoicemailAction
The action to take for email messages.
Values can be:
• 0: Reject the Message
• 1: Accept the Message
• 2: Relay the Message
• 3: Accept and Relay the Message
For 2 and 3, values have to provide RelayAddress.
Read/Write
Integer
EmailAction
The action to take for fax messages.
Values can be:
• 0: Reject the Message
• 1: Accept the Message
• 2: Relay the Message
• 3: Accept and Relay the Message
For 2 and 3, values have to provide RelayAddress.
Read/Write
Integer
FaxAction
Cisco Unity Connection Provisioning Interface (CUPI) API
273
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields

Page 306
Comments
Operation
Data Types
Parameter
The action to take for delivery receipt messages.
Values can be:
• 0: Reject the Message
• 1: Accept the Message
• 2: Relay the Message
• 3: Accept and Relay the Message
For 2 and 3, values have to provide RelayAddress.
Read/Write
Integer
DeliveryReceiptAction
Select the address to which system relays voicemail,
email, fax, or delivery receipts when Connection is
configured to relay that message type. This field is
not editable unless you have selected Relay the
Message or Accept and Relay the Message as the
message action for one or more message types.
In order to configure Connection to
relay messages, you must first
configure an SMTP Smart Host on
the System Settings > SMTP
Configuration > Smart Host page.
Enter a combination of text and tokens
that Connection replaces with a value
from the user profile. (For example,
Connection replaces %Alias% with
the alias from each user profile when
editing the corresponding user.)
Note
Read/Write
String (320)
RelayAddress
Cisco Unity Connection Provisioning Interface (CUPI) API --
User Template Notification Devices
User Template Notification Devices
The following URI can be used to view the user template object ID:
GET https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>
From the above URI, get the notification devices object ID:
https://<connectionserver>/vmrest/usertemplates/<usertemplateobjectid>/usertemplatenotificationdevices
Cisco Unity Connection Provisioning Interface (CUPI) API
274
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Notification Devices
Page 307
Pager
The following URI can be used to view the pager device by using user template notification device object ID:
GET https://<connection-
server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplatenotificationdevices/usertemplatepagerdevic
es/<usertemplatenotificationdeviceobjectId>
Request Body: Updating Pager
<UserTemplatePagerDevice>
<Active>true</Active>
<DisplayName>Pager1</DisplayName>
<InitialDelay>1</InitialDelay>
<RepeatNotify>true</RepeatNotify>
<RepeatInterval>1</RepeatInterval>
<EventList>AllMessage</EventList>
<RetriesOnBusy>4</RetriesOnBusy>
<BusyRetryInterval>5</BusyRetryInterval>
<RetriesOnRna>4</RetriesOnRna>
<RnaRetryInterval>15</RnaRetryInterval>
<RetriesOnSuccess>0</RetriesOnSuccess>
</UserTemplatePagerDevice>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
To activate notification device <PhoneNumber> parameter is mandatory and <RepeatInterval > parameter is
mandatory to enable repeat notify. The provide values can be changed and values are given in above table.
Note
JSON Example
To view pager devices, do the following:
GET
https://<connectionserver>/vmrestvmrest/usertemplates/<usertemplateobjectid>/usertemplatenotificationdevices/
usertemplatepagerdevices/<usertemplatenotificationdeviceobjectId>
Accept: application/json
Content-type: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
275
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Pager

Page 308
{
"URI":"/vmrest/usertemplates/6164ac2d-e8ec-441a-93a0-95f8e18a655c/usertemplatenotificationdevices/usertemplatepagerdevices/ad6bdb87-7ab6-4a2a-b4fb-5dae6fd6804c"
"TransmitForcedAuthorizationCode":"false"
"BusyRetryInterval":"5"
"DialDelay":"1"
"RetriesOnBusy":"4"
"RetriesOnRna":"4"
"RingsToWait":"4"
"RnaRetryInterval":"15"
"SendCount":"true"
"WaitConnect":"true"
"MediaSwitchObjectId":"0ad0b88c-4a70-4cf7-913e-d5d7a921caca"
"PhoneSystemURI":"/vmrest/phonesystems/0ad0b88c-4a70-4cf7-913e-d5d7a921caca"
"ObjectId":"ad6bdb87-7ab6-4a2a-b4fb-5dae6fd6804c"
"Active":"false"
"DeviceName":"Pager"
"DisplayName":"Pager"
"MaxBody":"512"
"MaxSubject":"64"
"SubscriberObjectId":"6164ac2d-e8ec-441a-93a0-95f8e18a655c"
"UserURI":"/vmrest/users/6164ac2d-e8ec-441a-93a0-95f8e18a655c"
"SendCallerId":"true"
"Undeletable":"true"
"SuccessRetryInterval":"1"
"RetriesOnSuccess":"0"
"EventList":"NewVoiceMail"
"ScheduleSetObjectId":"5fc5a5d7-eaf6-4f4d-80cf-f76f3893ac0e"
"InitialDelay":"0"
"RepeatInterval":"0"
"RepeatNotify":"false"
}
Response Code: 200
Explanation of Fields: Pager
Comments
Operation
Data Type
Parameter
Enable notification device.
Default value: False
Read/Write
Boolean
Active
Name of notification device
Read/Write
String
DisplayName
Device name of notification device which
can’t be changed.
Read Only
String
DeviceName
Have to provide notification device object
id.
To move back to “Do nothing option”,
don’t provide any object Id in this
parameter.
Read/Write
String
FailDeviceObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
276
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Fields: Pager
Page 309
Comments
Operation
Data Type
Parameter
Values can be:
• All messages: AllMessage
• All message urgent only:
AllUrgentMessage
• All Voice messages: NewVoiceMail
• All voice message urgent only:
NewUrgentVoiceMai
• Dispatch messages: DispatchMessage
• Dispatch message urgent only:
UrgentDispatchMessage
• Fax messages: NewFax
• Fax messages urgent only:
NewUrgentFax
• All voice messages and fax message
urgent only:
NewUrgentFax,NewVoiceMail
• All voice message urgent only and
fax message:
NewUrgentFax,NewUrgentVoiceMail
• Fax message and all voice message:
NewFax,NewVoiceMail
Read/Write
String
EventList
To activate notification device phone
number is mandatory.
Read/Write
Integer
PhoneNumber
The extra digits (if any) that Cisco Unity
Connection will dial after the phone
number. For numeric pagers, the extra
digits are shown on the pager display.
Read/Write
String (32)
AfterDialDigits
The amount of time (in seconds) Cisco
Unity Connection will wait after detecting
a successful call before dialing specified
additional digits (if any). Additional digits
are contained in AfterDialDigits.
Integer
DialDelay
The amount of time (in minutes) from the
time a message is received until the
message notification triggers (if the
message matches the criteria).
Default Value: 0 Range: 0-120
Read/Write
Integer
InitialDelay
Cisco Unity Connection Provisioning Interface (CUPI) API
277
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Fields: Pager
Page 310
Comments
Operation
Data Type
Parameter
The number of rings Cisco Unity
Connection will wait before hanging up if
the device does not answer.
Default value: 4 Range: 1-100
Read/Write
Integer
RingsToWait
The number of times Cisco Unity
Connection will retry the notification
device if it is busy.
Default value: 4 Range: 0-100
Read/Write
Integer
RetriesOnBusy
The amount of time (in minutes) Cisco
Unity Connection will wait between tries
if the device is busy.
Default value: 5 Range: 1-100
Read/Write
Integer
BusyRetryInterval
The number of times Cisco Unity
Connection will retry the notification
device if the device does not answer.
Default value: 4 Range: 0-100
Read/Write
Integer
RetriesOnRna
The amount of time (in minutes) Cisco
Unity Connection will wait between tries
if the device does not answer.
Default value: 15 Range: 1-100
Read/Write
Integer
RnaRetryInterval
The number of times Cisco Unity
Connection will retry the notification
device if it is successful.
Default value: 0 Range: 0-100
Read/Write
Integer
RetriesOnSuccess
The amount of time (in minutes) Cisco
Unity Connection will wait between tries
if the device is successful.
Default value: 1 Range: 1-100
Read/Write
Integer
SuccessRetryInterval
The unique identifier of the MediaSwitch
objects to use for notification.
Read/Write
String
MediaSwitchObjectid
•
Phone Devices
Phone devices are of 3 types: work phone, home phone and mobile phone. You have to provide phone device
object id to edit any of the 3 devices. All the parameters are same as of pager except 1. That is
<PromptForId>true</PromptForId>. The following URI can be used to view the phone device using user
template notification object ID:
Cisco Unity Connection Provisioning Interface (CUPI) API
278
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Phone Devices
Page 311
GET https://<connection-
server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplatenotificationdevices/usertemplatephonedevic
es/<usertemplatenotificationdeviceobjectId>
HTML Devices
The following URI can be used to view the html devices using user template notification object ID:
GET https://<connection-
server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplatenotificationdevices/usertemplatehtmldevic
es/<usertemplatenotificationdeviceobjectId>
Request Body: To update an HTML Device
<UserTemplateHtmlDevice>
<Active>truee</Active>
<SmtpAddress>tenant@cisco.com</SmtpAddress>
<DisableMobileNumberFromPCA>false</DisableMobileNumberFromPCA>
<HeaderText>erwr</HeaderText>
</UserTemplateHtmlDevice>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
To activate the SmtpAddress parameter is mandatory.
Note
Explanation of Fields: HTML Device
Comment
Operation
Data Type
Parameter
Device name of HTML notification
device.
Read/Write
String
DeviceName
By default it is NewVoiceMail.
Read/Write
String
EventList
SMTP address to be notified.
Read/Write
String
SmtpAddress
HTML notification templates.
Read/Write
String
NotificationTemplateID
Disable Outdial Number From Cisco
PCA.
Default value: False
Read/Write
Boolean
DisableMobileNumberFromPCA
Outdial number.
Read/Write
Integer
CallbackNumber
Cisco Unity Connection Provisioning Interface (CUPI) API
279
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
HTML Devices

Page 312
Comment
Operation
Data Type
Parameter
Disable HTML Template selection
From Cisco PCA.
Default value: False
Read/Write
Boolean
DisableTemplateSelectionFromPCA
•
SMTP Devices
The following URI can be used to view the SMTP devices using user template notification object ID:
GET https://<connection
server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplatenotificationdevices/usertemplatesmtpdevices/<usertemplatenotificationdeviceobjectId>
Request Body: SMTP Devices
<UserTemplateSmtpDevice>
<StaticText>ritu</StaticText>
<Active>true</Active>
<DeviceName>SMTP</DeviceName>
<SendCallerId>false</SendCallerId>
<SendPcaLink>true</SendPcaLink>
<Undeletable>true</Undeletable>
<HeaderText>erwr</HeaderText>
<FooterText>efs</FooterText>
<EventList>AllMessage, CalendarAppointment,CalendarMeeting</EventList>
</UserTemplateSmtpDevice>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Explanation of fields: SMTP Devices
Comment
Operation
Data Type
Parameter
Enable SMTP notification device. SMTP
address is mandatory to enable it.
Default value: False
Read/Write
Boolean
Active
SMTP address to be notified.
Read/Write
String
SmtpAddress
Delay before the First Notification Attempt
Read/Write
Integer
InitialDelay
Repeat Notification if there are Still New
Messages.
Default value: False
Read/Write
Boolean
RepeatNotify
Notification Repeat Interval
Read/Write
Integer
RepeatInterval
Cisco Unity Connection Provisioning Interface (CUPI) API
280
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
SMTP Devices
Page 313
Comment
Operation
Data Type
Parameter
Values can be:
• All messages: AllMessage
• All message urgent only:
AllUrgentMessage
• All Voice messages: NewVoiceMail
• All voice message urgent only:
NewUrgentVoiceMai
• Dispatch messages: DispatchMessage
• Dispatch message urgent only:
UrgentDispatchMessage
• Fax messages: NewFax
• Fax messages urgent only:
NewUrgentFax
• All voice messages and fax message
urgent only:
NewUrgentFax,NewVoiceMail
• All voice message urgent only and
fax message:
NewUrgentFax,NewUrgentVoiceMail
• Fax message and all voice message:
NewFax,NewVoiceMail
• Calendar Appointment:
CalendarAppointment
• Calendar meeting: CalendarMeeting
Read/Write
String
EventList
From which number SMTP notification is
sent.
Read/Write
Integer
PhoneNumbe
Message Header
Read/Write
String
HeaderText
Message text
Read/Write
String
StaticText
Message footer
Read/Write
String
FooterText
Include Message Information in Message
Text.
Default value: True
Read/Write
Boolean
SendCallerId
Include Message Count in Message Text.
Default value: True
Read/Write
Boolean
SendCount
Cisco Unity Connection Provisioning Interface (CUPI) API
281
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of fields: SMTP Devices
Page 314
Comment
Operation
Data Type
Parameter
Include a Link to the Cisco Unity
Connection Web Inbox in Message Text.
Default value: False
Read/Write
Boolean
SendPcaLink
Creating a new Notification device
The following URI can be used to create a pager device:
POST https://<connection-
server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplatenotificationdevic
es/usertemplatepagerdevices
Request Body:
<UserTemplateNotificationDevice>
<DisplayName>Newpager</DisplayName>
<MediaSwitchObjectId>8adf6869-4afc-4455-9fd5-d05b68ca6630</MediaSwitchObjectId>
</UserTemplateNotificationDevice>
he following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/usertemplates/<objectid>/usertemplatenotificationdevices/<objectid>
Phone system Id is mandatory to create pager device.
Cisco Unity Connection Provisioning Interface (CUPI) API --
User Template Phone Menu
User Template Phone Menu
The following URI can be used to view the user template object ID:
GET https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>
Updating Phone menu fields
Request Body:
<UserTemplate>
<PromptVolume>50</PromptVolume>
<PromptSpeed>100</PromptSpeed>
<IsClockMode24Hour>false</IsClockMode24Hour>
<ConversationTui>SubMenu</ConversationTui>
<MessageLocatorSortOrder>1</MessageLocatorSortOrder>
<JumpToMessagesOnLogin>false</JumpToMessagesOnLogin>
</UserTemplate>
Cisco Unity Connection Provisioning Interface (CUPI) API
282
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Creating a new Notification device
Page 315
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Updating Conversation fields
Example 1: Edit call actions
<User>
<ExitAction>1</ExitAction>
</User>
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Example 2: Edit call handler
<User>
<ExitAction>2</ExitAction>
<ExitTargetConversation>PHTransfer</ExitTargetConversation>
<ExitTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</ExitTargetHandlerObjectId>
</User>
The following URI can be used to view call handler template object ID:
GET https://<connection-server>/vmrest/handlers/callhandlers
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Example 3: Interview handler
<User>
<ExitAction>2</ExitAction>
<ExitTargetConversation>PHInterview</ExitTargetConversation>
<ExitTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</ExitTargetHandlerObjectId>
</User>
The following is an example of the GET request that shows the interview handler template object ID:
GET https://<connection-server>/vmrest/handlers/interviewhandlers
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Example 4: Directory handler
The following is an example of the GET request that shows the directory handler template object ID:
GET https://<connection-server>/vmrest/handlers/directoryhandlers
Cisco Unity Connection Provisioning Interface (CUPI) API
283
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Updating Conversation fields
Page 316
<User>
<ExitAction>2</ExitAction>
<ExitTargetConversation>AD</ExitTargetConversation>
<ExitTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</ExitTargetHandlerObjectId>
</User>
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Example 5: Conversation
Request Body: for broadcast message administrator
<User>
<ExitAction>2</ExitAction>
<ExitTargetConversation>BroadcastMessageAdministrator</ExitTargetConversation>
</UserTemplate>
The following is the response from the PUT request for broadcast message administrator and the actual
response will depend upon the information given by you:
Response Code: 204
Request Body: for caller system transfer
<User>
<ExitAction>2</ExitAction>
<ExitTargetConversation>SystemTransfer</ExitTargetConversation>
</User>
The following is the response from the PUT request for caller system transfer and the actual response will
depend upon the information given by you:
Response Code: 204
Request Body: for greeting administrator
<User>
<ExitAction>2</ExitAction>
<ExitTargetConversation>GreetingAdministrator</ExitTargetConversation>
</User>
The following is the response from the PUT request for greeting administrator and the actual response will
depend upon the information given by you:
Response Code: 204
Request Body: for sign in
<UserTemplate>
<ExitAction>2</ExitAction>
<ExitTargetConversation>SubSignIn</ExitTargetConversation>
</UserTemplate>
Cisco Unity Connection Provisioning Interface (CUPI) API
284
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Updating Conversation fields
Page 317
The following is the response from the PUT request for sign in and the actual response will depend upon
the information given by you:
Response Code: 204
Request Body: for user system transfer
<User>
<ExitAction>2</ExitAction>
<ExitTargetConversation>SubSysTransfer</ExitTargetConversation>
</User>
The following is the response from the PUT request for user system transfer and the actual response will
depend upon the information given by you:
Response Code: 204
Example 6: Users with Mailbox
<User>
<ExitAction>2</ExitAction>
<ExitTargetConversation>PHTransfer</ExitTargetConversation>
<ExitTargetHandlerObjectId>71cb381b-fd16-4ba8-8a1d-e71684e57b0e</ExitTargetHandlerObjectId>
</User>
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
JSON Example To set exit action, do the following:
PUT https://<connection-server>/vmrest/users/<userobjectid>
Accept: application/json
Content-type: application/json
Connection: keep-alive
{
"ExitAction":"2",
"ExitTargetConversation":"SubSysTransfer"
}
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Explanation of Data Fields
Values
Parameters
*True: Brief
• False: Full
useBriefPrompts
Cisco Unity Connection Provisioning Interface (CUPI) API
285
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 318
Values
Parameters
*25: Low
• 50: Medium
• 100: High
PromptVolume
*50: Slow
• 100: Normal
• 150: Fast
• 200: Fastest
PromptSpeed
*True: 24-Hour Clock (00:00 - 23:59)
• False: 12-Hour Clock (12:00 AM - 11:59 PM)
IsClockMode24Hour
*SubMenu: Classic Conversation
• SubMenu_Alternate_Custom: Custom keypad
mapping1
• SubMenu_Alternate_Custom1: Custom keypad
mapping1
• SubMenu_AlternateN: Alternate Keypad
Mapping(N)
• SubMenu_AlternateS: Alternate Keypad
Mapping(S)
• SubMenu_AlternateX: Alternate Keypad
Mapping (X)
• SubMenuOpt1: Optional conversation1
• SubMenu_AlternateI: Standard Conversation
ConversationTUI
*1: Last In, First Out
• 2: First In, First Out
MessageLocatorSortOrde
PromptVolume and PromptSpeed parameters must be of the same range given in the table.
Note
Cisco Unity Connection Provisioning Interface (CUPI) API --
Playback Message Settings
Playback Message Settings
The following URI can be used to view the user template object ID:
GET https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>
Cisco Unity Connection Provisioning Interface (CUPI) API
286
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Cisco Unity Connection Provisioning Interface (CUPI) API -- Playback Message Settings

Page 319
Edit Parameters
Request Body:
<UserTemplate>
<Volume>50</Volume>
<Speed>100</Speed>
<SayTotalNew>true</SayTotalNew>
<SayTotalNewVoice>true</SayTotalNewVoice>
<SayTotalNewEmail>false</SayTotalNewEmail>
<SayTotalNewFax>false</SayTotalNewFax>
<SayTotalReceipts>false</SayTotalReceipts>
<SayTotalSaved>true</SayTotalSaved>
<SayTotalDraftMsg>false</SayTotalDraftMsg>
<MessageTypeMenu>false</MessageTypeMenu>
<NewMessageSortOrder>2</NewMessageSortOrder>
<SaveMessageOnHangup>1</SaveMessageOnHangup>
<DeletedMessageSortOrder>1</DeletedMessageSortOrder>
<SaySender>true</SaySender>
<SaySenderExtension>false</SaySenderExtension>
<SayAni>true</SayAni>
<SayMsgNumber>true</SayMsgNumber>
<SayTimestampBefore>true</SayTimestampBefore>
<AutoAdvanceMsgs>false</AutoAdvanceMsgs>
<ConfirmDeleteMessage>true</ConfirmDeleteMessage>
</UserTemplate>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
To sort the message type:
• for new message: <NewMessageSortOrder>2</NewMessageSortOrder>
• for saved message: <SaveMessageSortOrder>1</SaveMessageSortOrder>
• for deleted message: <DeletedMessageSortOrder>1</DeletedMessageSortOrder>
Note
All the possible values for above three parameters are given in the table.
Explanation of Data Fields
Description
Operation
Data
Type
Parameter
The audio volume expressed as a percentage that Cisco Unity
Connection uses to play back message. The range can vary from 0 to
100.
Possible values:
• 25: Low
• 50: Medium
• 100: High
Default value: 50
Read/Write
Integer
Volume
Cisco Unity Connection Provisioning Interface (CUPI) API
287
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Edit Parameters

Page 320
Description
Operation
Data
Type
Parameter
The audio speed system uses to play back messages to the subscriber.
The range can vary from 0 to 200.
• 50: Slow
• 100: Normal
• 150: Fast
• 200: Fastest
Default value: 100
Read/Write
Integer
Speed
A flag indicating when hanging up while listening to a new message,
whether the message is marked new again or is marked read.
Possible Values:
• false: New
• true: Saved
Default Value: false
Read/Write
Boolean
SaveMessageOnHangup
The order in which Cisco Unity Connection will sort new messages.
Possible values:
• 1: Newest First
• 2: Oldest First
Default Value: 1
Read/Write
Integer
NewMessageSortOrder
The order in which Cisco Unity Connection will sort saved messages..
Possible values:
• 1: Newest First
• 2: Oldest First
Default Value: 2
Read/Write
Integer
SavedMessageSortOrder
The order in which Cisco Unity Connection presents deleted messages
to the subscriber.
Possible values:
• 1: Newest First
• 2: Oldest First
Default Value: 2
Read/Write
Integer
DeletedMessageSortOrder
Volume and Speed parameters must be of the same range given in the table.
Note
Cisco Unity Connection Provisioning Interface (CUPI) API
288
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields

Page 321
Cisco Unity Connection Provisioning Interface (CUPI) API --
User Template Post Greeting Recordings
User Template Post Greeting Recordings
The following URI can be used to view the user template object ID:
GET https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>
From the above UR, get the call handler primary template object ID:
GET
https://<connection-server>/vmrestvmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>
Update Post Greeting Recording Settings
Request Body:
<CallhandlerPrimaryTemplate>
<PlayPostGreetingRecording>1</PlayPostGreetingRecording>
</CallhandlerPrimaryTemplate>
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
JSON Example
To update post greeting recording settings, do the following:
Request URI:
PUT https://<connection-server>/vmrest/callhandlerprimarytemplates/<ObjectId>
Accept: application/json
Content-type: application/json
Connection: keep-alive
Request Body:
{
"PlayPostGreetingRecording":"1"
}
The following is the response from the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
289
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Post Greeting Recordings
Page 322
Explanation of Data Fields
Values
Parameters
• 0:
Do
Not
Play
Recording
• 1:
Play
Recording
to
Al
Calers
• 2:
Play
Recording
Only
to
Unidentified
Calers
PlayPostGreetingRecording
Object
Id of
post
greeting.
PostGreetingRecordingObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API --
Send Message Settings
Cisco Unity Connection Provisioning Interface (CUPI) API --
User Template Transfer Rules
Transfer Rules API
Administrator can use this API to create/update/delete/fetch the transfer rules. Various attributes of transfer
rules can also be updated using this API. The following are the examples to access various types of transfer
rules:
• To view call handler primary templates of a particular user template use the URI:
GET
https://<connection-server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>
Cisco Unity Connection Provisioning Interface (CUPI) API
290
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 323
• From call handler primary template use the URI to view transfer options:
vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>/transferoptions
• To view the alternate transfer rule use the URI:
GET
https://<connection-server>/vmrestvmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>/transferoptions/Alternate
• To view closed transfer rule use the URI:
GET
https://<connection-server>/vmrestvmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>/transferoptions/Off%20Hours
• To view standard transfer rule use the URI:
GET
https://<connection-server>/vmrestvmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>/transferoptions/Standard
Viewing the Alternate Transfer Rule
The following is an example of the GET request that lists the details of alternate transfer rule:
GET
https://<connection-server>/vmrestvmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>/transferoptions/Alternate
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<TransferOption>
<URI>/vmrest/callhandlerprimarytemplates/45e0a6f4-43c4-472a-8ffb-f6124aa549d0/transferoptions/Alternate</URI>
<CallHandlerObjectId>45e0a6f4-43c4-472a-8ffb-f6124aa549d0</CallHandlerObjectId>
<CallhandlerURI>/vmrest/callhandlerprimarytemplates/45e0a6f4-43c4-472a-8ffb-f6124aa549d0</CallhandlerURI>
<TransferOptionType>Alternate</TransferOptionType>
<Action>1</Action>
<RnaAction>1</RnaAction>
<TimeExpires>1972-01-01 00:00:00.0</TimeExpires>
<TransferAnnounce>false</TransferAnnounce>
<TransferConfirm>false</TransferConfirm>
<TransferDtDetect>false</TransferDtDetect>
<TransferHoldingMode>0</TransferHoldingMode>
<TransferIntroduce>false</TransferIntroduce>
<TransferRings>4</TransferRings>
<TransferScreening>false</TransferScreening>
<TransferType>0</TransferType>
<MediaSwitchObjectId>221ee752-5147-4326-9990-d4a138674f9e</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/221ee752-5147-4326-9990-d4a138674f9e</PhoneSystemURI>
<UsePrimaryExtension>true</UsePrimaryExtension>
<PlayTransferPrompt>true</PlayTransferPrompt>
<PersonalCallTransfer>false</PersonalCallTransfer>
<Enabled>false</Enabled>
</TransferOption>
Response Code: 200
Cisco Unity Connection Provisioning Interface (CUPI) API
291
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Viewing the Alternate Transfer Rule
Page 324
JSON Example
To view the alternate transfer rule, do the following:
Request URI:
GET
https://<connection-server>/vmrest/callhandlerprimarytemplates/<callhandlerprimarytemplatesobjectid>/transferoptions
Accept: application/json
Content-type: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
292
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Viewing the Alternate Transfer Rule
Page 325
{
"@total":"3"
"TransferOption":[
{
"URI":"/vmrest/callhandlerprimarytemplates/02dcae3e-2e7c-4997-a36e-0f5276281078/transferoptions/Alternate"
"CallHandlerObjectId":"02dcae3e-2e7c-4997-a36e-0f5276281078"
"CallhandlerURI":"/vmrest/callhandlerprimarytemplates/02dcae3e-2e7c-4997-a36e-0f5276281078"
"TransferOptionType":"Alternate"
"Action":"1"
"RnaAction":"1"
"TransferAnnounce":"false"
"TransferConfirm":"false"
"TransferDtDetect":"false"
"TransferHoldingMode":"0"
"TransferIntroduce":"false"
"TransferRings":"4"
"TransferScreening":"false"
"TransferType":"0"
"MediaSwitchObjectId":"7c654c70-e76c-4e47-b8f6-fa92cec6755e"
"PhoneSystemURI":"/vmrest/phonesystems/7c654c70-e76c-4e47-b8f6-fa92cec6755e"
"UsePrimaryExtension":"true"
"PlayTransferPrompt":"true"
"PersonalCallTransfer":"false"
"Enabled":"true"
}
{
"URI":"/vmrest/callhandlerprimarytemplates/02dcae3e-2e7c-4997-a36e-0f5276281078/transferoptions/Off%20Hours"
"CallHandlerObjectId":"02dcae3e-2e7c-4997-a36e-0f5276281078"
"CallhandlerURI":"/vmrest/callhandlerprimarytemplates/02dcae3e-2e7c-4997-a36e-0f5276281078"
"TransferOptionType":"Off Hours"
"Action":"1"
"RnaAction":"1"
"TransferAnnounce":"false"
"TransferConfirm":"false"
"TransferDtDetect":"false"
"TransferHoldingMode":"0"
"TransferIntroduce":"false"
"TransferRings":"4"
"TransferScreening":"false"
"TransferType":"0"
"MediaSwitchObjectId":"7c654c70-e76c-4e47-b8f6-fa92cec6755e"
"PhoneSystemURI":"/vmrest/phonesystems/7c654c70-e76c-4e47-b8f6-fa92cec6755e"
"UsePrimaryExtension":"true"
"PlayTransferPrompt":"true"
"PersonalCallTransfer":"false"
"Enabled":"true"
}
{
"URI":"/vmrest/callhandlerprimarytemplates/02dcae3e-2e7c-4997-a36e-0f5276281078/transferoptions/Standard"
"CallHandlerObjectId":"02dcae3e-2e7c-4997-a36e-0f5276281078"
"CallhandlerURI":"/vmrest/callhandlerprimarytemplates/02dcae3e-2e7c-4997-a36e-0f5276281078"
"TransferOptionType":"Standard"
"Action":"1"
"RnaAction":"1"
"TransferAnnounce":"false"
"TransferConfirm":"false"
"TransferDtDetect":"false"
"TransferHoldingMode":"0"
"TransferIntroduce":"false"
"TransferRings":"4"
"TransferScreening":"false"
"TransferType":"0"
"MediaSwitchObjectId":"7c654c70-e76c-4e47-b8f6-fa92cec6755e"
"PhoneSystemURI":"/vmrest/phonesystems/7c654c70-e76c-4e47-b8f6-fa92cec6755e"
Cisco Unity Connection Provisioning Interface (CUPI) API
293
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Viewing the Alternate Transfer Rule
Page 326
"UsePrimaryExtension":"true"
"PlayTransferPrompt":"true"
"PersonalCallTransfer":"false"
"Enabled":"true"
}
]
}
Response Code: 200
Updating Transfer Option
The following is an example of the GET request that updates the transfer option:
GET
https://<connection-server>/vmrestvmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>/transferoptions/Alternate
<TransferOption>
<Action>0</Action>
<TimeExpires>1972-01-01 00:00:00.0</TimeExpires>
<TransferAnnounce>false</TransferAnnounce>
<TransferConfirm>false</TransferConfirm>
<TransferHoldingMode>0</TransferHoldingMode>
<TransferIntroduce>false</TransferIntroduce>
<TransferRings>4</TransferRings>
<TransferScreening>false</TransferScreening>
<TransferType>0</TransferType>
</TransferOption>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
To update the transfer rule, do the following:
Request URI:
PUT
https://<connection-server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>/transferoptions/Alternate
Accept: application/json
Content-type: application/json
Connection: keep-alive
Request Body:
{
"Action":"1",
"TransferAnnounce":"false",
"TransferConfirm":"false",
"TransferHoldingMode":"0",
"TransferIntroduce":"false",
"TransferRings":"4",
"TransferScreening":"false",
"TransferType":"0"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
294
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Updating Transfer Option
Page 327
Response Code: 204
Use the following code snippet to change action to "Enable with no end date":
<TransferOption>
<Enabled>true</Enabled>
<TimeExpires></TimeExpires>
</TransferOption>
Same way closed transfer rule can be edited and for standard transfer rule status cannot be updated.
Note
Explanation of Data Fields
Comments
Operations
Data
Type
Parameter
The type of transfer option, e.g. "Standard," "Off Hours," or
"Alternate."
Read
Only
String(64)
TransferOptionType
To enable transfer rules.
Possible values:
• true
• false
Default value: false
Read/Write
Boolean
Enabled
The date and time when this transfer option expires. If the transfer rule
is enabled, the value is NULL or a date in the future. If the transfer
rule is disable, the value is a past date.
Read/Write
DateTime
TimeExpires
A flag indicating whether Cisco Unity Connection transfers the call
to the call handler greeting or attempts to transfer the call to an
extension.
Values can be:
• 0: Greeting
• 1: Extension
Read/Write
Integer
Actions
The type of call transfer Cisco Unity Connection will perform -
supervised or unsupervised (also referred to as "Release to Switch"
transfer).
Values:
• 0: Release to Switch
• 1: Supervise Transfer
Read/Write
Integer
TransferType
Cisco Unity Connection Provisioning Interface (CUPI) API
295
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields

Page 328
Comments
Operations
Data
Type
Parameter
The number of times the extension rings before Cisco Unity Connection
considers it a "ring no answer" and plays the subscriber or handler
greeting.
Applies only when the "TransferType" column is set to supervised (1).
This value should never be less than 2 for a supervised transfer.
Possible Values: 2-20 Default value: 4
Read/Write
Integer
TransferRings
Enables "Wait While I Transfer Your Call" Prompt.
Values:
• false: System will not play the "Wait while I transfer your call"
prompt prior to transfer.
• true: System will play the "Wait while I transfer your call" prompt
prior to transfer.
Default value: true
Read/Write
Boolean
PlayTransferPrompt
The action Cisco Unity Connection will take when the extension is
busy.
Applies only when the "TransferType" column is set to supervised (1).
Values:
• 0: Send callers to voicemail.
• 1: Put callers on hold without asking.
• 2: Ask callers to hold.
Read/Write
Integer
TransferHoldingMode
A flag indicating whether Cisco Unity Connection plays "transferring
call" when the subscriber answers the phone.
Requires a "TransferType" of supervised (1). Values:
• false: Do not say "Transferring call" when the subscriber answers
the phone
• true: Say "Transferring call" when the subscriber answers the
phone
Default value: false
Read/Write
Boolean
TransferAnnounce
A flag indicating whether Cisco Unity Connection will say "call for
<recorded name of the call handler>" when the subscriber answers the
phone.
Requires a "TransferType" of supervised (1). This functionality is
normally used when a single extension number is being shared by
multiple subscribers or a scenario where the subscriber who is the
message recipient takes calls for more than one dialed extension. The
introduction alerts the subscriber who answers that the call is for the
call handler. Default value: false
Read/Write
Boolean
TransferIntroduce
Cisco Unity Connection Provisioning Interface (CUPI) API
296
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 329
Comments
Operations
Data
Type
Parameter
A flag indicating whether Cisco Unity Connection prompts the
subscriber to accept or refuse a call ("Press 1 to take the call or 2 and
I'll take a message"). If the call is accepted, it is transferred to the
subscriber phone. If the call is refused, Cisco Unity Connection plays
the applicable subscriber greeting.
Requires a "TransferType" of supervised (1). Typically this is used in
conjunction with the call screening option ("TransferScreening"
column) enabled. This combination enables the subscriber to hear the
name of the caller and then decide if they want to take the call or not.
Values:
• false: Transfer confirm disabled
• true: Transfer confirm enabled
Default value: false
Read/Write
Boolean
TransferConfirm
Requires a "TransferType" of supervised (1).
Normally this column is used along with "TransferConfirm" to allow
the subscriber to screen calls. Values:
• false: Call screening disabled
• true: Ask and record caller name
Default value: false
Read/Write
Boolean
TransferScreening
Cisco Unity Connection Provisioning Interface (CUPI) API --
User Template
User Templates API
Administrator can use this API to create/update/delete/fetch the user template. Various attributes of user
template can also be updated using this API.
Listing the User Templates
The request can be used to fetch the list of all user templates. It can also be used to fetch the list of user
templates based on specific partition object ID, COS objec t ID, mailbox store object ID, phone system, call
handler object ID.
GET https://<connection-server>/vmrest/usertemplates
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
297
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template
Page 330
<UserTemplates total="1">
<UserTemplate>
<URI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039-2b13f76bf631</URI>
<ObjectId>c2056af2-bed7-4a0d-9039-2b13f76bf631</ObjectId>
<TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId>
<UseDefaultLanguage>true</UseDefaultLanguage>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<Alias>Texoma_User_Template1</Alias>
<City/>
<State/>
<Country>US</Country>
<PostalCode/>
<Manager/>
<Building/>
<Address/>
<DisplayName>Texoma_User_Template1</DisplayName>
<BillingId/>
<TimeZone>190</TimeZone>
<CreationTime>2012-12-26 13:04:28.9</CreationTime>
<CosObjectId>0ef61610-a729-4b0d-9476-cab095028db3</CosObjectId>
<CosURI>/vmrest/coses/0ef61610-a729-4b0d-9476-cab095028db3</CosURI>
<Language>1033</Language>
<LocationObjectId>27a67e01-bcb4-4012-8b1b-f0a08b736087</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/27a67e01-b
cb4-4012-8b1b-f0a08b736087</LocationURI>
<AddressMode>0</AddressMode>
<ClockMode>0</ClockMode>
<ConversationTui>SubMenu</ConversationTui>
<GreetByName>true</GreetByName>
<ListInDirectory>true</ListInDirectory>
<IsVmEnrolled>true</IsVmEnrolled>
<SayCopiedNames>true</SayCopiedNames>
<SayDistributionList>true</SayDistributionList>
<SayMsgNumber>true</SayMsgNumber>
<SaySender>true</SaySender>
<SayTimestampAfter>true</SayTimestampAfter>
<SayTimestampBefore>false</SayTimestampBefore>
<SayTotalNew>false</SayTotalNew>
<SayTotalNewEmail>false</SayTotalNewEmail>
<SayTotalNewFax>false</SayTotalNewFax>
<SayTotalNewVoice>true</SayTotalNewVoice>
<SayTotalReceipts>false</SayTotalReceipts>
<SayTotalSaved>true</SayTotalSaved>
<Speed>100</Speed>
<MediaSwitchObjectId>b6df8cb3-b3ce-4797-84f3-5559049df8e8</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/b6df8cb3-b3ce-4797-84f3-
5559049df8e8</PhoneSystemURI>
<Undeletable>false</Undeletable>
<UseBriefPrompts>false</UseBriefPrompts>
<Volume>50</Volume>
<EnAltGreetDontRingPhone>false</EnAltGreetDontRingPhone>
<EnAltGreetPreventSkip>false</EnAltGreetPreventSkip>
<EnAltGreetPreventMsg>false</EnAltGreetPreventMsg>
<EncryptPrivateMessages>false</EncryptPrivateMessages>
<DeletedMessageSortOrder>2</DeletedMessageSortOrder>
<SayAltGreetWarning>false</SayAltGreetWarning>
<SaySenderExtension>false</SaySenderExtension>
<SayAni>false</SayAni>
<ExitCallActionObjectId>0463e49b-cde4-4c30-877c-acfe25966a42</ExitCallActionObjectId>
<CallAnswerTimeout>4</CallAnswerTimeout>
<CallHandlerObjectId>83c9b890-6659-4c0f-8be6-8a1a85efee7e</CallHandlerObjectId>
<CallhandlerURI>/vmrest/callhandlerprimarytemplates/83c9b890-6659-4c0f-8be6-8a1a85efee7e</CallhandlerURI>
Cisco Unity Connection Provisioning Interface (CUPI) API
298
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Listing the User Templates
Page 331
<DisplayNameRule>1</DisplayNameRule>
<DoesntExpire>false</DoesntExpire>
<CantChange>false</CantChange>
<MailboxStoreObjectId>e983490d-78a5-45aa-b9a0-31f51460a5bd</MailboxStoreObjectId>
<SavedMessageStackOrder>1234567</SavedMessageStackOrder>
<NewMessageStackOrder>1234567</NewMessageStackOrder>
<MessageLocatorSortOrder>1</MessageLocatorSortOrder>
<SavedMessageSortOrder>2</SavedMessageSortOrder>
<NewMessageSortOrder>1</NewMessageSortOrder>
<MessageTypeMenu>false</MessageTypeMenu>
<EnablePersonalRules>true</EnablePersonalRules>
<RecordUnknownCallerName>true</RecordUnknownCallerName>
<RingPrimaryPhoneFirst>false</RingPrimaryPhoneFirst>
<PromptSpeed>100</PromptSpeed>
<ExitAction>2</ExitAction>
<ExitTargetConversation>PHGreeting</ExitTargetConversation>
<ExitTargetHandlerObjectId>063956f9-c5ca-4e8b-be67-
ff945a8a5d99</ExitTargetHandlerObjectId>
<RepeatMenu>1</RepeatMenu>
<FirstDigitTimeout>5000</FirstDigitTimeout>
<InterdigitDelay>3000</InterdigitDelay>
<PromptVolume>50</PromptVolume>
<DelayAfterGreeting>0</DelayAfterGreeting>
<AddressAfterRecord>false</AddressAfterRecord>
<ConfirmDeleteMessage>false</ConfirmDeleteMessage>
<ConfirmDeleteDeletedMessage>false</ConfirmDeleteDeletedMessage>
<ConfirmDeleteMultipleMessages>true</ConfirmDeleteMultipleMessages>
<IsClockMode24Hour>false</IsClockMode24Hour>
<RouteNDRToSender>true</RouteNDRToSender>
<NotificationType>0</NotificationType>
<SendReadReceipts>1</SendReadReceipts>
<ReceiveQuota>-2</ReceiveQuota>
<SendQuota>-2</SendQuota>
<WarningQuota>-2</WarningQuota>
<IsSetForVmEnrollment>true</IsSetForVmEnrollment>
<VoiceNameRequired>false</VoiceNameRequired>
<SendBroadcastMsg>false</SendBroadcastMsg>
<UpdateBroadcastMsg>false</UpdateBroadcastMsg>
<ConversationVui>VuiStart</ConversationVui>
<SpeechCompleteTimeout>0</SpeechCompleteTimeout>
<SpeechIncompleteTimeout>750</SpeechIncompleteTimeout>
<UseVui>false</UseVui>
<SkipPasswordForKnownDevice>false</SkipPasswordForKnownDevice>
<JumpToMessagesOnLogin>true</JumpToMessagesOnLogin>
<EnableMessageLocator>false</EnableMessageLocator>
<MessageAgingPolicyObjectId>6780a194-6efd-4311-819f-
494a082bb093</MessageAgingPolicyObjectId>
<MessageAgingPolicyURI>/vmrest/messageagingpolicies/6780a194-6efd-4311-819f-
494a082bb093</MessageAgingPolicyURI>
<AssistantRowsPerPage>5</AssistantRowsPerPage>
<InboxMessagesPerPage>20</InboxMessagesPerPage>
<InboxAutoRefresh>15</InboxAutoRefresh>
<InboxAutoResolveMessageRecipients>true</InboxAutoResolveMessageRecipients>
<PcaAddressBookRowsPerPage>5</PcaAddressBookRowsPerPage>
<ReadOnly>false</ReadOnly>
<EnableTts>true</EnableTts>
<ConfirmationConfidenceThreshold>60</ConfirmationConfidenceThreshold>
<AnnounceUpcomingMeetings>60</AnnounceUpcomingMeetings>
<SpeechConfidenceThreshold>40</SpeechConfidenceThreshold>
<SpeechSpeedVsAccuracy>50</SpeechSpeedVsAccuracy>
<SpeechSensitivity>50</SpeechSensitivity>
<EnableVisualMessageLocator>false</EnableVisualMessageLocator>
<ContinuousAddMode>false</ContinuousAddMode>
Cisco Unity Connection Provisioning Interface (CUPI) API
299
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Listing the User Templates
Page 332
<NameConfirmation>false</NameConfirmation>
<CommandDigitTimeout>1500</CommandDigitTimeout>
<SaveMessageOnHangup>false</SaveMessageOnHangup>
<SendMessageOnHangup>1</SendMessageOnHangup>
<SkipForwardTime>5000</SkipForwardTime>
<SkipReverseTime>5000</SkipReverseTime>
<UseShortPollForCache>false</UseShortPollForCache>
<SearchByExtensionSearchSpaceObjectId>2e0da21b-54e4-4b51-9f09-
960049a5e806</SearchByExtensionSearchSpaceObjectId>
<SearchByExtensionSearchSpaceURI>/vmrest/searchspaces/2e0da21b-54e4-4b51-9f09-
960049a5e806</SearchByExtensionSearchSpaceURI>
<SearchByNameSearchSpaceObjectId>2e0da21b-54e4-4b51-9f09-960049a5e806</SearchByNameSearchSpaceObjectId>
<SearchByNameSearchSpaceURI>/vmrest/searchspaces/2e0da21b-54e4-4b51-9f09-960049a5e806</SearchByNameSearchSpaceURI>
<PartitionObjectId>c6ff147e-c32c-4ade-8f12-46427c795c21</PartitionObjectId>
<PartitionURI>/vmrest/partitions/c6ff147e-c32c-4ade-8f12-46427c795c21</PartitionURI>
<UseDynamicNameSearchWeight>false</UseDynamicNameSearchWeight>
<LdapType>0</LdapType>
<EnableMessageBookmark>false</EnableMessageBookmark>
<SayTotalDraftMsg>false</SayTotalDraftMsg>
<EnableSaveDraft>false</EnableSaveDraft>
<RetainUrgentMessageFlag>false</RetainUrgentMessageFlag>
<SayMessageLength>false</SayMessageLength>
<CreateSmtpProxyFromCorp>false</CreateSmtpProxyFromCorp>
<AutoAdvanceMsgs>false</AutoAdvanceMsgs>
<SaySenderAfter>false</SaySenderAfter>
<SaySenderExtensionAfter>false</SaySenderExtensionAfter>
<SayMsgNumberAfter>false</SayMsgNumberAfter>
<SayAniAfter>false</SayAniAfter>
<SayMessageLengthAfter>false</SayMessageLengthAfter>
<UserTemplateRolesURI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039-
2b13f76bf631/usertemplateroles</UserTemplateRolesURI>
<UserTemplateNotificationDevicesURI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039-2b13f76bf631/usertemplatenotificationdevices</UserTemplateNotificationDevicesURI>
<TemplateExternalServiceAccountsURI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039-2b13f76bf631/templateexternalserviceaccounts</TemplateExternalServiceAccountsURI>
<UserTemplateWebPasswordURI>/vmrest/usertemplates/c2056af2-bed7-4a0d-90392b13f76bf631/credential/password</UserTemplateWebPasswordURI>
<UserTemplateVoicePinURI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039-
2b13f76bf631/credential/pin</UserTemplateVoicePinURI>
<UserTemplateMessageActionURI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039-
2b13f76bf631/usertemplatemessageactions</UserTemplateMessageActionURI>
</UserTemplate>
</UserTemplates>
Response Code: 200
JSON Example
To view the list of user templates, do the following:
Request URI:
GET https://<connection-server>/vmrest/usertemplates
Accept: application/json
Content_type: application/json
Connection: keep_alive
Cisco Unity Connection Provisioning Interface (CUPI) API
300
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Listing the User Templates
Page 333
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
301
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Listing the User Templates
Page 334
{
"@total":"1"
"UserTemplate":[
{
"URI":"/vmrest/usertemplates/6164ac2d-e8ec-441a-93a0-95f8e18a655c"
"ObjectId":"6164ac2d-e8ec-441a-93a0-95f8e18a655c"
"TenantObjectId": "fe6541fb-b42c-44f2-8404-ded14cbf7438"
"UseDefaultLanguage":"true"
"UseDefaultTimeZone":"true"
"Alias":"voicemailusertemplate"
"DisplayName":"Voice Mail User Template"
"TimeZone":"190"
"CreationTime":"2013-02-25T09:39:25Z"
"CosObjectId":"0b59d616-6434-443a-95aa-00b9d7315d54"
"CosURI":"/vmrest/coses/0b59d616-6434-443a-95aa-00b9d7315d54"
"Language":"1033"
"LocationObjectId":"cff1347e-87af-4409-bead-d1970625f82e"
"LocationURI":"/vmrest/locations/connectionlocations/cff1347e-87af-4409-bead-d1970625f82e"
"AddressMode":"0"
"ClockMode":"0"
"ConversationTui":"SubMenu"
"GreetByName":"true"
"ListInDirectory":"true"
"IsVmEnrolled":"true"
"SayCopiedNames":"true"
"SayDistributionList":"true"
"SayMsgNumber":"true"
"SaySender":"true"
"SayTimestampAfter":"true"
"SayTimestampBefore":"false"
"SayTotalNew":"false"
"SayTotalNewEmail":"false"
"SayTotalNewFax":"false"
"SayTotalNewVoice":"true"
"SayTotalReceipts":"false"
"SayTotalSaved":"true"
"Speed":"100"
"MediaSwitchObjectId":"0ad0b88c-4a70-4cf7-913e-d5d7a921caca"
"PhoneSystemURI":"/vmrest/phonesystems/0ad0b88c-4a70-4cf7-913e-d5d7a921caca"
"Undeletable":"true"
"UseBriefPrompts":"false"
"Volume":"50"
"EnAltGreetDontRingPhone":"false"
"EnAltGreetPreventSkip":"false"
"EnAltGreetPreventMsg":"false"
"EncryptPrivateMessages":"false"
"DeletedMessageSortOrder":"2"
"SayAltGreetWarning":"false"
"SaySenderExtension":"false"
"SayAni":"false"
"ExitCallActionObjectId":"38f2eab0-a78c-49a2-8aee-ff562844d5db"
"CallAnswerTimeout":"4"
"CallHandlerObjectId":"6bcd837d-f1cf-43c2-b199-85b457858a16"
"CallhandlerURI":"/vmrest/callhandlerprimarytemplates/6bcd837d-f1cf-43c2-b199-
85b457858a16"
"DisplayNameRule":"1"
"DoesntExpire":"false"
"CantChange":"false"
"MailboxStoreObjectId":"02089c75-e8a2-4724-a570-9bed7768e716"
"SavedMessageStackOrder":"1234567"
"NewMessageStackOrder":"1234567"
"MessageLocatorSortOrder":"1"
Cisco Unity Connection Provisioning Interface (CUPI) API
302
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Listing the User Templates
Page 335
"SavedMessageSortOrder":"2"
"NewMessageSortOrder":"1"
"MessageTypeMenu":"false"
"EnablePersonalRules":"true"
"RecordUnknownCallerName":"true"
"RingPrimaryPhoneFirst":"false"
"PromptSpeed":"100"
"ExitAction":"2"
"ExitTargetConversation":"PHGreeting"
"ExitTargetHandlerObjectId":"1e0bc010-d9aa-4e1a-b001-a1b40f028d4f"
"RepeatMenu":"1"
"FirstDigitTimeout":"5000"
"InterdigitDelay":"3000"
"PromptVolume":"50"
"DelayAfterGreeting":"0"
"AddressAfterRecord":"false"
"ConfirmDeleteMessage":"false"
"ConfirmDeleteDeletedMessage":"false"
"ConfirmDeleteMultipleMessages":"true"
"IsClockMode24Hour":"false"
"RouteNDRToSender":"true"
"NotificationType":"0"
"SendReadReceipts":"1"
"ReceiveQuota":"-2"
"SendQuota":"-2"
"WarningQuota":"-2"
"IsSetForVmEnrollment":"true"
"VoiceNameRequired":"false"
"SendBroadcastMsg":"false"
"UpdateBroadcastMsg":"false"
"ConversationVui":"VuiStart"
"SpeechCompleteTimeout":"0"
"SpeechIncompleteTimeout":"750"
"UseVui":"false"
"SkipPasswordForKnownDevice":"false"
"JumpToMessagesOnLogin":"true"
"EnableMessageLocator":"false"
"MessageAgingPolicyObjectId":"adac77f4-8a77-430d-8836-
0fc9aef3fef5"
"MessageAgingPolicyURI":"/vmrest/messageagingpolicies/adac77f4-8a77-430d-8836-0fc9aef3fef5"
"AssistantRowsPerPage":"5"
"InboxMessagesPerPage":"20"
"InboxAutoRefresh":"15"
"InboxAutoResolveMessageRecipients":"true"
"PcaAddressBookRowsPerPage":"5"
"ReadOnly":"false"
"EnableTts":"true"
"ConfirmationConfidenceThreshold":"60"
"AnnounceUpcomingMeetings":"60"
"SpeechConfidenceThreshold":"40"
"SpeechSpeedVsAccuracy":"50"
"SpeechSensitivity":"50"
"EnableVisualMessageLocator":"false"
"ContinuousAddMode":"false"
"NameConfirmation":"false"
"CommandDigitTimeout":"1500"
"SaveMessageOnHangup":"false"
"SendMessageOnHangup":"1"
"SkipForwardTime":"5000"
"SkipReverseTime":"5000"
"UseShortPollForCache":"false"
"SearchByExtensionSearchSpaceObjectId":"2e836e16-f715-4a18-bb7c-
Cisco Unity Connection Provisioning Interface (CUPI) API
303
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Listing the User Templates
Page 336
ee5e33281706"
"SearchByExtensionSearchSpaceURI":"/vmrest/searchspaces/2e836e16-f715-4a18-bb7c-
ee5e33281706"
"SearchByNameSearchSpaceObjectId":"2e836e16-f715-4a18-bb7c-ee5e33281706"
"SearchByNameSearchSpaceURI":"/vmrest/searchspaces/2e836e16-f715-4a18-bb7c-
ee5e33281706"
"PartitionObjectId":"97bf6afe-346e-4275-967e-43c50be79d32"
"PartitionURI":"/vmrest/partitions/97bf6afe-346e-4275-967e-43c50be79d32"
"UseDynamicNameSearchWeight":"false"
"LdapType":"0"
"EnableMessageBookmark":"false"
"SayTotalDraftMsg":"false"
"EnableSaveDraft":"false"
"RetainUrgentMessageFlag":"false"
"SayMessageLength":"false"
"CreateSmtpProxyFromCorp":"false"
"AutoAdvanceMsgs":"false"
"SaySenderAfter":"false"
"SaySenderExtensionAfter":"false"
"SayMsgNumberAfter":"false"
"SayAniAfter":"false"
"SayMessageLengthAfter":"false"
"UserTemplateRolesURI":"/vmrest/usertemplates/6164ac2d-e8ec-441a-93a0-
95f8e18a655c/usertemplateroles"
"UserTemplateNotificationDevicesURI":"/vmrest/usertemplates/6164ac2d-e8ec-441a-93a0-
95f8e18a655c/usertemplatenotificationdevices"
"TemplateExternalServiceAccountsURI":"/vmrest/usertemplates/6164ac2d-e8ec-441a-93a0-
95f8e18a655c/templateexternalserviceaccounts"
"UserTemplateWebPasswordURI":"/vmrest/usertemplates/6164ac2d-e8ec-441a-93a0-
95f8e18a655c/credential/password"
"UserTemplateVoicePinURI":"/vmrest/usertemplates/6164ac2d-e8ec-441a-93a0-
95f8e18a655c/credential/pin"
"UserTemplateMessageActionURI":"/vmrest/usertemplates/6164ac2d-e8ec-441a-93a0-
95f8e18a655c/usertemplatemessageactions"
}
]
}
Response Code: 200
Listing Specific Tenant Related User Templates by System Administrator
In Cisco Unity Connection 10.5(2) and later, the system administrator can use TenantObjectID to list the
specific tenant related user templates using the following URI:
GET https://<connection-server>/vmrest/usertemplates?query=(TenantObjectId is
<Tenant-ObjectId>)
To get the TenantObjectID, use the following URI:
GET https://<connection-server>/vmrest/tenants
Viewing the Details of Specific User Template
The following is an example of the GET request that lists the details of specific user template represented by
the provided value of object ID:
GET https://<connection-server>/vmrest/usertemplates/<usertemplateobjectId>
Cisco Unity Connection Provisioning Interface (CUPI) API
304
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Listing Specific Tenant Related User Templates by System Administrator
Page 337
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
305
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Viewing the Details of Specific User Template
Page 338
<UserTemplate>
<URI> /vmrest/usertemplates/c8af2544-2bc9-44fa-b713-e80f306cf781 </URI>
<ObjectId>c8af2544-2bc9-44fa-b713-e80f306cf781</ObjectId>
<UseDefaultLanguage>true</UseDefaultLanguage>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<Alias>NewCiscoTemplate2</Alias>
<City/>
<State/>
<Country>US</Country>
<PostalCode/>
<Department/>
<Manager/>
<Building/>
<Address/>
<DisplayName>testmonica</DisplayName>
<BillingId/>
<TimeZone>190</TimeZone>
<CreationTime>2012-06-26 05:02:22.05</CreationTime>
<CosObjectId>7be9b3f3-1200-403f-984a-04c07b7c5a7b</CosObjectId>
<CosURI>/vmrest/coses/7be9b3f3-1200-403f-984a-04c07b7c5a7b</CosURI>
<Language>1033</Language>
<LocationObjectId>6d4ff2e5-3f26-4a19-b2fa-beca79b4c5e9 </LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/6d4ff2e5-3f26-4a19-b2fa-
beca79b4c5e9</LocationURI>
<AddressMode>0</AddressMode>
<ClockMode>0</ClockMode>
<ConversationTui>SubMenu</ConversationTui>
<GreetByName>true</GreetByName>
<ListInDirectory>true</ListInDirectory>
<IsVmEnrolled>true</IsVmEnrolled>
<SayCopiedNames>true</SayCopiedNames>
<SayDistributionList>true</SayDistributionList>
<SayMsgNumber>true</SayMsgNumber>
<SaySender>true</SaySender>
<SayTimestampAfter>true</SayTimestampAfter>
<SayTimestampBefore>false</SayTimestampBefore>
<SayTotalNew>false</SayTotalNew>
<SayTotalNewEmail>false</SayTotalNewEmail>
<SayTotalNewFax>false</SayTotalNewFax>
<SayTotalNewVoice>true</SayTotalNewVoice>
<SayTotalReceipts>false</SayTotalReceipts>
<SayTotalSaved>true</SayTotalSaved>
<Speed>100</Speed>
<MediaSwitchObjectId>1fb12b1c-cf14-4634-b73d-9b9c58ecdf68</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/1fb12b1c-cf14-4634-b73d-
9b9c58ecdf68</PhoneSystemURI>
<Undeletable>false</Undeletable>
<UseBriefPrompts>false</UseBriefPrompts>
<Volume>50</Volume>
<EnAltGreetDontRingPhone>false</EnAltGreetDontRingPhone>
<EnAltGreetPreventSkip>false</EnAltGreetPreventSkip>
<EnAltGreetPreventMsg>false</EnAltGreetPreventMsg>
<EncryptPrivateMessages>false</EncryptPrivateMessages>
<DeletedMessageSortOrder>2</DeletedMessageSortOrder>
<SayAltGreetWarning>false</SayAltGreetWarning>
<SaySenderExtension>false</SaySenderExtension>
<SayAni>false</SayAni>
<ExitCallActionObjectId>27cbb3a8-f040-4ee9-9686-620c43e3d725</ExitCallActionObjectId>
<CallAnswerTimeout>4</CallAnswerTimeout>
<CallHandlerObjectId>9a5ac35a-0df8-4ebb-8e19-77f936dfd263</CallHandlerObjectId>
<CallhandlerURI>/vmrest/callhandlerprimarytemplates/9a5ac35a-0df8-4ebb-8e19-
77f936dfd263</CallhandlerURI>
<DisplayNameRule>1</DisplayNameRule>
<DoesntExpire>false</DoesntExpire>
Cisco Unity Connection Provisioning Interface (CUPI) API
306
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Viewing the Details of Specific User Template
Page 339
<CantChange>false</CantChange>
<MailboxStoreObjectId>cfc43112-601b-4764-ba92-b0220e9d7f23</MailboxStoreObjectId>
<SavedMessageStackOrder>1234567</SavedMessageStackOrder>
<NewMessageStackOrder>1234567</NewMessageStackOrder>
<MessageLocatorSortOrder>1</MessageLocatorSortOrder>
<SavedMessageSortOrder>2</SavedMessageSortOrder>
<NewMessageSortOrder>1</NewMessageSortOrder>
<MessageTypeMenu>false</MessageTypeMenu>
<EnablePersonalRules>true</EnablePersonalRules>
<RecordUnknownCallerName>true</RecordUnknownCallerName>
<RingPrimaryPhoneFirst>false</RingPrimaryPhoneFirst>
<PromptSpeed>100</PromptSpeed>
<ExitAction>2</ExitAction>
<ExitTargetConversation>PHTransfer</ExitTargetConversation>
<ExitTargetHandlerObjectId>7ae69f21-1c99-4cc1-96c3-a1bbe11fd4ca</ExitTargetHandlerObjectId>
<RepeatMenu>1</RepeatMenu>
<FirstDigitTimeout>5000</FirstDigitTimeout>
<InterdigitDelay>3000</InterdigitDelay>
<PromptVolume>50</PromptVolume>
<AddressAfterRecord>false</AddressAfterRecord>
<ConfirmDeleteMessage>false</ConfirmDeleteMessage>
<ConfirmDeleteDeletedMessage>false</ConfirmDeleteDeletedMessage>
<ConfirmDeleteMultipleMessages>true</ConfirmDeleteMultipleMessages>
<IsClockMode24Hour>false</IsClockMode24Hour>
<RouteNDRToSender>true</RouteNDRToSender>
<NotificationType>0</NotificationType>
<SendReadReceipts>0</SendReadReceipts>
<ReceiveQuota>-1</ReceiveQuota>
<SendQuota>-1</SendQuota>
<WarningQuota>-1</WarningQuota>
<IsSetForVmEnrollment>true</IsSetForVmEnrollment>
<VoiceNameRequired>false</VoiceNameRequired>
<SendBroadcastMsg>true</SendBroadcastMsg>
<UpdateBroadcastMsg>false</UpdateBroadcastMsg>
<ConversationVui>VuiStart</ConversationVui>
<SpeechCompleteTimeout>0</SpeechCompleteTimeout>
<SpeechIncompleteTimeout>750</SpeechIncompleteTimeout>
<UseVui>false</UseVui>
<SkipPasswordForKnownDevice>false</SkipPasswordForKnownDevice>
<JumpToMessagesOnLogin>true</JumpToMessagesOnLogin>
<EnableMessageLocator>false</EnableMessageLocator>
<MessageAgingPolicyObjectId>2e02eca6-270b-4b7f-a153-
f03ea74d403d</MessageAgingPolicyObjectId>
<MessageAgingPolicyURI>/vmrest/messageagingpolicies/2e02eca6-270b-4b7f-a153-
f03ea74d403d</MessageAgingPolicyURI>
<AssistantRowsPerPage>5</AssistantRowsPerPage>
<InboxMessagesPerPage>20</InboxMessagesPerPage>
<InboxAutoRefresh>15</InboxAutoRefresh>
<InboxAutoResolveMessageRecipients>true</InboxAutoResolveMessageRecipients>
<PcaAddressBookRowsPerPage>5</PcaAddressBookRowsPerPage>
<ReadOnly>false</ReadOnly>
<EnableTts>true</EnableTts>
<ConfirmationConfidenceThreshold>60</ConfirmationConfidenceThreshold>
<AnnounceUpcomingMeetings>60</AnnounceUpcomingMeetings>
<SpeechConfidenceThreshold>40</SpeechConfidenceThreshold>
<SpeechSpeedVsAccuracy>50</SpeechSpeedVsAccuracy>
<SpeechSensitivity>50</SpeechSensitivity>
<EnableVisualMessageLocator>false</EnableVisualMessageLocator>
<ContinuousAddMode>false</ContinuousAddMode>
<NameConfirmation>false</NameConfirmation>
<CommandDigitTimeout>1500</CommandDigitTimeout>
<SaveMessageOnHangup>false</SaveMessageOnHangup>
Cisco Unity Connection Provisioning Interface (CUPI) API
307
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Viewing the Details of Specific User Template
Page 340
<SendMessageOnHangup>1</SendMessageOnHangup>
<SkipForwardTime>5000</SkipForwardTime>
<SkipReverseTime>5000</SkipReverseTime>
<UseShortPollForCache>false</UseShortPollForCache>
<SearchByExtensionSearchSpaceObjectId>25e2e004-c194-4593-9961-
bdcaf5dd7189</SearchByExtensionSearchSpaceObjectId>
<SearchByExtensionSearchSpaceURI>/vmrest/searchspaces/25e2e004-c194-4593-9961-
bdcaf5dd7189</SearchByExtensionSearchSpaceURI>
<SearchByNameSearchSpaceObjectId>25e2e004-c194-4593-9961-
bdcaf5dd7189</SearchByNameSearchSpaceObjectId>
<SearchByNameSearchSpaceURI>/vmrest/searchspaces/25e2e004-c194-4593-9961-
bdcaf5dd7189</SearchByNameSearchSpaceURI>
<PartitionObjectId>12101df7-ecd2-4a48-b5b9-9a96b5f85a25</PartitionObjectId>
<PartitionURI>/vmrest/partitions/12101df7-ecd2-4a48-b5b9-9a96b5f85a25</PartitionURI>
<UseDynamicNameSearchWeight>false</UseDynamicNameSearchWeight>
<LdapType>0</LdapType>
<EnableMessageBookmark>false</EnableMessageBookmark>
<SayTotalDraftMsg>false</SayTotalDraftMsg>
<EnableSaveDraft>false</EnableSaveDraft>
<RetainUrgentMessageFlag>false</RetainUrgentMessageFlag>
<SayMessageLength>false</SayMessageLength>
<CreateSmtpProxyFromCorp>false</CreateSmtpProxyFromCorp>
<AutoAdvanceMsgs>false</AutoAdvanceMsgs>
<SaySenderAfter>false</SaySenderAfter>
<SaySenderExtensionAfter>false</SaySenderExtensionAfter>
<SayMsgNumberAfter>false</SayMsgNumberAfter>
<SayAniAfter>false</SayAniAfter>
<SayMessageLengthAfter>false</SayMessageLengthAfter>
<UserTemplateRolesURI>/vmrest/usertemplates/c8af2544-2bc9-44fa-b713-
e80f306cf781/usertemplateroles</UserTemplateRolesURI>
<UserTemplateNotificationDevicesURI>/vmrest/usertemplates/c8af2544-2bc9-44fa-b713-
e80f306cf781/usertemplatenotificationdevices</UserTemplateNotificationDevicesURI>
<UserTemplateWebPasswordURI>/vmrest/usertemplates/c8af2544-2bc9-44fa-b713-
e80f306cf781/credential/password</UserTemplateWebPasswordURI>
<UserTemplateVoicePinURI>/vmrest/usertemplates/c8af2544-2bc9-44fa-b713-
e80f306cf781/credential/pin</UserTemplateVoicePinURI>
<UserTemplateMessageActionURI>/vmrest/usertemplates/c8af2544-2bc9-44fa-b713-
e80f306cf781/usertemplatemessageactions</UserTemplateMessageActionURI>
</UserTemplate>
Response Code: 200
JSON Example
To view the particular user template, do the following:
Request URI:
GET https://<connection-server>/vmrest/usertemplates/<usertemplateobjectId>
Accept: application/json
Content_type: application/json
Connection: keep_alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
308
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Viewing the Details of Specific User Template
Page 341
{
"URI":"/vmrest/usertemplates/a46d269a-6614-485b-8649-099afef0604d"
"ObjectId":"a46d269a-6614-485b-8649-099afef0604d"
"UseDefaultLanguage":"true"
"UseDefaultTimeZone":"true"
"Alias":"voicemailusertemplate"
"DisplayName":"Voice Mail User Template"
"TimeZone":"190"
"CreationTime":"2013-02-21T11:39:11Z"
"CosObjectId":"c93854b3-c59f-44e7-a6a9-0a6e17578672"
"CosURI":"/vmrest/coses/c93854b3-c59f-44e7-a6a9-0a6e17578672"
"Language":"1033"
"LocationObjectId":"830e1a2d-8e90-459f-88f7-700497ba975c"
"LocationURI":"/vmrest/locations/connectionlocations/830e1a2d-8e90-459f-88f7-
700497ba975c"
"AddressMode":"0"
"ClockMode":"0"
"ConversationTui":"SubMenu"
"GreetByName":"true"
"ListInDirectory":"true"
"IsVmEnrolled":"true"
"SayCopiedNames":"true"
"SayDistributionList":"true"
"SayMsgNumber":"true"
"SaySender":"true"
"SayTimestampAfter":"true"
"SayTimestampBefore":"false"
"SayTotalNew":"false"
"SayTotalNewEmail":"false"
"SayTotalNewFax":"false"
"SayTotalNewVoice":"true"
"SayTotalReceipts":"false"
"SayTotalSaved":"true"
"Speed":"100"
"MediaSwitchObjectId":"caf093ef-5e7b-47dd-9db7-9df360d2923e"
"PhoneSystemURI":"/vmrest/phonesystems/caf093ef-5e7b-47dd-9db7-9df360d2923e"
"Undeletable":"true"
"UseBriefPrompts":"false"
"Volume":"50"
"EnAltGreetDontRingPhone":"false"
"EnAltGreetPreventSkip":"false"
"EnAltGreetPreventMsg":"false"
"EncryptPrivateMessages":"false"
"DeletedMessageSortOrder":"2"
"SayAltGreetWarning":"false"
"SaySenderExtension":"false"
"SayAni":"false"
"ExitCallActionObjectId":"ecc8570c-c0da-493e-a520-b125529cfee1"
"CallAnswerTimeout":"4"
"CallHandlerObjectId":"f4f87905-c20a-4df3-b20e-446c1798df19"
"CallhandlerURI":"/vmrest/callhandlerprimarytemplates/f4f87905-c20a-4df3-b20e-
446c1798df19"
"DisplayNameRule":"1"
"DoesntExpire":"false"
"CantChange":"false"
"MailboxStoreObjectId":"90e5847b-3a87-4c92-a753-eda6ea0fdb4c"
"SavedMessageStackOrder":"1234567"
"NewMessageStackOrder":"1234567"
"MessageLocatorSortOrder":"1"
"SavedMessageSortOrder":"2"
"NewMessageSortOrder":"1"
"MessageTypeMenu":"false"
"EnablePersonalRules":"true"
"RecordUnknownCallerName":"true"
Cisco Unity Connection Provisioning Interface (CUPI) API
309
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Viewing the Details of Specific User Template
Page 342
"RingPrimaryPhoneFirst":"false"
"PromptSpeed":"100"
"ExitAction":"2"
"ExitTargetConversation":"PHGreeting"
"ExitTargetHandlerObjectId":"d085ebc6-99ac-46a5-92f3-d26f52701585"
"RepeatMenu":"1"
"FirstDigitTimeout":"5000"
"InterdigitDelay":"3000"
"PromptVolume":"50"
"AddressAfterRecord":"false"
"ConfirmDeleteMessage":"false"
"ConfirmDeleteDeletedMessage":"false"
"ConfirmDeleteMultipleMessages":"true"
"IsClockMode24Hour":"false"
"RouteNDRToSender":"true"
"NotificationType":"0"
"SendReadReceipts":"1"
"ReceiveQuota":"-2"
"SendQuota":"-2"
"WarningQuota":"-2"
"IsSetForVmEnrollment":"true"
"VoiceNameRequired":"false"
"SendBroadcastMsg":"false"
"UpdateBroadcastMsg":"false"
"ConversationVui":"VuiStart"
"SpeechCompleteTimeout":"0"
"SpeechIncompleteTimeout":"750"
"UseVui":"false"
"SkipPasswordForKnownDevice":"false"
"JumpToMessagesOnLogin":"true"
"EnableMessageLocator":"false"
"MessageAgingPolicyObjectId":"12b765a8-a67b-47f6-8ede-3e02aea9f4fe"
"MessageAgingPolicyURI":"/vmrest/messageagingpolicies/12b765a8-a67b-47f6-8ede-
3e02aea9f4fe"
"AssistantRowsPerPage":"5"
"InboxMessagesPerPage":"20"
"InboxAutoRefresh":"15"
"InboxAutoResolveMessageRecipients":"true"
"PcaAddressBookRowsPerPage":"5"
"ReadOnly":"false"
"EnableTts":"true"
"ConfirmationConfidenceThreshold":"60"
"AnnounceUpcomingMeetings":"60"
"SpeechConfidenceThreshold":"40"
"SpeechSpeedVsAccuracy":"50"
"SpeechSensitivity":"50"
"EnableVisualMessageLocator":"false"
"ContinuousAddMode":"false"
"NameConfirmation":"false"
"CommandDigitTimeout":"1500"
"SaveMessageOnHangup":"false"
"SendMessageOnHangup":"1"
"SkipForwardTime":"5000"
"SkipReverseTime":"5000"
"UseShortPollForCache":"false"
"SearchByExtensionSearchSpaceObjectId":"7aaf45b8-ab06-4dda-af16-378b04a95912"
"SearchByExtensionSearchSpaceURI":"/vmrest/searchspaces/7aaf45b8-ab06-4dda-af16-
378b04a95912"
"SearchByNameSearchSpaceObjectId":"7aaf45b8-ab06-4dda-af16-378b04a95912"
"SearchByNameSearchSpaceURI":"/vmrest/searchspaces/7aaf45b8-ab06-4dda-af16-
378b04a95912"
"PartitionObjectId":"9c010254-1493-4e1a-9e47-fe2494792744"
"PartitionURI":"/vmrest/partitions/9c010254-1493-4e1a-9e47-fe2494792744"
"UseDynamicNameSearchWeight":"false"
Cisco Unity Connection Provisioning Interface (CUPI) API
310
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Viewing the Details of Specific User Template
Page 343
"LdapType":"0"
"EnableMessageBookmark":"false"
"SayTotalDraftMsg":"false"
"EnableSaveDraft":"false"
"RetainUrgentMessageFlag":"false"
"SayMessageLength":"false"
"CreateSmtpProxyFromCorp":"false"
"AutoAdvanceMsgs":"false"
"SaySenderAfter":"false"
"SaySenderExtensionAfter":"false"
"SayMsgNumberAfter":"false"
"SayAniAfter":"false"
"SayMessageLengthAfter":"false"
"UserTemplateRolesURI":"/vmrest/usertemplates/a46d269a-6614-485b-8649-
099afef0604d/usertemplateroles"
"UserTemplateNotificationDevicesURI":"/vmrest/usertemplates/a46d269a-6614-485b-8649-
099afef0604d/usertemplatenotificationdevices"
"TemplateExternalServiceAccountsURI":"/vmrest/usertemplates/a46d269a-6614-485b-8649-
099afef0604d/templateexternalserviceaccounts"
"UserTemplateWebPasswordURI":"/vmrest/usertemplates/a46d269a-6614-485b-8649-
099afef0604d/credential/password"
"UserTemplateVoicePinURI":"/vmrest/usertemplates/a46d269a-6614-485b-8649-
099afef0604d/credential/pin"
"UserTemplateMessageActionURI":"/vmrest/usertemplates/a46d269a-6614-485b-8649-
099afef0604d/usertemplatemessageactions"
}
Response Code: 200
Viewing the Details of the User Templates Based on Partition Object ID
The following is an example of the GET request that lists the details of specific user template represented by
the provided value of partition object ID:
GET
https://<connection-server>/vmrest/usertemplates?query=(PartitionObjectId%20is%20<PartitionObjectId>)
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
311
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Viewing the Details of the User Templates Based on Partition Object ID
Page 344
<UserTemplate>
<URI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039-2b13f76bf631</URI>
<ObjectId>c2056af2-bed7-4a0d-9039-2b13f76bf631</ObjectId>
<UseDefaultLanguage>true</UseDefaultLanguage>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<Alias>Texoma_User_Template1</Alias>
<City/>
<State/>
<Country>US</Country>
<PostalCode/>
<Manager/>
<Building/>
<Address/>
<DisplayName>Texoma_User_Template1</DisplayName>
<BillingId/>
<TimeZone>190</TimeZone>
<CreationTime>2012-12-26 13:04:28.9</CreationTime>
<CosObjectId>0ef61610-a729-4b0d-9476-cab095028db3</CosObjectId>
<CosURI>/vmrest/coses/0ef61610-a729-4b0d-9476-cab095028db3</CosURI>
<Language>1033</Language>
<LocationObjectId>27a67e01-bcb4-4012-8b1b-f0a08b736087</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/27a67e01-bcb4-4012-8b1b-
f0a08b736087</LocationURI>
<AddressMode>0</AddressMode>
<ClockMode>0</ClockMode>
<ConversationTui>SubMenu</ConversationTui>
<GreetByName>true</GreetByName>
<ListInDirectory>true</ListInDirectory>
<IsVmEnrolled>true</IsVmEnrolled>
<SayCopiedNames>true</SayCopiedNames>
<SayDistributionList>true</SayDistributionList>
<SayMsgNumber>true</SayMsgNumber>
<SaySender>true</SaySender>
<SayTimestampAfter>true</SayTimestampAfter>
<SayTimestampBefore>false</SayTimestampBefore>
<SayTotalNew>false</SayTotalNew>
<SayTotalNewEmail>false</SayTotalNewEmail>
<SayTotalNewFax>false</SayTotalNewFax>
<SayTotalNewVoice>true</SayTotalNewVoice>
<SayTotalReceipts>false</SayTotalReceipts>
<SayTotalSaved>true</SayTotalSaved>
<Speed>100</Speed>
<MediaSwitchObjectId>b6df8cb3-b3ce-4797-84f3-5559049df8e8</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/b6df8cb3-b3ce-4797-84f3-
5559049df8e8</PhoneSystemURI>
<Undeletable>false</Undeletable>
<UseBriefPrompts>false</UseBriefPrompts>
<Volume>50</Volume>
<EnAltGreetDontRingPhone>false</EnAltGreetDontRingPhone>
<EnAltGreetPreventSkip>false</EnAltGreetPreventSkip>
<EnAltGreetPreventMsg>false</EnAltGreetPreventMsg>
<EncryptPrivateMessages>false</EncryptPrivateMessages>
<DeletedMessageSortOrder>2</DeletedMessageSortOrder>
<SayAltGreetWarning>false</SayAltGreetWarning>
<SaySenderExtension>false</SaySenderExtension>
<SayAni>false</SayAni>
<ExitCallActionObjectId>0463e49b-cde4-4c30-877c-acfe25966a42</ExitCallActionObjectId>
<CallAnswerTimeout>4</CallAnswerTimeout>
<CallHandlerObjectId>83c9b890-6659-4c0f-8be6-8a1a85efee7e</CallHandlerObjectId>
<CallhandlerURI>/vmrest/callhandlerprimarytemplates/83c9b890-6659-4c0f-8be6-
8a1a85efee7e</CallhandlerURI>
<DisplayNameRule>1</DisplayNameRule>
<DoesntExpire>false</DoesntExpire>
<CantChange>false</CantChange>
Cisco Unity Connection Provisioning Interface (CUPI) API
312
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Viewing the Details of the User Templates Based on Partition Object ID
Page 345
<MailboxStoreObjectId>e983490d-78a5-45aa-b9a0-31f51460a5bd</MailboxStoreObjectId>
<SavedMessageStackOrder>1234567</SavedMessageStackOrder>
<NewMessageStackOrder>1234567</NewMessageStackOrder>
<MessageLocatorSortOrder>1</MessageLocatorSortOrder>
<SavedMessageSortOrder>2</SavedMessageSortOrder>
<NewMessageSortOrder>1</NewMessageSortOrder>
<MessageTypeMenu>false</MessageTypeMenu>
<EnablePersonalRules>true</EnablePersonalRules>
<RecordUnknownCallerName>true</RecordUnknownCallerName>
<RingPrimaryPhoneFirst>false</RingPrimaryPhoneFirst>
<PromptSpeed>100</PromptSpeed>
<ExitAction>2</ExitAction>
<ExitTargetConversation>PHGreeting</ExitTargetConversation>
<ExitTargetHandlerObjectId>063956f9-c5ca-4e8b-be67-
ff945a8a5d99</ExitTargetHandlerObjectId>
<RepeatMenu>1</RepeatMenu>
<FirstDigitTimeout>5000</FirstDigitTimeout>
<InterdigitDelay>3000</InterdigitDelay>
<PromptVolume>50</PromptVolume>
<DelayAfterGreeting>0</DelayAfterGreeting>
<AddressAfterRecord>false</AddressAfterRecord>
<ConfirmDeleteMessage>false</ConfirmDeleteMessage>
<ConfirmDeleteDeletedMessage>false</ConfirmDeleteDeletedMessage>
<ConfirmDeleteMultipleMessages>true</ConfirmDeleteMultipleMessages>
<IsClockMode24Hour>false</IsClockMode24Hour>
<RouteNDRToSender>true</RouteNDRToSender>
<NotificationType>0</NotificationType>
<SendReadReceipts>1</SendReadReceipts>
<ReceiveQuota>-2</ReceiveQuota>
<SendQuota>-2</SendQuota>
<WarningQuota>-2</WarningQuota>
<IsSetForVmEnrollment>true</IsSetForVmEnrollment>
<VoiceNameRequired>false</VoiceNameRequired>
<SendBroadcastMsg>false</SendBroadcastMsg>
<UpdateBroadcastMsg>false</UpdateBroadcastMsg>
<ConversationVui>VuiStart</ConversationVui>
<SpeechCompleteTimeout>0</SpeechCompleteTimeout>
<SpeechIncompleteTimeout>750</SpeechIncompleteTimeout>
<UseVui>false</UseVui>
<SkipPasswordForKnownDevice>false</SkipPasswordForKnownDevice>
<JumpToMessagesOnLogin>true</JumpToMessagesOnLogin>
<EnableMessageLocator>false</EnableMessageLocator>
<MessageAgingPolicyObjectId>6780a194-6efd-4311-819f-
494a082bb093</MessageAgingPolicyObjectId>
<MessageAgingPolicyURI>/vmrest/messageagingpolicies/6780a194-6efd-4311-819f-
494a082bb093</MessageAgingPolicyURI>
<AssistantRowsPerPage>5</AssistantRowsPerPage>
<InboxMessagesPerPage>20</InboxMessagesPerPage>
<InboxAutoRefresh>15</InboxAutoRefresh>
<InboxAutoResolveMessageRecipients>true</InboxAutoResolveMessageRecipients>
<PcaAddressBookRowsPerPage>5</PcaAddressBookRowsPerPage>
<ReadOnly>false</ReadOnly>
<EnableTts>true</EnableTts>
<ConfirmationConfidenceThreshold>60</ConfirmationConfidenceThreshold>
<AnnounceUpcomingMeetings>60</AnnounceUpcomingMeetings>
<SpeechConfidenceThreshold>40</SpeechConfidenceThreshold>
<SpeechSpeedVsAccuracy>50</SpeechSpeedVsAccuracy>
<SpeechSensitivity>50</SpeechSensitivity>
<EnableVisualMessageLocator>false</EnableVisualMessageLocator>
<ContinuousAddMode>false</ContinuousAddMode>
<NameConfirmation>false</NameConfirmation>
<CommandDigitTimeout>1500</CommandDigitTimeout>
<SaveMessageOnHangup>false</SaveMessageOnHangup>
<SendMessageOnHangup>1</SendMessageOnHangup>
Cisco Unity Connection Provisioning Interface (CUPI) API
313
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Viewing the Details of the User Templates Based on Partition Object ID
Page 346
<SkipForwardTime>5000</SkipForwardTime>
<SkipReverseTime>5000</SkipReverseTime>
<UseShortPollForCache>false</UseShortPollForCache>
<SearchByExtensionSearchSpaceObjectId>2e0da21b-54e4-4b51-9f09-
960049a5e806</SearchByExtensionSearchSpaceObjectId>
<SearchByExtensionSearchSpaceURI>/vmrest/searchspaces/2e0da21b-54e4-4b51-9f09-
960049a5e806</SearchByExtensionSearchSpaceURI>
<SearchByNameSearchSpaceObjectId>2e0da21b-54e4-4b51-9f09-
960049a5e806</SearchByNameSearchSpaceObjectId>
<SearchByNameSearchSpaceURI>/vmrest/searchspaces/2e0da21b-54e4-4b51-9f09-
960049a5e806</SearchByNameSearchSpaceURI>
<PartitionObjectId>c6ff147e-c32c-4ade-8f12-46427c795c21</PartitionObjectId>
<PartitionURI>/vmrest/partitions/c6ff147e-c32c-4ade-8f12-46427c795c21</PartitionURI>
<UseDynamicNameSearchWeight>false</UseDynamicNameSearchWeight>
<LdapType>0</LdapType>
<EnableMessageBookmark>false</EnableMessageBookmark>
<SayTotalDraftMsg>false</SayTotalDraftMsg>
<EnableSaveDraft>false</EnableSaveDraft>
<RetainUrgentMessageFlag>false</RetainUrgentMessageFlag>
<SayMessageLength>false</SayMessageLength>
<CreateSmtpProxyFromCorp>false</CreateSmtpProxyFromCorp>
<AutoAdvanceMsgs>false</AutoAdvanceMsgs>
<SaySenderAfter>false</SaySenderAfter>
<SaySenderExtensionAfter>false</SaySenderExtensionAfter>
<SayMsgNumberAfter>false</SayMsgNumberAfter>
<SayAniAfter>false</SayAniAfter>
<SayMessageLengthAfter>false</SayMessageLengthAfter>
<UserTemplateRolesURI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039-
2b13f76bf631/usertemplateroles</UserTemplateRolesURI>
<UserTemplateNotificationDevicesURI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039-
2b13f76bf631/usertemplatenotificationdevices</UserTemplateNotificationDevicesURI>
<TemplateExternalServiceAccountsURI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039-
2b13f76bf631/templateexternalserviceaccounts</TemplateExternalServiceAccountsURI>
<UserTemplateWebPasswordURI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039-
2b13f76bf631/credential/password</UserTemplateWebPasswordURI>
<UserTemplateVoicePinURI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039-
2b13f76bf631/credential/pin</UserTemplateVoicePinURI>
<UserTemplateMessageActionURI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039-
2b13f76bf631/usertemplatemessageactions</UserTemplateMessageActionURI>
</UserTemplate>
Response Code: 200
JSON Example
To view the details of the user templates based on partition object ID, do the following:
Request URI:
GET
https://<connection-server>/vmrest/usertemplates?query=(PartitionObjectId%20is%20<PartitionObjectId>)
Accept: application/json
Content_type: application/json
Connection: keep_alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
314
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Viewing the Details of the User Templates Based on Partition Object ID
Page 347
{
"URI":"/vmrest/usertemplates/a46d269a-6614-485b-8649-099afef0604d"
"ObjectId":"a46d269a-6614-485b-8649-099afef0604d"
"UseDefaultLanguage":"true"
"UseDefaultTimeZone":"true"
"Alias":"voicemailusertemplate"
"DisplayName":"Voice Mail User Template"
"TimeZone":"190"
"CreationTime":"2013-02-21T11:39:11Z"
"CosObjectId":"c93854b3-c59f-44e7-a6a9-0a6e17578672"
"CosURI":"/vmrest/coses/c93854b3-c59f-44e7-a6a9-0a6e17578672"
"Language":"1033"
"LocationObjectId":"830e1a2d-8e90-459f-88f7-700497ba975c"
"LocationURI":"/vmrest/locations/connectionlocations/830e1a2d-8e90-459f-88f7-
700497ba975c"
"AddressMode":"0"
"ClockMode":"0"
"ConversationTui":"SubMenu"
"GreetByName":"true"
"ListInDirectory":"true"
"IsVmEnrolled":"true"
"SayCopiedNames":"true"
"SayDistributionList":"true"
"SayMsgNumber":"true"
"SaySender":"true"
"SayTimestampAfter":"true"
"SayTimestampBefore":"false"
"SayTotalNew":"false"
"SayTotalNewEmail":"false"
"SayTotalNewFax":"false"
"SayTotalNewVoice":"true"
"SayTotalReceipts":"false"
"SayTotalSaved":"true"
"Speed":"100"
"MediaSwitchObjectId":"caf093ef-5e7b-47dd-9db7-9df360d2923e"
"PhoneSystemURI":"/vmrest/phonesystems/caf093ef-5e7b-47dd-9db7-9df360d2923e"
"Undeletable":"true"
"UseBriefPrompts":"false"
"Volume":"50"
"EnAltGreetDontRingPhone":"false"
"EnAltGreetPreventSkip":"false"
"EnAltGreetPreventMsg":"false"
"EncryptPrivateMessages":"false"
"DeletedMessageSortOrder":"2"
"SayAltGreetWarning":"false"
"SaySenderExtension":"false"
"SayAni":"false"
"ExitCallActionObjectId":"ecc8570c-c0da-493e-a520-b125529cfee1"
"CallAnswerTimeout":"4"
"CallHandlerObjectId":"f4f87905-c20a-4df3-b20e-446c1798df19"
"CallhandlerURI":"/vmrest/callhandlerprimarytemplates/f4f87905-c20a-4df3-b20e-
446c1798df19"
"DisplayNameRule":"1"
"DoesntExpire":"false"
"CantChange":"false"
"MailboxStoreObjectId":"90e5847b-3a87-4c92-a753-eda6ea0fdb4c"
"SavedMessageStackOrder":"1234567"
"NewMessageStackOrder":"1234567"
"MessageLocatorSortOrder":"1"
"SavedMessageSortOrder":"2"
"NewMessageSortOrder":"1"
"MessageTypeMenu":"false"
"EnablePersonalRules":"true"
"RecordUnknownCallerName":"true"
Cisco Unity Connection Provisioning Interface (CUPI) API
315
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Viewing the Details of the User Templates Based on Partition Object ID
Page 348
"RingPrimaryPhoneFirst":"false"
"PromptSpeed":"100"
"ExitAction":"2"
"ExitTargetConversation":"PHGreeting"
"ExitTargetHandlerObjectId":"d085ebc6-99ac-46a5-92f3-d26f52701585"
"RepeatMenu":"1"
"FirstDigitTimeout":"5000"
"InterdigitDelay":"3000"
"PromptVolume":"50"
"AddressAfterRecord":"false"
"ConfirmDeleteMessage":"false"
"ConfirmDeleteDeletedMessage":"false"
"ConfirmDeleteMultipleMessages":"true"
"IsClockMode24Hour":"false"
"RouteNDRToSender":"true"
"NotificationType":"0"
"SendReadReceipts":"1"
"ReceiveQuota":"-2"
"SendQuota":"-2"
"WarningQuota":"-2"
"IsSetForVmEnrollment":"true"
"VoiceNameRequired":"false"
"SendBroadcastMsg":"false"
"UpdateBroadcastMsg":"false"
"ConversationVui":"VuiStart"
"SpeechCompleteTimeout":"0"
"SpeechIncompleteTimeout":"750"
"UseVui":"false"
"SkipPasswordForKnownDevice":"false"
"JumpToMessagesOnLogin":"true"
"EnableMessageLocator":"false"
"MessageAgingPolicyObjectId":"12b765a8-a67b-47f6-8ede-3e02aea9f4fe"
"MessageAgingPolicyURI":"/vmrest/messageagingpolicies/12b765a8-a67b-47f6-8ede-
3e02aea9f4fe"
"AssistantRowsPerPage":"5"
"InboxMessagesPerPage":"20"
"InboxAutoRefresh":"15"
"InboxAutoResolveMessageRecipients":"true"
"PcaAddressBookRowsPerPage":"5"
"ReadOnly":"false"
"EnableTts":"true"
"ConfirmationConfidenceThreshold":"60"
"AnnounceUpcomingMeetings":"60"
"SpeechConfidenceThreshold":"40"
"SpeechSpeedVsAccuracy":"50"
"SpeechSensitivity":"50"
"EnableVisualMessageLocator":"false"
"ContinuousAddMode":"false"
"NameConfirmation":"false"
"CommandDigitTimeout":"1500"
"SaveMessageOnHangup":"false"
"SendMessageOnHangup":"1"
"SkipForwardTime":"5000"
"SkipReverseTime":"5000"
"UseShortPollForCache":"false"
"SearchByExtensionSearchSpaceObjectId":"7aaf45b8-ab06-4dda-af16-378b04a95912"
"SearchByExtensionSearchSpaceURI":"/vmrest/searchspaces/7aaf45b8-ab06-4dda-af16-378b04a95912"
"SearchByNameSearchSpaceObjectId":"7aaf45b8-ab06-4dda-af16-
378b04a95912"
"SearchByNameSearchSpaceURI":"/vmrest/searchspaces/7aaf45b8-ab06-4dda-af16-
378b04a95912"
"PartitionObjectId":"9c010254-1493-4e1a-9e47-fe2494792744"
Cisco Unity Connection Provisioning Interface (CUPI) API
316
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Viewing the Details of the User Templates Based on Partition Object ID
Page 349
"PartitionURI":"/vmrest/partitions/9c010254-1493-4e1a-9e47-fe2494792744"
"UseDynamicNameSearchWeight":"false"
"LdapType":"0"
"EnableMessageBookmark":"false"
"SayTotalDraftMsg":"false"
"EnableSaveDraft":"false"
"RetainUrgentMessageFlag":"false"
"SayMessageLength":"false"
"CreateSmtpProxyFromCorp":"false"
"AutoAdvanceMsgs":"false"
"SaySenderAfter":"false"
"SaySenderExtensionAfter":"false"
"SayMsgNumberAfter":"false"
"SayAniAfter":"false"
"SayMessageLengthAfter":"false"
"UserTemplateRolesURI":"/vmrest/usertemplates/a46d269a-6614-485b-8649-
099afef0604d/usertemplateroles"
"UserTemplateNotificationDevicesURI":"/vmrest/usertemplates/a46d269a-6614-485b-8649-
099afef0604d/usertemplatenotificationdevices"
"TemplateExternalServiceAccountsURI":"/vmrest/usertemplates/a46d269a-6614-485b-8649-
099afef0604d/templateexternalserviceaccounts"
"UserTemplateWebPasswordURI":"/vmrest/usertemplates/a46d269a-6614-485b-8649-
099afef0604d/credential/password"
"UserTemplateVoicePinURI":"/vmrest/usertemplates/a46d269a-6614-485b-8649-
099afef0604d/credential/pin"
"UserTemplateMessageActionURI":"/vmrest/usertemplates/a46d269a-6614-485b-8649-
099afef0604d/usertemplatemessageactions"
}
Response Code: 200
Same way user templates can be viewed for particular COS object ID, mailbox store object ID, phone system
and call handler object ID.
• PartitionObjectId can be viewed from https://<connection-server>/vmrest/partitions
• COSObjectId : https://<connection-server>/vmrest/coses
• PhoneSystem : https://<connection-server>/vmrest/phonesystems
Note
Creating a User Template
The request can be used to create the User Template. It can be used to create the User Template with specific
Partition Object ID, COS, MailboxStoreObjectId, Phone System. The following is an example of the POST
request that creates a new user template:
POST https://<connection-server>/vmrest/usertemplates?templateAlias=voicemailusertemplate
Request Body:
<UserTemplate>
<Alias>ABC_user template</Alias>
<DisplayName>ABC@user template</DisplayName>
</UserTemplate>
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
Cisco Unity Connection Provisioning Interface (CUPI) API
317
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Creating a User Template

Page 350
JSON Example
To create user template:
POST https://<connection-server>/vmrest/usertemplates?templateAlias=voicemailusertemplate
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"Alias":"voicemailusertemplate1",
"DisplayName":"Voice Mail User Template 1"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
Creating a User Template with Specific Partition Object ID
The request can be used to create the User Template. It can be used to create the User Template with specific
Partition Object ID, COS, MailboxStoreObjectId, Phone System. The following is an example of the POST
request that creates a new user template:
POST https://<connection-server>/vmrest/usertemplates?templateAlias=voicemailusertemplate
Request Body:
<UserTemplate>
<Alias>ABCs_user template</Alias>
<DisplayName>ABCs@user template</DisplayName>
<PartitionObjectId>00c25bc8-d3d0-45ec-a786-fcf7a35593cf</PartitionObjectId>
</UserTemplate>
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
Get partition object Id from " https://<connection-server>/vmrest/partitions " . In same way users templates
can be created using specific COS object ID, MailboxStoreObjectId, Phone System.
Note
JSON Example
To create user template with specific partition ID, do the following:
Request URI:
POST https://<connection-server>/vmrest/usertemplates?templateAlias=<TemplatealiasName>
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"Alias":"voicemailusertemplate12",
"DisplayName":"Voice Mail User Templater12",
"PartitionObjectId":"be52d373-25c4-416c-81c1-b82479061192"
}
Cisco Unity Connection Provisioning Interface (CUPI) API
318
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Creating a User Template with Specific Partition Object ID

Page 351
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
Updating Fields of User Templates
The request can be used to update the fields of a user template. It can be used to update Alias, Display Name,
Time Zone, Language, COS, Partition Object ID, Phone System and Basic Setting fields of a user template.
The following is an example of the PUT request that updates a user template:
PUT https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>
Request Body:
<UserTemplate>
<Alias>ABCD_user template</Alias>
<UseDefaultLanguage>true</UseDefaultLanguage>
<Language>1033</Language>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<TimeZone>190</TimeZone>
<CosObjectId>6f054167-6f6c-4ed5-a498-1776337871ee</CosObjectId>
<MediaSwitchObjectId>221ee752-5147-4326-9990-d4a138674f9e</MediaSwitchObjectId>
</UserTemplate>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
To update fields of a user template:
PUT https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"Alias":"ABC_user template",
"DisplayName":"Auser template",
"UseDefaultLanguage":"false",
"TimeZone":"190",
"MediaSwitchObjectId":"caf093ef-5e7b-47dd-9db7-9df360d2923e",
"CosObjectId":"c93854b3-c59f-44e7-a6a9-0a6e17578672"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Update Country Code of the User Template
To view the country code, use the following URI:
GET https://<connection-server>/vmrest/languagemap
And to check language check; use last 2 characters of language check to change the country code.
Cisco Unity Connection Provisioning Interface (CUPI) API
319
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Updating Fields of User Templates
Page 352
The following is an example of the PUT request that updates the country code of a user template:
PUT https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>
Request Body:
<UserTemplate>
<Country>SA</Country>
</UserTemplate>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
To update the country code of a user template, do the following:
Request URI:
PUT https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"Country":"XY"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Country code must only have 2 character codes.
Note
Update Language of User Template
To view the language code, use the following URI:
PUT https://<connection-server>/vmrest/languagemap
And check language code; use that language code to change language of user template.
The following is an example of the PUT request that updates the language of a user template:
PUT https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>
Request Body:
<UserTemplate>
<Language>1025</Language>
</UserTemplate>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
Cisco Unity Connection Provisioning Interface (CUPI) API
320
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Update Language of User Template

Page 353
To update the language of a user template, do the following:
Request URI:
PUT https://<connection-server>/vmrest/usertemplates/< usertemplateobjectid >
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"Language":"1025"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Delete the User Template
The following is an example of the DELETE request that can be used to delete a user template:
DELETE https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>
Response Code: 204
JSON Example
To delete a user template, do the following:
Request URI:
DELETE https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>
Accept: application/json
Content_type: application/json
Connection: keep_alive
Response Code: 204
Updating Password Settings and Changing Passwords
Example 1: Updating voicemail password The following is an example of the PUT request that can be used
to update the voicemail password:
PUT https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>/credential/pin
Request Body:
<UserTemplateCredential>
<Credentials>142536</Credentials>
</UserTemplateCredential>
The following is the response from the above PUT request for updating credentials and the actual response
will depend upon the information given by you:
Response Code: 204
Voicemail should be in numeric only.
Note
Cisco Unity Connection Provisioning Interface (CUPI) API
321
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Delete the User Template

Page 354
JSON Example
To update the credentials, do the following:
Request URI:
PUT https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>/credential/pin
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"Credentials":"10255"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Example 2: To update the fields The following is the response from the above PUT request for updating
fields and the actual response will depend upon the information given by you:
Request Body:
<UserTemplateCredential>
<DoesntExpire>true</DoesntExpire>
<Locked>false</Locked>
<CantChange>false</CantChange>
<CredMustChange>false</CredMustChange>
<CredentialPolicyObjectId>58f0dc20-f8fc-467d-a648-b5ffbba87dd9</CredentialPolicyObjectId>
</UserTemplateCredential>
Response Code: 204
Updating fields can be done only when "CredMustChange" parameter is false and in order to change
authentication rule and to view authentication rule use the following URI:
Note
GET https://<connection-server>/vmrest /authenticationrules
Example 3: Updating web application password The following is an example of the PUT request that can
be used to update the web application password:
PUT
https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>/credential/password
Request Body:
<UserTemplateCredential>
<Credentials>Cisco123</Credentials>
</UserTemplateCredential>
The following is the response from the above PUT request for updating credentials and the actual response
will depend upon the information given by you:
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
322
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Updating Password Settings and Changing Passwords

Page 355
Web password should be in alphanumeric only.
Note
JSON Example
To update the credentials, do the following:
Request URI:
PUT
https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>/credential/password
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"Credentials":"10255",
"CantChange":"false",
"DoesntExpire":"true",
"Locked":"false",
"CredMustChange":"false",
"CredentialPolicyObjectId":"7b282b66-73b1-4989-9d94-3d105b6ef5e8"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
The following is the response from the above PUT request for updating fields and the actual response will
depend upon the information given by you:
Request Body:
<UserTemplateCredential>
<DoesntExpire>true</DoesntExpire>
<Locked>false</Locked>
<CantChange>false</CantChange>
<CredMustChange>false</CredMustChange>
<CredentialPolicyObjectId>58f0dc20-f8fc-467d-a648-b5ffbba87dd9</CredentialPolicyObjectId>
</UserTemplateCredential>
Response Code: 204
Updating fields can be done only when "CredMustChange" parameter is false and in order to change
authentication rule and to view authentication rule use the following URI:
Note
GET https://<connection-server>/vmrest /authenticationrules
Adding or Deleting Roles
To view the roles object ID use the following URI:
GET https://<connection-server>/vmrest/roles
Cisco Unity Connection Provisioning Interface (CUPI) API
323
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Adding or Deleting Roles

Page 356
Example 1: Adding the roles The following is an example of the POST request that can be used to add the
roles:
PUT https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplateroles
Request Body:
<UserTemplateRole>
<RoleObjectId>4f077e4e-61c7-4ce8-a58a-2c4bc6089319</RoleObjectId>
</UserTemplateRole>
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
JSON Example
To add the roles, do the following:
Request URI:
POST
https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplateroles
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"RoleObjectId":"04d0f1ef-a8c6-454a-8cf0-0e8db7bb2b15"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
Example 2: Viewing roles of user template The following is an example of the GET request that can be
used to view the roles:
GET https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplateroles
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<UserTemplateRole>
<URI>/vmrest/usertemplates/d8054a3a-6c09-4a25-9880-
6589d2f1dc85/usertemplateroles/973e143e-af15-4ef4-a7c1-5fafd9cc53d4</URI>
<ObjectId>973e143e-af15-4ef4-a7c1-5fafd9cc53d4</ObjectId>
<UserObjectId>d8054a3a-6c09-4a25-9880-6589d2f1dc85</UserObjectId>
<UserURI>/vmrest/users/d8054a3a-6c09-4a25-9880-6589d2f1dc85</UserURI>
<RoleObjectId>ba166947-41e8-4ec9-ad14-03658d91240e</RoleObjectId>
<RoleURI>/vmrest/roles/ba166947-41e8-4ec9-ad14-03658d91240e</RoleURI>
<RoleName>Audit Administrator</RoleName>
<Alias>ABCD_user template</Alias>
</UserTemplateRole>
Response Code: 200
JSON Example
Cisco Unity Connection Provisioning Interface (CUPI) API
324
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Adding or Deleting Roles
Page 357
To view the roles, do the following:
Request URI:
GET https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplateroles
Accept: application/json
Content_type: application/json
Connection: keep_alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"@total":"1"
"UserTemplateRole":
{
"URI":"/vmrest/usertemplates/a9272189-720b-44b3-86e0-
df7ef519599c/usertemplateroles/167b7661-ee8b-4c83-8867-decb88ec0c1c"
"ObjectId":"167b7661-ee8b-4c83-8867-decb88ec0c1c"
"UserObjectId":"a9272189-720b-44b3-86e0-df7ef519599c"
"UserURI":"/vmrest/users/a9272189-720b-44b3-86e0-df7ef519599c"
"RoleObjectId":"04d0f1ef-a8c6-454a-8cf0-0e8db7bb2b15"
"RoleURI":"/vmrest/roles/04d0f1ef-a8c6-454a-8cf0-0e8db7bb2b15"
"RoleName":"Help Desk Administrator"
"Alias":"tenant005_usertemplate_1"
}
}
Response Code: 200
Example 3: Delete role of user template The following is an example of the DELETE request that can be
used to view the roles:
DELETE
https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplateroles/<usertemplaterolesId>
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
JSON Example
To delete role of user template, do the following:
Request URI:
DELETE
https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplateroles/<usertemplateroleid>
Accept: application/json
Content_type: application/json
Connection: keep_alive
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
325
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Adding or Deleting Roles
Page 358
Explanation of Data Fields
Comments
Operations
Data
Type
Parameter
A unique text name for addressable objects: Global Users,
Contacts, DistributionLists, and PersonalGroups.
Read/Write
String(64)
Alias
Enter a descriptive name for the user template.
Read/Write
String(64)
Display Name
Specifies a globally unique, system-generated identifier
for a UserSubscriber object.
Read-Only
String(36)
ObjectId
The unique identifier of the tenant to which the user
template belongs. This field is reflected in the response
only if the user template belongs to a particular tenant.
Read-Only
String(36)
TenantObjectId
Possible values can be:
• False: The language is the default language defined
for the user template.
• True: The language is derived from the location to
which this user template belongs.
Default value: False
Read/Write
Boolean
UseDefaultLanguage
Possible values can be:
• False: The time zone is the default time zone defined
for the user template.
• True: The time zone is derived from the location to
which this user template belongs.
Default value: False
Read/Write
Boolean
UseDefaultTimeZone
Enter the city. (optional)
Read/Write
String(64)
City
Enter the state. (optional)
Read/Write
String(64)
State
Enter the country. (optional)
Read/Write
String(2)
Country
Enter the Postal code (optional)
Read/Write
String(40)
PostalCode
Enter the users department. (optional)
Read/Write
String(64)
Department
Enter the name of the manager. (optional)
Read/Write
String(64)
Manager
Enter the user address .(optional)
Read/Write
String(64)
Address
Billing ID can be used for organization-specific
information, such as accounting information, department
names, or project codes.
Read/Write
String(32)
BillingId
Select the desired time zone for the user, or check the Use
System Default Time Zone check box.
Read/Write
Integer
TimeZone
The date and time the user template was created.
Read-Only
DateTime
CreationTime
The unique identifier of the COS (Class of Service) object
to which this user template account is associated.
Read/Write
String(36)
CosObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
326
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 359
Comments
Operations
Data
Type
Parameter
Select Use System Default Language or select a language
from the list
Read/Write
Integer
Language
Wav file that contains recorded name.
Read/Write
String
VoiceName
The unique identifier of the LocationVMS object to which
this user belongs.
Read-Only
String(36)
LocationObjectId
The default method the subscriber will use to address
messages to other subscribers.
Possible options are:
• 0=LastNameFirst
• 1=Extension
• 2=FirstNameFirst
Default
Integer
AddressMode
The time format used for the message timestamps that the
subscriber hears when they listen to their messages over
the phone.
Possible options are:
• 0=SystemDefaultClock
• 1=HourClock12
• 2=HourClock24
Read-Only
Integer
ClockMode
The name of the conversation the subscriber uses to set up,
send, and retrieve messages.
Read-Only
String(36)
ConversationTUI
A flag indicating whether the subscriber hears his/her name
when they log into their mailbox over the phone.
Values can be:
• False: Do not play the name.
• True: Play the recorded voice name.
Default value: True
Read-Only
Boolean
GreetByName
A flag indicating whether system should list the subscriber
in the phone directory for outside callers.
Possible values can be:
• False: Do not list the subscriber in the phone directory.
• True: List the subscriber in the phone directory.
Default value: True
Read/Write
Boolean
ListInDirectory
Cisco Unity Connection Provisioning Interface (CUPI) API
327
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 360
Comments
Operations
Data
Type
Parameter
A flag indicating whether system plays the enrollment
conversation (record a voice name, indicate if they are
listed in the directory, etc.) for the subscriber when they
login.
Values can be:
• False: The enrollment conversation is not played for
the subscriber when they login.
• True: The enrollment conversation is played for the
subscriber when they login.
Default value: True
Read/Write
Boolean
IsVmEnrolled
A flag indicating whether system announces the "copied"
names during message playback for a subscriber.
Values can be:
• False: Do not announce copied names.
• True: Announce copied names.
Default value: True
Read/Write
Boolean
SayCopiedNames
A flag indicating whether system announces the distribution
list that sends a message, if applicable.
Values can be:
• False: Do not announce the distribution list.
• True: Announce the distribution list.
Default value: True
Read/Write
Boolean
SayDistributionList
A flag indicating whether system announces the position
of each message in the stack (i.e., 'Message 1', 'Message
2' ,etc.) during message playback for the subscriber.
Values can be:
• False: Do not play the message number.
• True: Play the message number.
Default value: True
Read/Write
Boolean
SayMsgNumber
A flag indicating whether system announces the sender of
a message during message playback for the subscriber.
Values can be:
• False: Do not announce the sender.
• True: Announce the sender.
Default value: True
Read/Write
Boolean
SaySender
Cisco Unity Connection Provisioning Interface (CUPI) API
328
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 361
Comments
Operations
Data
Type
Parameter
A flag indicating whether system announces the timestamp
after it plays back each message for the subscriber.
Values can be:
• False: Do not announce the timestamp after each
message is played.
• True: Announce the timestamp after each message is
played.
Default value: True
Read/Write
Boolean
SayTimeStampAfter
A flag indicating whether system announces the timestamp
before it plays back each for the subscriber.
Values can be:
• False: Do not announce the timestamp before each
message is played.
• True Announce the timestamp before each message
is played.
Default value: False
Read/Write
Boolean
SayTimeStampBefore
A flag indicating whether system announces the total
number of new messages in the subscriber mailbox.
Values can be:
• False: Do not announce total number of new
messages.
• True: Announce the total number of new messages in
the subscriber mailbox.
Default value: False
Read/Write
Boolean
SayTotalNew
A flag indicating whether system announces the total
number of new e-mail messages in the subscriber mailbox.
Values can be:
• False: Do not announce total number of new e-mail
messages.
• True: Announce the total number of new e-mail
messages in the subscriber mailbox.
Default value: False
Read/Write
Boolean
SayTotalNewEmail
Cisco Unity Connection Provisioning Interface (CUPI) API
329
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 362
Comments
Operations
Data
Type
Parameter
A flag indicating whether system announces the total
number of new fax messages in the subscriber mailbox.
Values can be:
• False: Do not announce total number of new fax
messages.
• True: Announce the total number of new fax messages
in the subscriber mailbox.
Default value: False
Read/Write
Boolean
SayTotalNewFax
A flag indicating whether system announces the total
number of new voice messages in the subscriber mailbox.
Values can be:
• False: Do not announce total number of new voice
messages.
• True: Announce the total number of new voice
messages in the subscriber mailbox.
Default value: True
Read/Write
Boolean
SayTotalNewVoice
A flag indicating whether system announces the total
number of new receipts in the subscriber mailbox.
Values can be:
• False: Do not announce total number of new receipts.
• True: Announce the total number of new receipts in
the subscriber mailbox.
Default value: False
Read/Write
Boolean
SayTotalReceipts
A flag indicating whether system announces the total
number of saved messages in the subscriber mailbox.
Values can be:
• False: Do not announce total number of saved
messages.
• True: Announce the total number of saved messages
in the subscriber mailbox.
Default value: True
Read/Write
Boolean
SayTotalSaved
The audio speed system uses to play back messages to the
subscriber. Range: 0-200.
Read/Write
Integer
Speed
The unique identifier of the MediaSwitch object Cisco
Unity Connection uses for subscriber Telephone Record
and Playback (TRAP) sessions and to dial MWI on or off
requests when the Cisco Unity Connection system has dual
switch integration.
Read-Only
String(36)
MediaSwitchObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
330
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 363
Comments
Operations
Data
Type
Parameter
Tells whether it can be deleted by administrator or not.
Read/Write
Boolean
Undeletable
A flag indicating whether the subscriber hears brief or full
phone menus when accessing system over the phone.
Default value: False
Read/Write
Boolean
UseBriefPrompts
The audio volume expressed as a percentage that Cisco
Unity Connection uses to play back message. Range: 0-100
Read/Write
Integer
Volume
A flag indicating whether a caller is prevented from being
transferred to the subscriber phone when the subscriber
alternate greeting is turned on.
Values can be:
• False: Ring the phone.
• True: Send the caller to the alternate greeting.
Default value: False
Read-Only
Boolean
EnAltGreetDontRingPhone
A flag indicating whether callers can skip the greeting
while it is playing when the alternate greeting is turned on.
Values can be:
• False: If alternate greeting is active, callers cannot
skip the greeting
• True: If alternate greeting is active, callers can skip
the greeting.
Default value: False
Read-Only
Boolean
EnAltGreetPreventSkip
A flag indicating whether callers can leave a message after
the greeting when the subscriber alternate greeting is turned
on.
Values can be:
• False: If alternate greeting is active, callers can leave
a message for the subscriber
• True: If alternate greeting is active, callers cannot
leave a message for the subscriber.
Default value: False
Read-Only
Boolean
EnAltGreetPreventMsg
A flag indicating whether system encrypts messages from
the subscriber that are marked private.
Values can be:
• False: Do not encrypt private messages.
• True: Encrypt private messages.
Default value: False
Read-Only
Boolean
EncryptPrivateMessages
Cisco Unity Connection Provisioning Interface (CUPI) API
331
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 364
Comments
Operations
Data
Type
Parameter
The order in which system presents deleted messages to
the subscriber.
Read-Only
Integer
DeletedMessageSortOrder
A flag indicating whether Cisco Unity Connection notifies
the subscriber when they login via the phone (plays
conversation) or CPCA (displays a warning banner) if their
alternate greeting is turned on.
Values can be:
• False: Do not notify the subscriber that their alternate
greeting is turned on.
• True: Notify the subscriber when they login if their
alternate greeting is turned on.
Default value: False
Read-Only
Boolean
SayAltGreetWarning
A flag indicating whether Cisco Unity Connection during
message playback, plays the primary extension information
of the subscriber who sent the message after playing the
sender's voice name.
Values can be:
• False: Do not play the extension information of the
subscriber who sent the message.
• True: After playing the sender's voice name, play the
primary extension information of the subscriber who
sent the message.
Default value: False
Read-Only
Boolean
SaySenderExtension
A flag indicating whether Cisco Unity Connection plays
the Automatic Number Identification (ANI) information
during message playback for voice messages from
unidentified callers.
Default value: False
Read-Only
Boolean
SayAni
The unique identifier of the CallAction object that is taken
when a caller exits the subscriber conversation by pressing
the * key or timing out.
Read-Only
String(36)
ExitCallActionObjectId
The number of rings to wait for a subscriber destination to
answer before the call is forwarded to the subscriber's
primary phone.
Read/Write
Integer
CallAnswerTimeout
The unique identifier of the primary CallHandler object
for the subscriber.
Read-Only
String(36)
CallHandlerObjectId
The format for generating the user display name.
Read/Write
Integer
DisplayNameRule
Cisco Unity Connection Provisioning Interface (CUPI) API
332
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 365
Comments
Operations
Data
Type
Parameter
A flag indicating whether or not the user credential will
automatically expire (and the user required to change the
credential upon its expiration) based on a defined schedule.
Regardless, the user still may change the credential (if
allowed by CantChange).
Values can be:
• False: The user credential will automatically expire.
The expiration of the credential is controlled by the
value of the column tbl_CredentialPolicy->MaxDays.
• True: The user credential will not automatically
expire.
Default value: False
Read/Write
Boolean
DoesntExpire
A flag indicating whether the user can set/change their
credential (i.e., the credential specified by the associated
credential policy).
Values can be:
• False: User is allowed to change their credential.
• True: User cannot change their credential.
Default value: False
Read-Only
Boolean
CantChange
The unique identifier of the MailboxStore object where a
mailbox is created for a new subscriber created with this
template.
Read-Only
String(36)
MailboxStoreObjectId
The order in which system plays the following types of
saved messages:
• Urgent voice messages
• Non-urgent voice messages
• Urgent fax messages
• Non-urgent fax messages
• Urgent e-mail messages
• Non-urgent e-mail messages
• Receipts and notices
Read/Write
String(36)
SavedMessageStackOrder
The order in which system plays the following types new
messages:
• Urgent voice messages
• Non-urgent voice messages* Urgent fax messages
• Non-urgent fax messages
• Urgent e-mail messages
• Non-urgent e-mail messages
• Receipts and notices
Read/Write
String(36)
NewMessageStackOrder
Cisco Unity Connection Provisioning Interface (CUPI) API
333
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 366
Comments
Operations
Data
Type
Parameter
The order in which system will sort messages when the
"Message Locator" feature is enabled.
Read/Write
Integer
MessageLocatorSortOrder
The order in which system will sort saved messages.
Read/Write
Integer
SavedMessageSortOrder
The order in which system will sort new messages.
Read/Write
Integer
NewMessageSortOrder
A flag indicating whether system plays the message type
menu when the subscriber logs on to system over the
phone.
Values can be:
• False: Do not play message type menu.
• True: Play message type menu.
Default value: False
Read/Write
Boolean
MessageTypeMenu
A flag indicating whether a subscriber's personal rules are
enabled. Subscribers can use this setting to disable all
personal rules at once.
Values can be:
• False: Call routing rules disabled for subscriber.
• 1: Call routing rules enabled for subscriber.
• True: Call routing rules enabled for subscriber.
Default value: True
Read/Write
Boolena
EnablePersonalRules
A valid authorization code that is entered prior to extending
calls to classes of dialed numbers, for example, external,
toll and international calls.
Read-Only
String(36)
ForcedAuthorizationCode
A flag indicating whether a caller should be promoted to
record his/her name if Unity does not receive caller id.
Default value: True
Read/Write
Boolean
RecordUnknownCallerName
A flag indicating whether a subscriber's primary phone
should be rung before trying other destinations in a personal
group.
Default value: False
Read/Write
Boolean
RingPrimaryPhoneFirst
The audio speed system uses to play back prompts to the
subscriber.
Read/Write
Integer
PromptSpeed
Type of call action to take, e.g., hang-up, go to another
object, etc.
Read/Write
Integer
ExitAction
The name of the conversation to which the caller is routed.
Read/Write
String(64)
ExitTargetConversation
The unique identifier of the specific object to send along
to the target conversation.
Read-Only
String(36)
ExitTargetHandlerObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
334
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 367
Comments
Operations
Data
Type
Parameter
The number of times to repeat a menu in TUI. Possible
range 0-250
Read/Write
Integer
RepeatMenu
The amount of time to wait (in milliseconds) for first digits
when collecting touch tones. Range: 500-10000.
Read/Write
Integer
FirstDigitTimeout
The amount of time to wait (in milliseconds) for input
between touch tones when collecting digits in TUI. Range:
1000-10000
Read-Only
Integer
InterdigitDelay
The volume level for playback of system prompts. Range:
0-100.
Read/Write
Integer
PromptVolume
The amount of time (in milliseconds) Cisco Unity
Connection will delay after playing greeting. Range:
0-50000.
Read/Write
Integer
DelayAfterGreeting
The client matter code to transmit to Call Manger when a
phone number is dialed on an outbound call. The CMC is
entered after a phone number is dialed so that the customer
can assign account or billing codes to the call. Whether or
not the CMC will be transmitted is dictated by a setting on
outbound call. The subscriber's CMC is used only if the
outbound call doesn't have its own CMC.
Read-Only
String(40)
ClientMatterCode
A flag indicating whether the subscriber will be prompted
to address message before or after it is recorded.
Values can be:
• False: Prompt subscriber to address message before
recording.
• True: Prompt subscriber to address message after
recording.
Default value: False
Read/Write
Boolean
AddressAfterRecord
A flag indicating whether system will request confirmation
from a subscriber before proceeding with a deletion of a
single new or saved message.
Values can be:
• False: system will not request confirmation from a
subscriber before proceeding with a deletion of a
single new or saved message.
• True: system will request confirmation from a
subscriber before proceeding with a deletion of a
single new or saved message.
Default value: False
Read/Write
Boolean
ConfirmDeleteMessage
Cisco Unity Connection Provisioning Interface (CUPI) API
335
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 368
Comments
Operations
Data
Type
Parameter
A flag indicating whether system allows the subscriber to
choose which message they want to delete or whether
system permanently deletes the specified type of messages.
A change what system does when subscribers press 3 > 2
2 from the Main menu to permanently delete multiple
deleted messages at once.
Values can be:
• False: System does not prompt the subscriber to
choose, and instead permanently deletes the type of
messages you specify: either deleted voice messages
or all deleted messages (voice, fax, and e-mail, as
applicable).
• True: System allows the subscriber to choose which
messages they want to delete; subscriber can either
delete their deleted voice messages or delete all of
their deleted messages.
Default value: True
Read/Write
Boolean
ConfirmDeleteMultipleMessage
The date and time when the personal address book was last
imported from a groupware package into the personal
groups for a user.
Read-Only
String(36)
PabLastImported
The time format used for the message timestamps that the
subscriber hears when they listen to their messages over
the phone.
Values can be:
• False: 12-Hour clock - The subscriber hears message
timestamps in the time format of a 12-hour clock. For
example, a subscriber will hear 1:00 PM when
listening to the timestamp of a message left at 1:00
PM.
• True: 24-Hour clock - The subscriber hears message
timestamps in the time format of a 24-hour clock. For
example, a subscriber will hear 13:00 when listening
to the timestamp of a message left at 1:00 PM.
Default value: False
Read/Write
Boolean
IsClockMode24Hour
For an undeliverable message, whether NDR messages
will appear in the subscriber mailbox or are deleted by the
system.
Read/Write
Boolean
RouteNDRToSender
The notification type to use for this mailbox created.
Read/Write
Integer
NotificationType
Cisco Unity Connection Provisioning Interface (CUPI) API
336
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 369
Comments
Operations
Data
Type
Parameter
A flag indicating whether the mailbox created with this
subscriber allows the system to send read receipts on its
behalf.
Values can be:
• 0: Disable
• 1: Enable
Read/Write
Integer
SendReadReceipts
The mailbox size (in bytes) send limit. (2048 MB)
Values can be:
• 1: The quota is unlimited.
• 2: The default system quota is assigned.
Read/Write
Integer
SendQuota
The mailbox size (in bytes) warning limit. (2048 MB)
Values can be:
• 1: The quota is unlimited.
• 2: The default system quota is assigned.
Read/Write
Integer
WarningQuota
The mailbox size (in bytes) receive limit. (2048 MB)
Values can be:
• 1: The quota is unlimited.
• 2: The default system quota is assigned.
Read/Write
Integer
ReceiveQuota
The distinguished name of the mailbox.
Read-Only
String(36)
MailboxDn
The unique identifiers of the Schedule object to use for
synchronization Calendar information from groupware
(such as Exchange).
Read-Only
String(36)
SynchScheduleObjectId
Temporary placeholder until IsVmEnrolled can be phased
out.
Read-Only
Boolean
IsSetForVmEnrollment
A flag indicating whether the subscriber may send
broadcast messages.
Values can be:
• False: Cannot send broadcast messages.
• True: Can send broadcast messages.
Default value: False
Read/Write
Boolean
SendBroadcastMsg
Cisco Unity Connection Provisioning Interface (CUPI) API
337
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 370
Comments
Operations
Data
Type
Parameter
A flag indicating whether the subscriber has the ability to
update broadcast messages that are active or will be active
in the future.
Values can be:
• False: Cannot update broadcast messages.
• True: Can update broadcast messages.
Default value: False
Read/Write
Boolean
UpdateBroadcastMsg
The VUI conversation assigned to the subscriber.
Read/Write
Boolean
ConversationVUI
Specifies the required length of silence (in milliseconds)
following user speech before the recognizer finalizes a
result.
Read-Only
Integer
SpeechCompleteTimeout
Specifies the required length of silence (in milliseconds)
from when the speech prior to the silence matches an active
grammar.
Read-Only
Integer
SpeechIncompleteTimeout
A flag indicating whether the speech recognition
conversation is the default conversation for the subscriber.
Values can be:
• False: Speech recognition conversation is not default
conversation for the subscriber.
• True: Speech recognition conversation is the default
conversation for the subscriber.
Default value: False
Read/Write
Boolean
UseVui
A flag indicating whether the subscriber will be asked for
his/her PIN when attempting to sign-in from a known
device.
Default value: False
Read/Write
Boolean
SkipPasswordForKnownDevice
A flag indicating whether the subscriber conversation
jumps directly to the first message in the message stack
after subscriber sign-in.
Values can be:
• False: Subscriber conversation does not jump directly
to first message in the message stack after subscriber
sign-in.
• True: Subscriber conversation jumps directly to the
first message in the message stack after subscriber
sign-in.
Default value: True
Read/Write
Boolean
JumpToMessagesOnLogin
Cisco Unity Connection Provisioning Interface (CUPI) API
338
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 371
Comments
Operations
Data
Type
Parameter
A flag indicating whether the message locator feature is
enabled for the subscriber.
Values can be:
• False: Message locator feature is disabled for
subscriber.
• True: Message locator feature is enabled for
subscriber.
Default value: False
Read/Write
Boolean
EnableMessageLocator
The unique identifier of the MessageAgingPolicy object
that applies to the mailbox created for a new subscriber
created with this template.
Read-Only
String(36)
MessageAgingPolicyObjectId
This controls the number of entries to display per page for
all tables in the Unity Assistant, e.g. the Private List
Members table.
Read-Only
Integer
AssistantRowsPerPage
The number of messages Unity Inbox displays in a page.
Read-Only
Integer
InboxMessagesPerPage
The rate (in minutes) at which Unity Inbox performs a
refresh.
Read-Only
Integer
InboxAutoRefresh
A flag indicating whether Cisco Unity Connection
automatically resolves a recipient address entered in the
To, Cc or Bcc fields to a subscriber or distribution list.
Known as the "AutoResolve" feature.
Read-Only
Integer
InboxAutoResolveMessageRecipients
Controls the number of matching entries the Address Book
displays per page, when a search is performed. The Address
Book is used across multiple PCA applications and so this
setting applies globally.
Read-Only
Integer
PcaAddressBookRowsPerPage
The Home Page is the first page that is displayed after
logging in to the PCA.
Read-Only
String(36)
PcaHomePage
A flag indicating whether TTS is enabled for the subscriber.
Only relevant if TTS enabled in User's COS also.
Values can be:
• False: TTS is disabled for the subscriber.
• True: TTS is enabled for the subscriber
Default value: True
Read/Write
Boolean
EnableTts
Voice Recognition Confirmation Confidence Threshold.
Read-Only
Integer
ConfirmationConfidenceThreshold
The amount ahead of time, in minutes, that Connection
will warn the subscriber of upcoming meetings when the
subscriber calls into the system.
Read-Only
Integer
AnnounceUpcomingMeetings
Cisco Unity Connection Provisioning Interface (CUPI) API
339
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 372
Comments
Operations
Data
Type
Parameter
When the engine matches a spoken phrase, it associates a
confidence level with that conclusion. This parameter
determines what confidence level should be considered a
successful match. A higher value means the engine is will
report fewer successful matches, but it will be more
confident in the matches that it reports. Range: 0-100.
Read-Only
Integer
SpeechConfidenceThreshold
Sets accuracy and performance of speech.
Read-Only
Integer
SpeechSpeedVsAccuracy
A variable level of sound sensitivity that enables the speech
engine to filter out background noise and not mistake it for
speech.
Read-Only
Integer
SpeechSensitivity
A flag indicating whether the visual message locator feature
is enabled for the subscriber. The visual message locator
feature presents a list of messages on the subscriber's IP
phone display for the subscriber to select from visually.
Values can be:
• False: Visual message locator feature disabled for
subscriber.
• True: Visual message locator feature enabled for
subscriber.
Default value: False
Read/Write
Boolean
EnableVisualMessageLocator
A flag indicating whether when addressing, after entering
one recipient name, whether the subscriber is asked to enter
another name or assume the subscriber is finished adding
names and is ready to move on to recording the message
or applying message options.
Values can be:
• False: Unity Connection prompts subscribers to press
1 to add more recipients.
• True: Unity Connection does not prompt subscribers
to press 1 to add more recipients. Instead, subscribers
continue entering recipient names or extensions (as
applicable) until they indicate that they have
completed addressing.
Default value: False
Read/Write
Boolean
ContinuousAddMode
Whether voice name of the user or distribution list is played
or not.
Values can be:
• False: No voice name played.
• True: Voice name of subscriber or DL is played.
Default value: False
Read/Write
Boolean
NameConfirmation
Cisco Unity Connection Provisioning Interface (CUPI) API
340
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 373
Comments
Operations
Data
Type
Parameter
The amount of time (in milliseconds) between digits on a
multiple digit menu command entry (i.e. different than the
inter digit timeout that is used for strings of digits such as
extensions and transfer strings).
Default value: 1500 Range: 250-5000
Read-Only
Integer(4)
CommandDigitTimeout
A flag indicating when hanging up while listening to a new
message, whether the message is marked new again or is
marked read.
Values can be:
• False: Message is marked new again.
• True: Message is marked read.
Default value: False
Read/Write
Boolean
SaveMessageOnHangup
Indicates the amount of time (in milliseconds) to jump
forward when skipping ahead in a voice or TTS message
using either DTMF or voice commands while reviewing
messages.
Default Value: 5000 Range: 1000-60000
Read-Only
Integer(4)
SkipForwardTime
Indicates the amount of time (in milliseconds) to jump
backward when skipping in reverse in a voice or TTS
message using either DTMF or voice commands while
reviewing messages.
Default Value: 5000 Range: 1000-60000
Read-Only
Integer(4)
SkipReverseTime
A flag indicating whether the user's polling cycle for
retrieving calendar information will be the shorter "power
user" polling cycle.
Values can be:
• False: The subscriber's polling cycle is determined by
the system default polling cycle. (default value)
(System configuration setting "Normal Calendar
Caching Poll Interval").
• True: The shorter "power user" polling cycle is used.
(System configuration setting "Short Calendar
Caching Poll Interval").
Default value: False
Read-Only
Boolean
UseShortPollForCache
The unique identifier of the SearchSpace which is used to
limit the visibility to dialable/addressable objects when
searching by extension (dial string).
Read-Only
String(36)
SearchByExtensionSearchSpaceObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
341
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 374
Comments
Operations
Data
Type
Parameter
The unique identifier of the SearchSpace which is used to
limit the visibility to dilatable/addressable objects when
searching by name (character string).
Read-Only
String(36)
SearchByNameSearchSpaceObjectId
The unique identifier of the Partition to which a subscriber's
DtmfAccessId created with this template will be assigned.
Read/Write
String(36)
PartitionObjectId
Use dynamic name search weight. When this user addresses
objects, the name search weight for those objects will
automatically be incremented.
Read-Only
Boolean
UseDynamicNameSearchWeight
The pkid of associated end user in the sleeping SeaDragon
database.
Read/Write
String(36)
LdapCcmPkid
The LDAP configuration information for the user.
Read-Only
Integer
LdapType
The unique identifier of the FaxServer object for the
subscriber.
Read-Only
String(36)
FaxServerObjectId
The userid of associated end user in the sleeping SeaDragon
database.
Read-Only
String(36)
LdapCcmUserId
Alternate transfer option.
Read-Only
String(36)
XferString
A flag indicating whether Message Bookmark is enabled
for the subscriber.
Values can be:
• False: Message Bookmark feature is disabled for
subscriber.
• True: Message Bookmark feature is enabled for
subscriber.
Default value: False
Read/Write
Boolean
EnableMessageBookmark
A flag indicating whether Cisco Unity Connection
announces the total number of draft messages in the
subscriber mailbox.
Values can be:
• False: Do not announce total number of draft
messages.
• True: Announce the total number of draft messages
in the subscriber mailbox.
Default value: False
Read/Write
Boolean
SayTotalDraftMsg
Cisco Unity Connection Provisioning Interface (CUPI) API
342
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 375
Comments
Operations
Data
Type
Parameter
A flag indicating whether the save draft message feature
is enabled for the subscriber.
Values can be:
• False: Do not save draft messages.
• True: Save draft messages.
Default value: False
Read/Write
Boolean
EnableSaveDraft
Urgent message flag on a message is retained for both reply
and forward message actions.
Default value: False
Read/Write
Boolean
RetainUrgentMessageFlag
A flag indicating whether Cisco Unity Connection
announces the length of each message during message
playback.
Default value: False
Read/Write
Boolean
SayMessageLength
SMTP proxy address matching the corporate e-mail address
created for user.
Read/Write
Boolean
CreateSmtpProxyFromCorp
A flag indicating that the conversation will, during
playback, advance to the next message in the playback
stack automatically after it is done playing the after
message menu.
Values can be:
• False: Do not automatically skip to the next message
after playing the after message menu once.
• True: Do advanced automatically to the next message
after playing the after message menu once.
Default value: False
Read-Only
Boolean
AutoAdvanceMsgs
This flag works exactly the same as the SaySender flag on
a user, except the conversation plays the sender in the
message footer.
Default value: False
Read-Only
Boolean
SaySenderAfter
This flag works exactly the same as the
SaySenderExtension flag on a user, except the conversation
plays the sender's extension in the message footer.
Default value: False
Read-Only
Boolean
SaySenderExtensionAfter
This flag works exactly the same as the SayMsgNumber
flag on a user, except the conversation plays the message
number in the message footer.
Default value: False
Read-Only
Boolean
SayMsgNumberAfter
Cisco Unity Connection Provisioning Interface (CUPI) API
343
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 376
Comments
Operations
Data
Type
Parameter
This flag works exactly the same as the SayAni flag on a
user, except the conversation plays the ani in the message
footer.
Default value: False
Read-Only
Boolean
SayAniAfter
This flag works exactly the same as the SayMessageLength
flag on a user, except the conversation plays the message
length in the message footer.
Default value: False
Read-Only
Boolean
SayMessageLengthAfter
Cisco Unity Connection Provisioning Interface (CUPI) API
344
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template
Explanation of Data Fields
Page 377
C H A P T E R 34
Cisco Unity Connection Provisioning Interface
(CUPI) API for User Template Settings
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Basic User Template Information, on page
345
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Default User Template, on page 364
• Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template VoiceMail PIN , on page
368
• Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Transfer Options , on page
368
• Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Caller Input, on page 371
• Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Greetings, on page 376
• Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Settings Notification
Devices, on page 380
• Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Settings Video Service
Account, on page 389
Cisco Unity Connection Provisioning Interface (CUPI) API --
Basic User Template Information
About User Templates
This page contains information on how to use the API to create, list, modify, and delete user templates. When
you create user accounts, you base each account on a user template. Creating new user accounts on a template
minimizes the number of settings that must be modified on individual user accounts, making the job of creating
user accounts easier.
Cisco Unity Connection comes with predefined user templates too, which you can modify but not delete. For
more information on default user template, see Default User Template section.
Cisco Unity Connection Provisioning Interface (CUPI) API
345

Page 378
Listing and Viewing User Templates
Generic Examples to List User Templates
Example 1
The following is an example of the GET request that lists all the User Templates:
https://<connection_server>/vmrest/usertemplates
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
346
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Listing and Viewing User Templates
Page 379
<UserTemplates total="1">
<UserTemplate>
<URI>/vmrest/usertemplates/7553408b-3415-43db-aa82-3b2dc78062d1</URI>
<ObjectId>7553408b-3415-43db-aa82-3b2dc78062d1</ObjectId>
<UseDefaultLanguage>true</UseDefaultLanguage>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<Alias>voicemailusertemplate</Alias>
<DisplayName>Voice Mail User Template</DisplayName>
<TimeZone>190</TimeZone>
<CreationTime>2012-06-25T06:07:31Z</CreationTime>
<CosObjectId>7be9b3f3-1200-403f-984a-04c07b7c5a7b</CosObjectId>
<CosURI>/vmrest/coses/7be9b3f3-1200-403f-984a-04c07b7c5a7b</CosURI>
<Language>1033</Language>
<LocationObjectId>6d4ff2e5-3f26-4a19-b2fa-beca79b4c5e9</LocationObjectId>
<LocationURI>
/vmrest/locations/connectionlocations/6d4ff2e5-3f26-4a19-b2fa- beca79b4c5e9
</LocationURI>
<AddressMode>0</AddressMode>
<ClockMode>0</ClockMode>
<ConversationTui>SubMenu</ConversationTui>
<GreetByName>true</GreetByName>
<ListInDirectory>true</ListInDirectory>
<IsVmEnrolled>true</IsVmEnrolled>
<SayCopiedNames>true</SayCopiedNames>
<SayDistributionList>true</SayDistributionList>
<SayMsgNumber>true</SayMsgNumber>
<SaySender>true</SaySender>
<SayTimestampAfter>true</SayTimestampAfter>
<SayTimestampBefore>false</SayTimestampBefore>
<SayTotalNew>false</SayTotalNew>
<SayTotalNewEmail>false</SayTotalNewEmail>
<SayTotalNewFax>false</SayTotalNewFax>
<SayTotalNewVoice>true</SayTotalNewVoice>
<SayTotalReceipts>false</SayTotalReceipts>
<SayTotalSaved>true</SayTotalSaved>
<Speed>100</Speed>
<MediaSwitchObjectId>
1fb12b1c-cf14-4634-b73d- 9b9c58ecdf68
</MediaSwitchObjectId>
<PhoneSystemURI>
/vmrest/phonesystems/1fb12b1c-cf14-4634-b73d-9b9c58ecdf68
</PhoneSystemURI>
<Undeletable>true</Undeletable>
<UseBriefPrompts>false</UseBriefPrompts>
<Volume>50</Volume>
<EnAltGreetDontRingPhone>false</EnAltGreetDontRingPhone>
<EnAltGreetPreventSkip>false</EnAltGreetPreventSkip>
<EnAltGreetPreventMsg>false</EnAltGreetPreventMsg>
<EncryptPrivateMessages>false</EncryptPrivateMessages>
<DeletedMessageSortOrder>2</DeletedMessageSortOrder>
<SayAltGreetWarning>false</SayAltGreetWarning>
<SaySenderExtension>false</SaySenderExtension>
<SayAni>false</SayAni>
<ExitCallActionObjectId>
a365e3c0-d8ed-4874-9810-cedb074dfe33
</ExitCallActionObjectId>
<CallAnswerTimeout>4</CallAnswerTimeout>
<CallHandlerObjectId>f700f378-9656-45ea-94ff-c0462592999e</CallHandlerObjectId>
<CallhandlerURI>
/vmrest/callhandlerprimarytemplates/f700f378-9656-45ea-94ff-c0462592999e
</CallhandlerURI>
<DisplayNameRule>1</DisplayNameRule>
<DoesntExpire>false</DoesntExpire>
<CantChange>false</CantChange>
Cisco Unity Connection Provisioning Interface (CUPI) API
347
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Generic Examples to List User Templates
Page 380
<MailboxStoreObjectId>cfc43112-601b-4764-ba92-b0220e9d7f23</MailboxStoreObjectId>
<SavedMessageStackOrder>1234567</SavedMessageStackOrder>
<NewMessageStackOrder>1234567</NewMessageStackOrder>
<InboxAutoResolveMessageRecipients>true</InboxAutoResolveMessageRecipients>
<PcaAddressBookRowsPerPage>5</PcaAddressBookRowsPerPage>
<ReadOnly>false</ReadOnly>
<EnableTts>true</EnableTts>
<ConfirmationConfidenceThreshold>60</ConfirmationConfidenceThreshold>
<AnnounceUpcomingMeetings>60</AnnounceUpcomingMeetings>
<SpeechConfidenceThreshold>40</SpeechConfidenceThreshold>
<SpeechSpeedVsAccuracy>50</SpeechSpeedVsAccuracy>
<SpeechSensitivity>50</SpeechSensitivity>
<EnableVisualMessageLocator>false</EnableVisualMessageLocator>
<ContinuousAddMode>false</ContinuousAddMode>
<NameConfirmation>false</NameConfirmation>
<CommandDigitTimeout>1500</CommandDigitTimeout>
<SaveMessageOnHangup>false</SaveMessageOnHangup>
<SendMessageOnHangup>1</SendMessageOnHangup>
<SkipForwardTime>5000</SkipForwardTime>
<SkipReverseTime>5000</SkipReverseTime>
<UseShortPollForCache>false</UseShortPollForCache>
<SearchByExtensionSearchSpaceObjectId>
25e2e004-c194-4593-9961-bdcaf5dd7189
</SearchByExtensionSearchSpaceObjectId>
<SearchByExtensionSearchSpaceURI>
/vmrest/searchspaces/25e2e004-c194-4593-9961-bdcaf5dd7189
</SearchByExtensionSearchSpaceURI>
<SearchByNameSearchSpaceObjectId>
25e2e004-c194-4593-9961-bdcaf5dd7189
</SearchByNameSearchSpaceObjectId>
<SearchByNameSearchSpaceURI>
/vmrest/searchspaces/25e2e004-c194-4593-9961-bdcaf5dd7189
</SearchByNameSearchSpaceURI>
<PartitionObjectId>12101df7-ecd2-4a48-b5b9-9a96b5f85a25</PartitionObjectId>
<PartitionURI>
/vmrest/partitions/12101df7-ecd2-4a48-b5b9-9a96b5f85a25
</PartitionURI>
<UseDynamicNameSearchWeight>false</UseDynamicNameSearchWeight>
<LdapType>0</LdapType>
<EnableMessageBookmark>false</EnableMessageBookmark>
<SayTotalDraftMsg>false</SayTotalDraftMsg>
<EnableSaveDraft>false</EnableSaveDraft>
<RetainUrgentMessageFlag>false</RetainUrgentMessageFlag>
<SayMessageLength>false</SayMessageLength>
<CreateSmtpProxyFromCorp>false</CreateSmtpProxyFromCorp>
<AutoAdvanceMsgs>false</AutoAdvanceMsgs>
<SaySenderAfter>false</SaySenderAfter>
<SaySenderExtensionAfter>false</SaySenderExtensionAfter>
<SayMsgNumberAfter>false</SayMsgNumberAfter>
<SayAniAfter>false</SayAniAfter>
<SayMessageLengthAfter>false</SayMessageLengthAfter>
<UserTemplateRolesURI>
/vmrest/usertemplates/7553408b-3415-43db-aa82-3b2dc78062d1/usertemplateroles
</UserTemplateRolesURI>
<UserTemplateNotificationDevicesURI>
/vmrest/usertemplates/7553408b-3415-43db-aa823b2dc78062d1/usertemplatenotificationdevices
</UserTemplateNotificationDevicesURI>
<UserTemplateWebPasswordURI>
/vmrest/usertemplates/7553408b-3415-43db-aa82-3b2dc78062d1/credential/password
</UserTemplateWebPasswordURI>
<UserTemplateVoicePinURI>
/vmrest/usertemplates/7553408b-3415-43db-aa82-3b2dc78062d1/credential/pin
</UserTemplateVoicePinURI>
Cisco Unity Connection Provisioning Interface (CUPI) API
348
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Generic Examples to List User Templates
Page 381
<UserTemplateMessageActionURI>
/vmrest/usertemplates/7553408b-3415-43db-aa82-3b2dc78062d1/usertemplatemessageactions
</UserTemplateMessageActionURI>
</UserTemplate>
Response Code: 200
Example 2
The following is an example of the GET request that lists the User Template as represented by <objectId>:
https://<connection_server>/vmrest/usertemplates/<objectId>
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
349
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Generic Examples to List User Templates
Page 382
<UserTemplate>
<URI>
/vmrest/usertemplates/c8af2544-2bc9-44fa-b713-e80f306cf781
</URI>
<ObjectId>
c8af2544-2bc9-44fa-b713-e80f306cf781
</ObjectId>
<UseDefaultLanguage>true</UseDefaultLanguage>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<Alias>NewCiscoTemplate2</Alias>
<City/>
<State/>
<Country>US</Country>
<PostalCode/>
<Department/>
<Manager/>
<Building/>
<Address/>
<DisplayName>testmonica</DisplayName>
<BillingId/>
<TimeZone>190</TimeZone>
<CreationTime>2012-06-26 05:02:22.05</CreationTime>
<CosObjectId>7be9b3f3-1200-403f-984a-04c07b7c5a7b</CosObjectId>
<CosURI>/vmrest/coses/7be9b3f3-1200-403f-984a-04c07b7c5a7b</CosURI>
<Language>1033</Language>
<LocationObjectId>
6d4ff2e5-3f26-4a19-b2fa-beca79b4c5e9
</LocationObjectId>
<LocationURI>
/vmrest/locations/connectionlocations/6d4ff2e5-3f26-4a19-b2fa-beca79b4c5e9
</LocationURI>
<AddressMode>0</AddressMode>
<ClockMode>0</ClockMode>
<ConversationTui>SubMenu</ConversationTui>
<GreetByName>true</GreetByName>
<ListInDirectory>true</ListInDirectory>
<IsVmEnrolled>true</IsVmEnrolled>
<SayCopiedNames>true</SayCopiedNames>
<SayDistributionList>true</SayDistributionList>
<SayMsgNumber>true</SayMsgNumber>
<SaySender>true</SaySender>
<SayTimestampAfter>true</SayTimestampAfter>
<SayTimestampBefore>false</SayTimestampBefore>
<SayTotalNew>false</SayTotalNew>
<SayTotalNewEmail>false</SayTotalNewEmail>
<SayTotalNewFax>false</SayTotalNewFax>
<SayTotalNewVoice>true</SayTotalNewVoice>
<SayTotalReceipts>false</SayTotalReceipts>
<SayTotalSaved>true</SayTotalSaved>
<Speed>100</Speed>
<MediaSwitchObjectId>
1fb12b1c-cf14-4634-b73d-9b9c58ecdf68
</MediaSwitchObjectId>
<PhoneSystemURI>
/vmrest/phonesystems/1fb12b1c-cf14-4634-b73d-9b9c58ecdf68
</PhoneSystemURI>
<Undeletable>false</Undeletable>
<UseBriefPrompts>false</UseBriefPrompts>
<Volume>50</Volume>
<EnAltGreetDontRingPhone>false</EnAltGreetDontRingPhone>
<EnAltGreetPreventSkip>false</EnAltGreetPreventSkip>
<EnAltGreetPreventMsg>false</EnAltGreetPreventMsg>
<EncryptPrivateMessages>false</EncryptPrivateMessages>
<DeletedMessageSortOrder>2</DeletedMessageSortOrder>
Cisco Unity Connection Provisioning Interface (CUPI) API
350
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Generic Examples to List User Templates
Page 383
<SayAltGreetWarning>false</SayAltGreetWarning>
<SaySenderExtension>false</SaySenderExtension>
<SayAni>false</SayAni>
<ExitCallActionObjectId>
27cbb3a8-f040-4ee9-9686-620c43e3d725
</ExitCallActionObjectId>
<CallAnswerTimeout>4</CallAnswerTimeout>
<CallHandlerObjectId>
9a5ac35a-0df8-4ebb-8e19-77f936dfd263
</CallHandlerObjectId>
<CallhandlerURI>
/vmrest/callhandlerprimarytemplates/9a5ac35a-0df8-4ebb-8e19-77f936dfd263
</CallhandlerURI>
<DisplayNameRule>1</DisplayNameRule>
<DoesntExpire>false</DoesntExpire>
<CantChange>false</CantChange>
<MailboxStoreObjectId>
cfc43112-601b-4764-ba92-b0220e9d7f23
</MailboxStoreObjectId>
<SavedMessageStackOrder>1234567</SavedMessageStackOrder>
<NewMessageStackOrder>1234567</NewMessageStackOrder>
<MessageLocatorSortOrder>1</MessageLocatorSortOrder>
<SavedMessageSortOrder>2</SavedMessageSortOrder>
<NewMessageSortOrder>1</NewMessageSortOrder>
<MessageTypeMenu>false</MessageTypeMenu>
<EnablePersonalRules>true</EnablePersonalRules>
<RecordUnknownCallerName>true</RecordUnknownCallerName>
<RingPrimaryPhoneFirst>false</RingPrimaryPhoneFirst>
<PromptSpeed>100</PromptSpeed>
<ExitAction>2</ExitAction>
<ExitTargetConversation>PHTransfer</ExitTargetConversation>
<ExitTargetHandlerObjectId>
7ae69f21-1c99-4cc1-96c3-a1bbe11fd4ca
</ExitTargetHandlerObjectId>
<RepeatMenu>1</RepeatMenu>
<FirstDigitTimeout>5000</FirstDigitTimeout>
<InterdigitDelay>3000</InterdigitDelay>
<PromptVolume>50</PromptVolume>
<AddressAfterRecord>false</AddressAfterRecord>
<ConfirmDeleteMessage>false</ConfirmDeleteMessage>
<ConfirmDeleteDeletedMessage>false</ConfirmDeleteDeletedMessage>
<ConfirmDeleteMultipleMessages>true</ConfirmDeleteMultipleMessages>
<IsClockMode24Hour>false</IsClockMode24Hour>
<RouteNDRToSender>true</RouteNDRToSender>
<NotificationType>0</NotificationType>
<SendReadReceipts>0</SendReadReceipts>
<ReceiveQuota>-1</ReceiveQuota>
<SendQuota>-1</SendQuota>
<WarningQuota>-1</WarningQuota>
<IsSetForVmEnrollment>true</IsSetForVmEnrollment>
<VoiceNameRequired>false</VoiceNameRequired>
<SendBroadcastMsg>true</SendBroadcastMsg>
<UpdateBroadcastMsg>false</UpdateBroadcastMsg>
<ConversationVui>VuiStart</ConversationVui>
<SpeechCompleteTimeout>0</SpeechCompleteTimeout>
<SpeechIncompleteTimeout>750</SpeechIncompleteTimeout>
<UseVui>false</UseVui>
<SkipPasswordForKnownDevice>false</SkipPasswordForKnownDevice>
<JumpToMessagesOnLogin>true</JumpToMessagesOnLogin>
<EnableMessageLocator>false</EnableMessageLocator>
<MessageAgingPolicyObjectId>
2e02eca6-270b-4b7f-a153-f03ea74d403d
</MessageAgingPolicyObjectId>
<MessageAgingPolicyURI>
Cisco Unity Connection Provisioning Interface (CUPI) API
351
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Generic Examples to List User Templates
Page 384
/vmrest/messageagingpolicies/2e02eca6-270b-4b7f-a153-f03ea74d403d
</MessageAgingPolicyURI>
<AssistantRowsPerPage>5</AssistantRowsPerPage>
<InboxMessagesPerPage>20</InboxMessagesPerPage>
<InboxAutoRefresh>15</InboxAutoRefresh>
<InboxAutoResolveMessageRecipients>true</InboxAutoResolveMessageRecipients>
<PcaAddressBookRowsPerPage>5</PcaAddressBookRowsPerPage>
<ReadOnly>false</ReadOnly>
<EnableTts>true</EnableTts>
<ConfirmationConfidenceThreshold>60</ConfirmationConfidenceThreshold>
<AnnounceUpcomingMeetings>60</AnnounceUpcomingMeetings>
<SpeechConfidenceThreshold>40</SpeechConfidenceThreshold>
<SpeechSpeedVsAccuracy>50</SpeechSpeedVsAccuracy>
<SpeechSensitivity>50</SpeechSensitivity>
<EnableVisualMessageLocator>false</EnableVisualMessageLocator>
<ContinuousAddMode>false</ContinuousAddMode>
<NameConfirmation>false</NameConfirmation>
<CommandDigitTimeout>1500</CommandDigitTimeout>
<SaveMessageOnHangup>false</SaveMessageOnHangup>
<SendMessageOnHangup>1</SendMessageOnHangup>
<SkipForwardTime>5000</SkipForwardTime>
<SkipReverseTime>5000</SkipReverseTime>
<UseShortPollForCache>false</UseShortPollForCache>
<SearchByExtensionSearchSpaceObjectId>
25e2e004-c194-4593-9961-bdcaf5dd7189
</SearchByExtensionSearchSpaceObjectId>
<SearchByExtensionSearchSpaceURI>
/vmrest/searchspaces/25e2e004-c194-4593-9961-bdcaf5dd7189
</SearchByExtensionSearchSpaceURI>
<SearchByNameSearchSpaceObjectId>
25e2e004-c194-4593-9961-bdcaf5dd7189
</SearchByNameSearchSpaceObjectId>
<SearchByNameSearchSpaceURI>
/vmrest/searchspaces/25e2e004-c194-4593-9961-bdcaf5dd7189
</SearchByNameSearchSpaceURI>
<PartitionObjectId>
12101df7-ecd2-4a48-b5b9-9a96b5f85a25
</PartitionObjectId>
<PartitionURI>
/vmrest/partitions/12101df7-ecd2-4a48-b5b9-9a96b5f85a25
</PartitionURI>
<UseDynamicNameSearchWeight>false</UseDynamicNameSearchWeight>
<LdapType>0</LdapType>
<EnableMessageBookmark>false</EnableMessageBookmark>
<SayTotalDraftMsg>false</SayTotalDraftMsg>
<EnableSaveDraft>false</EnableSaveDraft>
<RetainUrgentMessageFlag>false</RetainUrgentMessageFlag>
<SayMessageLength>false</SayMessageLength>
<CreateSmtpProxyFromCorp>false</CreateSmtpProxyFromCorp>
<AutoAdvanceMsgs>false</AutoAdvanceMsgs>
<SaySenderAfter>false</SaySenderAfter>
<SaySenderExtensionAfter>false</SaySenderExtensionAfter>
<SayMsgNumberAfter>false</SayMsgNumberAfter>
<SayAniAfter>false</SayAniAfter>
<SayMessageLengthAfter>false</SayMessageLengthAfter>
<UserTemplateRolesURI>
/vmrest/usertemplates/c8af2544-2bc9-44fa-b713-e80f306cf781/usertemplateroles
</UserTemplateRolesURI>
<UserTemplateNotificationDevicesURI>
/vmrest/usertemplates/c8af2544-2bc9-44fa-b713-e80f306cf781/usertemplatenotificationdevices
</UserTemplateNotificationDevicesURI>
<UserTemplateWebPasswordURI>
/vmrest/usertemplates/c8af2544-2bc9-44fa-b713-e80f306cf781/credential/password
Cisco Unity Connection Provisioning Interface (CUPI) API
352
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Generic Examples to List User Templates
Page 385
</UserTemplateWebPasswordURI>
<UserTemplateVoicePinURI>
/vmrest/usertemplates/c8af2544-2bc9-44fa-b713-e80f306cf781/credential/pin
</UserTemplateVoicePinURI>
<UserTemplateMessageActionURI>
/vmrest/usertemplates/c8af2544-2bc9-44fa-b713-e80f306cf781/usertemplatemessageactions
</UserTemplateMessageActionURI>
</UserTemplate>
Response Code: 200
JSON Examples to List User Templates
Example 1
The following is an example of the GET request that lists all the User Templates:
https://<connection_server>/vmrest/usertemplates/
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
353
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Generic Examples to List User Templates
Page 386
{
"@total": "2",
"UserTemplate":
{
"URI": "/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d",
"ObjectId": "885dd0af-bdb1-401f-b4e9-6bd9fc8d594d",
"UseDefaultLanguage": "true",
"UseDefaultTimeZone": "true",
"Alias": "voicemailusertemplate",
"DisplayName": "Voice Mail User Template",
"TimeZone": "4",
"CreationTime": "2012-07-29T14:10:26Z",
"CosObjectId": "362bf7f9-7cec-4f59-86dd-6c058a9100ef",
"CosURI": "/vmrest/coses/362bf7f9-7cec-4f59-86dd-6c058a9100ef",
"Language": "1033",
"LocationObjectId": "3a403c9c-04c8-496a-ba76-23faaaae5a95",
"LocationURI":
"/vmrest/locations/connectionlocations/3a403c9c-04c8-496a-ba76-23faaaae5a95",
"AddressMode": "0",
"ClockMode": "0",
"ConversationTui": "SubMenu",
"GreetByName": "true",
"ListInDirectory": "true",
"IsVmEnrolled": "true",
"SayCopiedNames": "true",
"SayDistributionList": "true",
"SayMsgNumber": "true",
"SaySender": "true",
"SayTimestampAfter": "true",
"SayTimestampBefore": "false",
"SayTotalNew": "false",
"SayTotalNewEmail": "false",
"SayTotalNewFax": "false",
"SayTotalNewVoice": "true",
"SayTotalReceipts": "false",
"SayTotalSaved": "true",
"Speed": "100",
"MediaSwitchObjectId": "0d15753c-e1b4-4865-b00b-999a1ccf56ce",
"PhoneSystemURI":
"/vmrest/phonesystems/0d15753c-e1b4-4865-b00b-999a1ccf56ce",
"Undeletable": "true",
"UseBriefPrompts": "false",
"Volume": "50",
"EnAltGreetDontRingPhone": "false",
"EnAltGreetPreventSkip": "false",
"EnAltGreetPreventMsg": "false",
"EncryptPrivateMessages": "false",
"DeletedMessageSortOrder": "2",
"SayAltGreetWarning": "false",
"SaySenderExtension": "false",
"SayAni": "false",
"ExitCallActionObjectId": "6352cf7d-89f8-4748-bac5-8878889c3d56",
"CallAnswerTimeout": "4",
"CallHandlerObjectId": "c9069370-3631-4d36-a53a-1ac4e8d8f444",
"CallhandlerURI":
"/vmrest/callhandlerprimarytemplates/c9069370-3631-4d36-a53a-1ac4e8d8f444",
"DisplayNameRule": "1",
"DoesntExpire": "false",
"CantChange": "false",
"MailboxStoreObjectId": "6d2eb9ad-3caf-41d2-b3db-4451d95057fe",
"SavedMessageStackOrder": "1234567",
"NewMessageStackOrder": "1234567",
"MessageLocatorSortOrder": "1",
"SavedMessageSortOrder": "2",
Cisco Unity Connection Provisioning Interface (CUPI) API
354
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Generic Examples to List User Templates
Page 387
"NewMessageSortOrder": "1",
"MessageTypeMenu": "false",
"EnablePersonalRules": "true",
"RecordUnknownCallerName": "true",
"RingPrimaryPhoneFirst": "false",
"PromptSpeed": "100",
"ExitAction": "2",
"ExitTargetConversation": "PHGreeting",
"ExitTargetHandlerObjectId": "708d5a59-95bb-4804-979b-c56b2f7d719a",
"RepeatMenu": "1",
"FirstDigitTimeout": "5000",
"InterdigitDelay": "3000",
"PromptVolume": "50",
"DelayAfterGreeting": "0",
"AddressAfterRecord": "false",
"ConfirmDeleteMessage": "false",
"ConfirmDeleteDeletedMessage": "false",
"ConfirmDeleteMultipleMessages": "true",
"IsClockMode24Hour": "false",
"RouteNDRToSender": "true",
"NotificationType": "0",
"SendReadReceipts": "1",
"ReceiveQuota": "2147483647",
"SendQuota": "2147483647",
"WarningQuota": "2147483647",
"IsSetForVmEnrollment": "true",
"VoiceNameRequired": "false",
"SendBroadcastMsg": "false",
"UpdateBroadcastMsg": "false",
"ConversationVui": "VuiStart",
"SpeechCompleteTimeout": "0",
"SpeechIncompleteTimeout": "750",
"UseVui": "false",
"SkipPasswordForKnownDevice": "false",
"JumpToMessagesOnLogin": "true",
"EnableMessageLocator": "false",
"MessageAgingPolicyObjectId": "a4b9216a-9360-4f9b-8937-cc66fba0ebbe",
"MessageAgingPolicyURI":
"/vmrest/messageagingpolicies/a4b9216a-9360-4f9b-8937-cc66fba0ebbe",
"AssistantRowsPerPage": "5",
"InboxMessagesPerPage": "20",
"InboxAutoRefresh": "15",
"InboxAutoResolveMessageRecipients": "true",
"PcaAddressBookRowsPerPage": "5",
"ReadOnly": "false",
"EnableTts": "true",
"ConfirmationConfidenceThreshold": "60",
"AnnounceUpcomingMeetings": "60",
"SpeechConfidenceThreshold": "40",
"SpeechSpeedVsAccuracy": "50",
"SpeechSensitivity": "50",
"EnableVisualMessageLocator": "false",
"ContinuousAddMode": "false",
"NameConfirmation": "false",
"CommandDigitTimeout": "1500",
"SaveMessageOnHangup": "false",
"SendMessageOnHangup": "1",
"SkipForwardTime": "12345",
"SkipReverseTime": "54321",
"UseShortPollForCache": "false",
"SearchByExtensionSearchSpaceObjectId":
"a3933806-a995-443e-8704-498c03377bf7",
"SearchByExtensionSearchSpaceURI":
"/vmrest/searchspaces/a3933806-a995-443e-8704-498c03377bf7",
Cisco Unity Connection Provisioning Interface (CUPI) API
355
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Generic Examples to List User Templates
Page 388
"SearchByNameSearchSpaceObjectId":
"a3933806-a995-443e-8704-498c03377bf7",
"SearchByNameSearchSpaceURI":
"/vmrest/searchspaces/a3933806-a995-443e-8704-498c03377bf7",
"PartitionObjectId": "6ac064a3-79d6-4a52-a3d3-f4311be5c28c",
"PartitionURI":
"/vmrest/partitions/6ac064a3-79d6-4a52-a3d3-f4311be5c28c",
"UseDynamicNameSearchWeight": "false",
"LdapType": "0",
"EnableMessageBookmark": "false",
"SayTotalDraftMsg": "false",
"EnableSaveDraft": "false",
"RetainUrgentMessageFlag": "false",
"SayMessageLength": "false",
"CreateSmtpProxyFromCorp": "false",
"AutoAdvanceMsgs": "false",
"SaySenderAfter": "false",
"SaySenderExtensionAfter": "false",
"SayMsgNumberAfter": "true",
"SayAniAfter": "false",
"SayMessageLengthAfter": "false",
"UserTemplateRolesURI":
"/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d/usertemplateroles",
"UserTemplateNotificationDevicesURI":
"/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d/usertemplatenotificationdevices",
"TemplateExternalServiceAccountsURI":
"/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d/templateexternalserviceaccounts",
"UserTemplateWebPasswordURI":
"/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d/credential/password",
"UserTemplateVoicePinURI":
"/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d/credential/pin",
"UserTemplateMessageActionURI":
"/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d/usertemplatemessageactions",
"DefaultUserTemplateURI": "/vmrest/userdefaulttemplates"
},
{
"URI": "/vmrest/usertemplates/7426a16f-e735-4854-9ab6-7463728ea4f7",
"ObjectId": "7426a16f-e735-4854-9ab6-7463728ea4f7",
"UseDefaultLanguage": "true",
"UseDefaultTimeZone": "true",
"Alias": "AdminTest",
"DisplayName": "Admin test",
"TimeZone": "4",
"CreationTime": "2012-08-28T10:57:12Z",
"CosObjectId": "362bf7f9-7cec-4f59-86dd-6c058a9100ef",
"CosURI": "/vmrest/coses/362bf7f9-7cec-4f59-86dd-6c058a9100ef",
"Language": "1033",
"LocationObjectId": "3a403c9c-04c8-496a-ba76-23faaaae5a95",
"LocationURI":
"/vmrest/locations/connectionlocations/3a403c9c-04c8-496a-ba76-23faaaae5a95",
"AddressMode": "0",
"ClockMode": "0",
"ConversationTui": "SubMenu",
"GreetByName": "true",
"ListInDirectory": "true",
"IsVmEnrolled": "true",
"SayCopiedNames": "true",
"SayDistributionList": "true",
"SayMsgNumber": "true",
Cisco Unity Connection Provisioning Interface (CUPI) API
356
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Generic Examples to List User Templates
Page 389
"SaySender": "true",
"SayTimestampAfter": "true",
"SayTimestampBefore": "false",
"SayTotalNew": "false",
"SayTotalNewEmail": "false",
"SayTotalNewFax": "false",
"SayTotalNewVoice": "true",
"SayTotalReceipts": "false",
"SayTotalSaved": "true",
"Speed": "100",
"MediaSwitchObjectId": "0d15753c-e1b4-4865-b00b-999a1ccf56ce",
"PhoneSystemURI":
"/vmrest/phonesystems/0d15753c-e1b4-4865-b00b-999a1ccf56ce",
"Undeletable": "false",
"UseBriefPrompts": "false",
"Volume": "50",
"EnAltGreetDontRingPhone": "false",
"EnAltGreetPreventSkip": "false",
"EnAltGreetPreventMsg": "false",
"EncryptPrivateMessages": "false",
"DeletedMessageSortOrder": "2",
"SayAltGreetWarning": "false",
"SaySenderExtension": "false",
"SayAni": "false",
"ExitCallActionObjectId": "38d9d3d2-2f70-4e4c-a3bd-54c8e96df9f6",
"CallAnswerTimeout": "4",
"CallHandlerObjectId": "ee01a097-2c78-4f36-9400-c0a6e0159419",
"CallhandlerURI":
"/vmrest/callhandlerprimarytemplates/ee01a097-2c78-4f36-9400-c0a6e0159419",
"DisplayNameRule": "1",
"DoesntExpire": "false",
"CantChange": "false",
"MailboxStoreObjectId": "6d2eb9ad-3caf-41d2-b3db-4451d95057fe",
"SavedMessageStackOrder": "1234567",
"NewMessageStackOrder": "1234567",
"MessageLocatorSortOrder": "1",
"SavedMessageSortOrder": "2",
"NewMessageSortOrder": "1",
"MessageTypeMenu": "false",
"EnablePersonalRules": "true",
"RecordUnknownCallerName": "true",
"RingPrimaryPhoneFirst": "false",
"PromptSpeed": "100",
"ExitAction": "2",
"ExitTargetConversation": "PHGreeting",
"ExitTargetHandlerObjectId": "708d5a59-95bb-4804-979b-c56b2f7d719a",
"RepeatMenu": "1",
"FirstDigitTimeout": "5000",
"InterdigitDelay": "3000",
"PromptVolume": "50",
"DelayAfterGreeting": "0",
"AddressAfterRecord": "false",
"ConfirmDeleteMessage": "false",
"ConfirmDeleteDeletedMessage": "false",
"ConfirmDeleteMultipleMessages": "true",
"IsClockMode24Hour": "false",
"RouteNDRToSender": "true",
"NotificationType": "0",
"SendReadReceipts": "1",
"ReceiveQuota": "2147483647",
"SendQuota": "2147483647",
"WarningQuota": "2147483647",
"IsSetForVmEnrollment": "true",
"VoiceNameRequired": "false",
Cisco Unity Connection Provisioning Interface (CUPI) API
357
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Generic Examples to List User Templates
Page 390
"SendBroadcastMsg": "false",
"UpdateBroadcastMsg": "false",
"ConversationVui": "VuiStart",
"SpeechCompleteTimeout": "0",
"SpeechIncompleteTimeout": "750",
"UseVui": "false",
"SkipPasswordForKnownDevice": "false",
"JumpToMessagesOnLogin": "true",
"EnableMessageLocator": "false",
"MessageAgingPolicyObjectId": "a4b9216a-9360-4f9b-8937-cc66fba0ebbe",
"MessageAgingPolicyURI":
"/vmrest/messageagingpolicies/a4b9216a-9360-4f9b-8937-cc66fba0ebbe",
"AssistantRowsPerPage": "5",
"InboxMessagesPerPage": "20",
"InboxAutoRefresh": "15",
"InboxAutoResolveMessageRecipients": "true",
"PcaAddressBookRowsPerPage": "5",
"ReadOnly": "false",
"EnableTts": "true",
"ConfirmationConfidenceThreshold": "60",
"AnnounceUpcomingMeetings": "60",
"SpeechConfidenceThreshold": "40",
"SpeechSpeedVsAccuracy": "50",
"SpeechSensitivity": "50",
"EnableVisualMessageLocator": "false",
"ContinuousAddMode": "false",
"NameConfirmation": "false",
"CommandDigitTimeout": "1500",
"SaveMessageOnHangup": "false",
"SendMessageOnHangup": "1",
"SkipForwardTime": "12345",
"SkipReverseTime": "54321",
"UseShortPollForCache": "false",
"SearchByExtensionSearchSpaceObjectId":
"a3933806-a995-443e-8704-498c03377bf7",
"SearchByExtensionSearchSpaceURI":
"/vmrest/searchspaces/a3933806-a995-443e-8704-498c03377bf7",
"SearchByNameSearchSpaceObjectId":
"a3933806-a995-443e-8704-498c03377bf7",
"SearchByNameSearchSpaceURI":
"/vmrest/searchspaces/a3933806-a995-443e-8704-498c03377bf7",
"PartitionObjectId":
"6ac064a3-79d6-4a52-a3d3-f4311be5c28c",
"PartitionURI":
"/vmrest/partitions/6ac064a3-79d6-4a52-a3d3-f4311be5c28c",
"UseDynamicNameSearchWeight": "false",
"LdapType": "0",
"EnableMessageBookmark": "false",
"SayTotalDraftMsg": "false",
"EnableSaveDraft": "false",
"RetainUrgentMessageFlag": "false",
"SayMessageLength": "false",
"CreateSmtpProxyFromCorp": "false",
"AutoAdvanceMsgs": "false",
"SaySenderAfter": "false",
"SaySenderExtensionAfter": "false",
"SayMsgNumberAfter": "true",
"SayAniAfter": "false",
"SayMessageLengthAfter": "false",
"UserTemplateRolesURI":
"/vmrest/usertemplates/7426a16f-e735-4854-9ab6-7463728ea4f7/usertemplateroles",
"UserTemplateNotificationDevicesURI":
"/vmrest/usertemplates/7426a16f-e735-4854-9ab6-7463728ea4f7/usertemplatenotificationdevices",
Cisco Unity Connection Provisioning Interface (CUPI) API
358
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Generic Examples to List User Templates
Page 391
"TemplateExternalServiceAccountsURI":
"/vmrest/usertemplates/7426a16f-e735-4854-9ab6-7463728ea4f7/templateexternalserviceaccounts",
"UserTemplateWebPasswordURI":
"/vmrest/usertemplates/7426a16f-e735-4854-9ab6-7463728ea4f7/credential/password",
"UserTemplateVoicePinURI":
"/vmrest/usertemplates/7426a16f-e735-4854-9ab6-7463728ea4f7/credential/pin",
"UserTemplateMessageActionURI":
"/vmrest/usertemplates/7426a16f-e735-4854-9ab6-7463728ea4f7/usertemplatemessageactions",
"DefaultUserTemplateURI": "/vmrest/userdefaulttemplates"
}
}
Response Code: 200
Example 2
The following is an example of the GET request that lists the User Template as represented by <objectId>:
https://<connection_server>/vmrest/usertemplates/<objectId>
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
359
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Generic Examples to List User Templates
Page 392
{
"URI": "/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d",
"ObjectId": "885dd0af-bdb1-401f-b4e9-6bd9fc8d594d",
"UseDefaultLanguage": "true",
"UseDefaultTimeZone": "true",
"Alias": "voicemailusertemplate",
"DisplayName": "Voice Mail User Template",
"TimeZone": "4",
"CreationTime": "2012-07-29T14:10:26Z",
"CosObjectId": "362bf7f9-7cec-4f59-86dd-6c058a9100ef",
"CosURI": "/vmrest/coses/362bf7f9-7cec-4f59-86dd-6c058a9100ef",
"Language": "1033",
"LocationObjectId": "3a403c9c-04c8-496a-ba76-23faaaae5a95",
"LocationURI":
"/vmrest/locations/connectionlocations/3a403c9c-04c8-496a-ba76-23faaaae5a95",
"AddressMode": "0",
"ClockMode": "0",
"ConversationTui": "SubMenu",
"GreetByName": "true",
"ListInDirectory": "true",
"IsVmEnrolled": "true",
"SayCopiedNames": "true",
"SayDistributionList": "true",
"SayMsgNumber": "true",
"SaySender": "true",
"SayTimestampAfter": "true",
"SayTimestampBefore": "false",
"SayTotalNew": "false",
"SayTotalNewEmail": "false",
"SayTotalNewFax": "false",
"SayTotalNewVoice": "true",
"SayTotalReceipts": "false",
"SayTotalSaved": "true",
"Speed": "100",
"MediaSwitchObjectId": "0d15753c-e1b4-4865-b00b-999a1ccf56ce",
"PhoneSystemURI":
"/vmrest/phonesystems/0d15753c-e1b4-4865-b00b-999a1ccf56ce",
"Undeletable": "true",
"UseBriefPrompts": "false",
"Volume": "50",
"EnAltGreetDontRingPhone": "false",
"EnAltGreetPreventSkip": "false",
"EnAltGreetPreventMsg": "false",
"EncryptPrivateMessages": "false",
"DeletedMessageSortOrder": "2",
"SayAltGreetWarning": "false",
"SaySenderExtension": "false",
"SayAni": "false",
"ExitCallActionObjectId": "6352cf7d-89f8-4748-bac5-8878889c3d56",
"CallAnswerTimeout": "4",
"CallHandlerObjectId": "c9069370-3631-4d36-a53a-1ac4e8d8f444",
"CallhandlerURI":
"/vmrest/callhandlerprimarytemplates/c9069370-3631-4d36-a53a-1ac4e8d8f444",
"DisplayNameRule": "1",
"DoesntExpire": "false",
"CantChange": "false",
"MailboxStoreObjectId": "6d2eb9ad-3caf-41d2-b3db-4451d95057fe",
"SavedMessageStackOrder": "1234567",
"NewMessageStackOrder": "1234567",
"MessageLocatorSortOrder": "1",
"SavedMessageSortOrder": "2",
"NewMessageSortOrder": "1",
"MessageTypeMenu": "false",
"EnablePersonalRules": "true",
Cisco Unity Connection Provisioning Interface (CUPI) API
360
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Generic Examples to List User Templates
Page 393
"RecordUnknownCallerName": "true",
"RingPrimaryPhoneFirst": "false",
"PromptSpeed": "100",
"ExitAction": "2",
"ExitTargetConversation": "PHGreeting",
"ExitTargetHandlerObjectId": "708d5a59-95bb-4804-979b-c56b2f7d719a",
"RepeatMenu": "1",
"FirstDigitTimeout": "5000",
"InterdigitDelay": "3000",
"PromptVolume": "50",
"AddressAfterRecord": "false",
"ConfirmDeleteMessage": "false",
"ConfirmDeleteDeletedMessage": "false",
"ConfirmDeleteMultipleMessages": "true",
"IsClockMode24Hour": "false",
"RouteNDRToSender": "true",
"NotificationType": "0",
"SendReadReceipts": "1",
"ReceiveQuota": "2147483647",
"SendQuota": "2147483647",
"WarningQuota": "2147483647",
"IsSetForVmEnrollment": "true",
"VoiceNameRequired": "false",
"SendBroadcastMsg": "false",
"UpdateBroadcastMsg": "false",
"ConversationVui": "VuiStart",
"SpeechCompleteTimeout": "0",
"SpeechIncompleteTimeout": "750",
"UseVui": "false",
"SkipPasswordForKnownDevice": "false",
"JumpToMessagesOnLogin": "true",
"EnableMessageLocator": "false",
"MessageAgingPolicyObjectId": "a4b9216a-9360-4f9b-8937-cc66fba0ebbe",
"MessageAgingPolicyURI":
"/vmrest/messageagingpolicies/a4b9216a-9360-4f9b-8937-cc66fba0ebbe",
"AssistantRowsPerPage": "5",
"InboxMessagesPerPage": "20",
"InboxAutoRefresh": "15",
"InboxAutoResolveMessageRecipients": "true",
"PcaAddressBookRowsPerPage": "5",
"ReadOnly": "false",
"EnableTts": "true",
"ConfirmationConfidenceThreshold": "60",
"AnnounceUpcomingMeetings": "60",
"SpeechConfidenceThreshold": "40",
"SpeechSpeedVsAccuracy": "50",
"SpeechSensitivity": "50",
"EnableVisualMessageLocator": "false",
"ContinuousAddMode": "false",
"NameConfirmation": "false",
"CommandDigitTimeout": "1500",
"SaveMessageOnHangup": "false",
"SendMessageOnHangup": "1",
"SkipForwardTime": "12345",
"SkipReverseTime": "54321",
"UseShortPollForCache": "false",
"SearchByExtensionSearchSpaceObjectId":
"a3933806-a995-443e-8704-498c03377bf7",
"SearchByExtensionSearchSpaceURI":
"/vmrest/searchspaces/a3933806-a995-443e-8704-498c03377bf7",
"SearchByNameSearchSpaceObjectId":
"a3933806-a995-443e-8704-498c03377bf7",
"SearchByNameSearchSpaceURI":
"/vmrest/searchspaces/a3933806-a995-443e-8704-498c03377bf7",
Cisco Unity Connection Provisioning Interface (CUPI) API
361
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Generic Examples to List User Templates
Page 394
"PartitionObjectId":
"6ac064a3-79d6-4a52-a3d3-f4311be5c28c",
"PartitionURI":
"/vmrest/partitions/6ac064a3-79d6-4a52-a3d3-f4311be5c28c",
"UseDynamicNameSearchWeight": "false",
"LdapType": "0",
"EnableMessageBookmark": "false",
"SayTotalDraftMsg": "false",
"EnableSaveDraft": "false",
"RetainUrgentMessageFlag": "false",
"SayMessageLength": "false",
"CreateSmtpProxyFromCorp": "false",
"AutoAdvanceMsgs": "false",
"SaySenderAfter": "false",
"SaySenderExtensionAfter": "false",
"SayMsgNumberAfter": "true",
"SayAniAfter": "false",
"SayMessageLengthAfter": "false",
"UserTemplateRolesURI":
"/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d/usertemplateroles",
"UserTemplateNotificationDevicesURI":
"/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d/usertemplatenotificationdevices",
"TemplateExternalServiceAccountsURI":
"/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d/templateexternalserviceaccounts",
"UserTemplateWebPasswordURI":
"/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d/credential/password",
"UserTemplateVoicePinURI":
"/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d/credential/pin",
"UserTemplateMessageActionURI":
"/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d/usertemplatemessageactions",
"DefaultUserTemplateURI": "/vmrest/userdefaulttemplates"
}
Response Code: 200
Adding User Template
Example 1
The following is an example of the POST request that adds the User Templates:
https://<connection_server>/vmrest/usertemplates?templateAlias=voicemailusertemplate
The following is an example of the response from the above POST request and the actual response will
depend upon the information given by you:
<UserTemplate>
<DisplayName>DemoUserTemplate</DisplayName>
<Alias>DemoUserTemplate</Alias>
</UserTemplate>
Response Code: 201
Example 2
Cisco Unity Connection Provisioning Interface (CUPI) API
362
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Adding User Template
Page 395
The following is a JSON example of the POST request that adds the User Templates:
https://<connection_server>/vmrest/usertemplates?templateAlias=voicemailusertemplate
The following is an example of the response from the above POST request and the actual response will
depend upon the information given by you:
{
"Alias": "adminTemplate1",
"DisplayName": "Admin Voice Mail Template"
}
Response Code: 201
Modifying a User Template
Example 1
The following is an example of the PUT request that modifies the user template as represented by <objectId>:
https://<connection_server>/vmrest/usertemplate/<objectId>
The following is an example of the response from the above PUT request and the actual response will
depend upon the information given by you:
<UserTemplate>
<SendBroadcastMsg>true</SendBroadcastMsg>
<GreetByName>true</GreetByName>
<ListInDirectory>true</ListInDirectory>
<IsVmEnrolled>true</IsVmEnrolled>
<SayCopiedNames>true</SayCopiedNames>
<SayDistributionList>true</SayDistributionList>
<SayMsgNumber>true</SayMsgNumber>
</UserTemplate>
Response Code: 204
Example 2
The following is a JSON example of the PUT request that modifies the user template as represented by
<objectId>:
https://<connection_server>/vmrest/usertemplate/<objectId>
The following is an example of the response from the above PUT request and the actual response will
depend upon the information given by you:
{
"SendBroadcastMsg" : "true",
"GreetByName" : "true",
"ListInDirectory" : "true",
"IsVmEnrolled" : "true"
"SayCopiedNames" : "true",
"SayDistributionList" : "true",
"SayMsgNumber" :"true"
}
Cisco Unity Connection Provisioning Interface (CUPI) API
363
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Modifying a User Template
Page 396
Response Code: 204
You can also modify the following for a user template:
• User Template Voicemail PIN
• User Template Transfer Options
• User Template Caller Input
• User Template Greetings
• User Template Notification Devices
• User Template External Services
• User Template External Service Accounts
Deleting User Templates
The following is an example of the DELETE request that deletes a User Template as represented by <objectId>:
https://<connection_server>/vmrest/usertemplates/<objectId>
The output for this request returns the successful response code.
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API --
Default User Template
About Default Templates
This section contains information on how to list and modify default User Templates. Cisco Unity Connection
comes with the following predefined user templates, which you can modify but not delete:
• Voice Mail User Template
• Administrator Template
Listing Default Templates
Example 1
The following is an example of the GET request that lists the default User Templates:
https://<connection_server>/vmrest/userdefaulttemplates
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
364
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Deleting User Templates
Page 397
<DefaultUserTemplates total="2">
<DefaultUserTemplate>
<URI>
/vmrest/defaultusertemplates/48caecef-6f7a-47aa-91cb-019b761fce69
</URI>
<ObjectId>48caecef-6f7a-47aa-91cb-019b761fce69</ObjectId>
<UseDefaultLanguage>true</UseDefaultLanguage>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<Alias>administratortemplate1</Alias>
<City/>
<State/>
<Country>US</Country>
<PostalCode/>
<Department/>
<Building/>
<Address/>
<DisplayName>Administrator Template</DisplayName>
<BillingId/>
<TimeZone>190</TimeZone>
<CreationTime>2012-07-09T07:27:43Z</CreationTime>
<Language>1033</Language>
<LocationObjectId>be27976c-6e6e-419f-853d-b3764881dfb0</LocationObjectId>
<LocationURI>
/vmrest/locations/connectionlocations/be27976c-6e6e-419f-853d-b3764881dfb0
</LocationURI>
<DisplayNameRule>1</DisplayNameRule>
<DoesntExpire>false</DoesntExpire>
<CantChange>false</CantChange>
<RouteNDRToSender>true</RouteNDRToSender>
<Undeletable>true</Undeletable>
<ReadOnly>false</ReadOnly>
<PartitionObjectId>c2ecf6c5-b3c2-45f4-99fc-e065056501d5</PartitionObjectId>
<PartitionURI>
/vmrest/partitions/c2ecf6c5-b3c2-45f4-99fc-e065056501d5
</PartitionURI>
<LdapType>0</LdapType>
<CreateSmtpProxyFromCorp>false</CreateSmtpProxyFromCorp>
<DefaultUserTemplateWebPasswordURI>
/vmrest/usertemplates/48caecef-6f7a-47aa-91cb-019b761fce69/credential/password
</DefaultUserTemplateWebPasswordURI>
<DefaultUserTemplateVoicePinURI>
/vmrest/usertemplates/48caecef-6f7a-47aa-91cb-019b761fce69/credential/pin
</DefaultUserTemplateVoicePinURI>
</DefaultUserTemplate>
<DefaultUserTemplate>
<URI>
/vmrest/defaultusertemplates/bc0eedd5-0483-4362-a091-5f89d27b7b3c
</URI>
<ObjectId>bc0eedd5-0483-4362-a091-5f89d27b7b3c</ObjectId>
<UseDefaultLanguage>true</UseDefaultLanguage>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<Alias>voicemailusertemplate</Alias>
<DisplayName>Voice Mail User Template</DisplayName>
<TimeZone>190</TimeZone>
<CreationTime>2012-07-09T07:27:44Z</CreationTime>
<CosObjectId>305a9699-03a8-41d0-9215-0fcd32d600b0</CosObjectId>
<CosURI>/vmrest/coses/305a9699-03a8-41d0-9215-0fcd32d600b0</CosURI>
<Language>1033</Language>
<LocationObjectId>be27976c-6e6e-419f-853d-b3764881dfb0</LocationObjectId>
<LocationURI>
/vmrest/locations/connectionlocations/be27976c-6e6e-419f-853d-b3764881dfb0
</LocationURI>
<DisplayNameRule>1</DisplayNameRule>
<DoesntExpire>false</DoesntExpire>
Cisco Unity Connection Provisioning Interface (CUPI) API
365
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Listing Default Templates
Page 398
<CantChange>false</CantChange>
<MailboxStoreObjectId>15dd71c8-2ba1-4efa-a34e-01613a0d2ef7</MailboxStoreObjectId>
<RouteNDRToSender>true</RouteNDRToSender>
<Undeletable>true</Undeletable>
<ReadOnly>false</ReadOnly>
<PartitionObjectId>c2ecf6c5-b3c2-45f4-99fc-e065056501d5</PartitionObjectId>
<PartitionURI>
/vmrest/partitions/c2ecf6c5-b3c2-45f4-99fc-e065056501d5
</PartitionURI>
<LdapType>0</LdapType>
<CreateSmtpProxyFromCorp>false</CreateSmtpProxyFromCorp>
<DefaultUserTemplateWebPasswordURI>
/vmrest/usertemplates/bc0eedd5-0483-4362-a091-5f89d27b7b3c/credential/password
</DefaultUserTemplateWebPasswordURI>
<DefaultUserTemplateVoicePinURI>
/vmrest/usertemplates/bc0eedd5-0483-4362-a091-5f89d27b7b3c/credential/pin
</DefaultUserTemplateVoicePinURI>
</DefaultUserTemplate>
</DefaultUserTemplates>
Response code: 200
Example 2
The following is an example of the GET request that lists a specified default User Templates:
https://<connection_server>/vmrest/userdefaulttemplates/<objectId>
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
366
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Listing Default Templates
Page 399
<DefaultUserTemplate>
<URI>
/vmrest/defaultusertemplates/48caecef-6f7a-47aa-91cb-019b761fce69
</URI>
<TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId>
<UseDefaultLanguage>true</UseDefaultLanguage>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<Alias>administratortemplate1</Alias>
<City/>
<State/>
<Country>US</Country>
<PostalCode/>
<Department/>
<Building/>
<Address/>
<DisplayName>Administrator Template</DisplayName>
<BillingId/>
<TimeZone>190</TimeZone>
<CreationTime>2012-07-09T07:27:43Z</CreationTime>
<Language>1033</Language>
<LocationObjectId>be27976c-6e6e-419f-853d-b3764881dfb0</LocationObjectId>
<LocationURI>
/vmrest/locations/connectionlocations/be27976c-6e6e-419f-853d-b3764881dfb0
</LocationURI>
<DisplayNameRule>1</DisplayNameRule>
<DoesntExpire>false</DoesntExpire>
<CantChange>false</CantChange>
<RouteNDRToSender>true</RouteNDRToSender>
<Undeletable>true</Undeletable>
<ReadOnly>false</ReadOnly>
<PartitionObjectId>c2ecf6c5-b3c2-45f4-99fc-e065056501d5</PartitionObjectId>
<PartitionURI>
/vmrest/partitions/c2ecf6c5-b3c2-45f4-99fc-e065056501d5
</PartitionURI>
<LdapType>0</LdapType>
<CreateSmtpProxyFromCorp>false</CreateSmtpProxyFromCorp>
<DefaultUserTemplateWebPasswordURI>
/vmrest/usertemplates/48caecef-6f7a-47aa-91cb-019b761fce69/credential/password
</DefaultUserTemplateWebPasswordURI>
<DefaultUserTemplateVoicePinURI>
/vmrest/usertemplates/48caecef-6f7a-47aa-91cb-019b761fce69/credential/pin
</DefaultUserTemplateVoicePinURI>
</DefaultUserTemplate>
Response code: 200
Modifying Default Templates
The following is an example of the PUT request that modifies the Default User Templates:
https://<connection_server>/vmrest/userdefaulttemplates/<objectId>
The actual response will depend upon the information given by you.
<DefaultUserTemplate>
<City>San Jose</City>
<State>CA</State>
<Country>US</Country>
</DefaultUserTemplate>
Cisco Unity Connection Provisioning Interface (CUPI) API
367
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Modifying Default Templates
Page 400
Response code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API --
User Template VoiceMail PIN
Changing User Template Voicemail PIN
The following is an example of the PUT request that modifies the user template Voicemail PIN represented
by <objectId>:
https://<connection_server>/vmrest/usertemplates/<objectId>/credential/pin
The following is an example of the response from the above PUT request and the actual response will
depend upon the information given by you:
<UserTemplateCredential>
<Credentials>abcd@1234</Credentials>
</UserTemplateCredential>
Cisco Unity Connection Provisioning Interface (CUPI) API --
User Template Transfer Options
About Transfer Options
Every user template with a mailbox has an associated call handler template, and thus transfers options. Transfer
Options are also referred to as Transfer Rules.
Listing and Viewing
The settings on each transfer option can be read by the GET command. Perform the following steps to list the
transfer options for a user template:
Step 1
Do the following GET command to list all the user templates:
https://<connection_server>/vmrest/usertemplates
Step 2
Do the following GET command to list the user template of your choice represented by the <usertemplate-id>:
https://<connection_server>/vmrest/usertemplates/<objectId>
Step 3
The following URI is the response from the above GET command:
https://<connection_server>/vmrest/callhandlerprimarytemplates/<callhandlerprimarytemplates-id>
Cisco Unity Connection Provisioning Interface (CUPI) API
368
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template VoiceMail PIN
Page 401
Step 4
The following URI is the reponse from the above GET command:
https://<connection_server>/vmrest/callhandlerprimarytemplates/<objectId>/transferoptions
What to do next
Every user template and call handler template has three transfer options:
• Standard
• Off Hours
• Alternate
Each transfer option can be accessed through a GET request:
• https://<connection_server>/vmrest/callhandlerprimarytemplates/<objectId>/transferoptions/Alternate
• https://<connection_server>/vmrest/callhandlerprimarytemplates/<objectId>/transferoptions/off%20Hours
• https://<connection_server>/vmrest/callhandlerprimarytemplates/<objectId>/transferoptions/Standard
TimeExpires is the field that determines if a transfer option is enabled or disabled. To enable a transfer option,
TimeExpires must be set to a future date, which is the date that the transfer option will expire (be disabled).
To disable a transfer option, simply set TimeExpires to a date in the past. Also, if TimeExpires is set to null
that means it is enabled indefinitely (however, note that currently CUPI offers no ability to set this field to
null). TimeExpires is always treated as GMT. Any required time zone conversion is the responsibility of the
client.
Action is the field that determines if the transfer option will transfer calls to an extension or directly to the
greetings. The Action field is a custom type. A value of 0 denotes that the call will be sent directly to the
greetings. A value of 1 denotes that the call will be transferred to an extension.
Several settings are specific to how the transfer option should transfer the call (assuming that the Action is
set to 1):
• TransferType
• Extension
• TransferRings
TransferType determines whether the transfer will be released (a value of 0) or supervised (a value of 1).
Extension indicates the extension that the call will transfer to.
TransferRings is the number of times Connection will ring the extension before it considers the call a
ring-no-answer (RNA), and pulls the call back to play the greeting. This value is only used when the
TransferType is set to 1 (a supervised transfer).
UsePrimaryExtension is a boolean that is a bit of an oddity. When the value is set to true, the Extension is
set to the primary extension of the user. However, note the following caveat when using this field: if
UsePrimaryExtension is set to true and the Extension field is set to a value in the same PUT, an error will be
thrown. Because setting UsePrimaryExtension to true causes the Extension field to be set to a specific value,
you cannot also explicitly set the Extension field in the same PUT; one or the other can occur, but not both.
An error will also be thrown if UsePrimaryExtension is set to false and no value is given for the Extension
field in the same PUT. In other words, if you set UsePrimaryExtension to false, you must provide a new
Extension in the same PUT.
Cisco Unity Connection Provisioning Interface (CUPI) API
369
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Listing and Viewing
Page 402
PersonalCallTransfer is a boolean that determines whether personal call transfer rules will be used instead
of the basic transfer rules. If PersonalCallTransfer is set to true, then instead of using any of the settings of
this transfer rule, the call will be sent to the personal call transfer rules of the user to be acted on. If
PersonalCallTransfer is set to false, then the basic transfer rule is used. If you are using personal call transfer
rules, set this to true; otherwise, leave it set to false. It's that simple.
Creating
Note that you cannot use CUPI to create transfer options.
Updating
To enable the Alternate transfer option until March 9, 2020, you would use the following PUT request:
https://<connection_server>/vmrest/callhandlerprimarytemplates/<objectId>/transferoptions/Alternate
To disable the Alternate transfer option you would do a PUT request with the TimeExpires field set to a date
in the past as in this example:
Example 1
https://<connection_server>/vmrest/callhandlerprimarytemplates/<objectId>/transferoptions/Alternate
<?xml version="1.0" encoding="UTF-8"?>
<TransferOption>
<TimeExpires>1976-03-09 00:00:00.0</TimeExpires>
</TransferOption>
Response Code: 204
Example 2
https://<connection_server>/vmrest/callhandlerprimarytemplates/<objectId>/transferoptions/Alternate
<?xml version="1.0" encoding="UTF-8"?>
<TransferOption>
<TransferHoldingMode>1</TransferHoldingMode>
</TransferOption>
Response Code: 204
Deleting
Note that you cannot use CUPI to delete transfer options.
Cisco Unity Connection Provisioning Interface (CUPI) API
370
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Creating
Page 403
Cisco Unity Connection Provisioning Interface (CUPI) API --
User Template Caller Input
About Caller Input
This page contains information on how to use the API to list and modify Caller Input. Caller input settings
define actions that Cisco Unity Connection takes in response to phone keys pressed by callers.
For more information on caller inputs, see
Cisco_Unity_Connection_Provisioning_Interface_(CUPI)API--_Caller_Input_Keys
Listing and Viewing Caller Input
The following is an example of a GET that lists all caller inputs of all types for the specified user template:
https://<connection_server>/vmrest/callhandlerprimarytemplates
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
371
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Caller Input
Page 404
<MenuEntries total="12">
<MenuEntry>
<URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/*
</URI>
<CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallhandlerURI>
<TouchtoneKey>*
</TouchtoneKey>
<Locked>true</Locked>
<Action>2</Action>
<TargetConversation>SubSignIn</TargetConversation>
<ObjectId>1d111b26-d50c-44a3-bfcc-0b60f2e3207a
</ObjectId>
</MenuEntry>
<MenuEntry>
<URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/#
</URI>
<CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallhandlerURI>
<TouchtoneKey>#</TouchtoneKey>
<Locked>true</Locked>
<Action>5</Action>
<ObjectId>3e3d796b-ffd3-4388-a2bf-b2cca2cf0b9c
</ObjectId>
</MenuEntry>
<MenuEntry>
<URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/0
</URI>
<CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallhandlerURI>
<TouchtoneKey>0</TouchtoneKey>
<Locked>false</Locked>
<Action>2</Action>
<TargetConversation>PHTransfer</TargetConversation>
<TargetHandlerObjectId>e4c32c78-42c6-495e-83c5-4a4a17c0cb7f</TargetHandlerObjectId>
<ObjectId>050b1a62-b237-457d-a027-d2c3289eab20
</ObjectId>
</MenuEntry>
<MenuEntry>
<URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/1
</URI>
<CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a -1ac4e8d8f444
</CallhandlerURI>
<TouchtoneKey>1</TouchtoneKey>
<Locked>false</Locked>
<Action>0</Action>
<ObjectId>31a8cba0-8deb-4266-b83b-57a6c1a33ebb
</ObjectId>
</MenuEntry>
<MenuEntry>
<URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/2
</URI>
<CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallhandlerURI>
Cisco Unity Connection Provisioning Interface (CUPI) API
372
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Listing and Viewing Caller Input
Page 405
<TouchtoneKey>2</TouchtoneKey>
<Locked>false</Locked>
<Action>0</Action>
<ObjectId>f7e0cca3-e864-480b-bcd5-84f290587cbf
</ObjectId>
</MenuEntry>
<MenuEntry>
<URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/3
</URI><CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallhandlerURI>
<TouchtoneKey>3</TouchtoneKey>
<Locked>false</Locked>
<Action>0</Action>
<ObjectId>910a7722-5cc1-4f98-b6b5-d9ac0c11440f
</ObjectId>
</MenuEntry>
<MenuEntry>
<URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/4
</URI><CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallhandlerURI>
<TouchtoneKey>4</TouchtoneKey>
<Locked>false</Locked>
<Action>0</Action>
<ObjectId>da2588dc-557e-4671-892b-edde2987d4c0
</ObjectId>
</MenuEntry>
<MenuEntry>
<URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/5
</URI><CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallhandlerURI>
<TouchtoneKey>5</TouchtoneKey>
<Locked>false</Locked>
<Action>0</Action>
<ObjectId>15c55592-df99-46d0-9a96-19a6ecff2bd5
</ObjectId>
</MenuEntry>
<MenuEntry>
<URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/6
</URI>
<CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallhandlerURI>
<TouchtoneKey>6</TouchtoneKey>
<Locked>false</Locked>
<Action>0</Action>
<ObjectId>bdb6a884-269e-4aab-9ff7-997453e69642
</ObjectId>
</MenuEntry>
<MenuEntry>
<URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/7
</URI>
<CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallhandlerURI>
<TouchtoneKey>7</TouchtoneKey>
<Locked>false</Locked>
Cisco Unity Connection Provisioning Interface (CUPI) API
373
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Listing and Viewing Caller Input
Page 406
<Action>2</Action>
<TargetConversation>PHTransfer</TargetConversation>
<TargetHandlerObjectId>b659a96c-6949-4d78-a899-93a2407baf28
</TargetHandlerObjectId>
<ObjectId>11e69e5d-1223-4727-ad8c-1dbe3f8f8ce5
</ObjectId>
</MenuEntry>
<MenuEntry>
<URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/8
</URI>
<CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallhandlerURI>
<TouchtoneKey>8</TouchtoneKey>
<Locked>false</Locked>
<Action>0</Action>
<ObjectId>333a6147-cd06-4d71-9def-417cb70c8ebf
</ObjectId>
</MenuEntry>
<MenuEntry>
<URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/9
</URI>
<CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallhandlerURI>
<TouchtoneKey>9</TouchtoneKey>
<Locked>false</Locked>
<Action>0</Action>
<ObjectId>eb66e91d-2a82-425a-88f5-f2c058c2491e</ObjectId>
</MenuEntry>
</MenuEntries>
Response Code: 200
Modifying a Caller Input
The following is an example of the PUT request that modifies the caller input as represented by <callerinputId>:
https://<connection_server>/vmrest/callhandlerprimarytemplates/<objectId>
The following is an example of the response from the above PUT request and the actual response will
depend upon the information given by you:
<MenuEntry>
<URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/*
</URI>
<CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444
</CallhandlerURI>
<TouchtoneKey>*
</TouchtoneKey>
<Locked>true</Locked>
<Action>2</Action>
<TargetConversation>SubSignIn</TargetConversation>
<ObjectId>1d111b26-d50c-44a3-bfcc-0b60f2e3207a
</ObjectId>
</MenuEntry>
Cisco Unity Connection Provisioning Interface (CUPI) API
374
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Modifying a Caller Input
Page 407
Response Code: 204
Explanation of Data Fields
The following chart lists all of the data fields available on Caller.
Explanation/Comment
Available Values
Writable?
Field Name
ObjectId of the Device.
All
Read
Only
ObjectId
Indicate the amount of
time that Cisco Unity
Connection waits for
additional input after
callers press a single key
that is not locked. Default:
1500
0-10000
Read/Write
OneKeyDelay
Enable to simulate
abbreviated extensions by
using prepended digits for
call handlers and user
mailboxes. Default: false
true/false
Read/Write
EnablePrependDigits
Enter the digits that are
prepended to any
extension that a caller
dials while listening to the
greeting of the user.
Data Length[40]
Read/Write
PrependDigits
Edit caller input settings.
Length(1)
Read/Write
TouchtoneKey
Indicates whether Cisco
Unity Connection allows
additional input
(Unlocked) or ignores
additional input (Locked).
Default: false
true/false
Read/Write
Locked
Indicates the action that
Cisco Unity Connection
takes when a caller presses
the key.
2-Go to an object such as a call handler, directory
handler or interview handler.
1- HangUp 0-ignore 6-RestartGreeting 8- Route
from next calling route 5- Skip Greeting 4- Take
message 7- Transfer to Alternate contact number
Read/Write
Action
Cisco Unity Connection Provisioning Interface (CUPI) API
375
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Explanation of Data Fields
Page 408
Cisco Unity Connection Provisioning Interface (CUPI) API --
User Template Greetings
Listing and Viewing
The following GET allows users templates to listen to and modify their personal greeting:
https://<connection_server>/vmrest/callhandlerprimarytemplates/<objectId>/usertemplategreetings
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
376
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Greetings
Page 409
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<UserTemplateGreetings total="7">
<UserTemplateGreeting>
<CallHandlerObjectId>a254488a-7f96-4737-9df4-886e3f4b88af</CallHandlerObjectId>
<CallhandlerURI>/vmrest/callhandlerprimarytemplates/a254488a-7f96-4737-9df4-886e3f4b88af</CallhandlerURI>
<IgnoreDigits>false</IgnoreDigits>
<PlayWhat>1</PlayWhat>
<RepromptDelay>20</RepromptDelay>
<Reprompts>30</Reprompts>
<TimeExpires>2012-10-06 09:25:00.0</TimeExpires>
<GreetingType>Alternate</GreetingType>
<AfterGreetingAction>2</AfterGreetingAction>
<AfterGreetingTargetConversation>PHTransfer</AfterGreetingTargetConversation>
<AfterGreetingTargetHandlerObjectId>9e96f34b-22bc-429a-8852-46fbceeff182</AfterGreetingTargetHandlerObjectId>
<PlayRecordMessagePrompt>false</PlayRecordMessagePrompt>
<EnableTransfer>false</EnableTransfer>
<EnablePersonalVideoRecording>false</EnablePersonalVideoRecording>
<PlayRecordVideoMessagePrompt>false</PlayRecordVideoMessagePrompt>
<EnAltGreetDontRingPhone>true</EnAltGreetDontRingPhone>
<EnAltGreetPreventSkip>true</EnAltGreetPreventSkip>
<EnAltGreetPreventMsg>true</EnAltGreetPreventMsg>
<LanguageCode>1033</LanguageCode>
</UserTemplateGreeting>
<UserTemplateGreeting>
<CallHandlerObjectId>a254488a-7f96-4737-9df4-886e3f4b88af</CallHandlerObjectId>
<CallhandlerURI>/vmrest/callhandlerprimarytemplates/a254488a-7f96-4737-9df4-886e3f4b88af</CallhandlerURI>
<IgnoreDigits>false</IgnoreDigits>
<PlayWhat>0</PlayWhat>
<RepromptDelay>2</RepromptDelay>
<Reprompts>0</Reprompts>
<TimeExpires>2020-10-06 09:25:00.0</TimeExpires>
<GreetingType>Busy</GreetingType>
<AfterGreetingAction>4</AfterGreetingAction>
<PlayRecordMessagePrompt>true</PlayRecordMessagePrompt>
<EnableTransfer>true</EnableTransfer>
<EnablePersonalVideoRecording>false</EnablePersonalVideoRecording>
<PlayRecordVideoMessagePrompt>false</PlayRecordVideoMessagePrompt>
<LanguageCode>1033</LanguageCode>
</UserTemplateGreeting>
<UserTemplateGreeting>
<CallHandlerObjectId>a254488a-7f96-4737-9df4-886e3f4b88af</CallHandlerObjectId>
<CallhandlerURI>/vmrest/callhandlerprimarytemplates/a254488a-7f96-4737-9df4-886e3f4b88af</CallhandlerURI>
<IgnoreDigits>false</IgnoreDigits>
<PlayWhat>0</PlayWhat>
<RepromptDelay>2</RepromptDelay>
<Reprompts>0</Reprompts>
<GreetingType>Error</GreetingType>
<AfterGreetingAction>6</AfterGreetingAction>
<AfterGreetingTargetConversation>PHGreeting</AfterGreetingTargetConversation>
<AfterGreetingTargetHandlerObjectId>08313019-91db-4aed-8ef3-af13a4a72e22</AfterGreetingTargetHandlerObjectId>
<PlayRecordMessagePrompt>true</PlayRecordMessagePrompt>
<EnableTransfer>false</EnableTransfer>
<EnablePersonalVideoRecording>false</EnablePersonalVideoRecording>
<PlayRecordVideoMessagePrompt>false</PlayRecordVideoMessagePrompt>
Cisco Unity Connection Provisioning Interface (CUPI) API
377
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Listing and Viewing
Page 410
<LanguageCode>1033</LanguageCode>
</UserTemplateGreeting>
<UserTemplateGreeting>
<CallHandlerObjectId>a254488a-7f96-4737-9df4-886e3f4b88af</CallHandlerObjectId>
<CallhandlerURI>/vmrest/callhandlerprimarytemplates/a254488a-7f96-4737-9df4-886e3f4b88af</CallhandlerURI>
<IgnoreDigits>false</IgnoreDigits>
<PlayWhat>0</PlayWhat>
<RepromptDelay>2</RepromptDelay>
<Reprompts>0</Reprompts>
<TimeExpires>2013-01-01 00:00:00.0</TimeExpires>
<GreetingType>Internal</GreetingType>
<AfterGreetingAction>4</AfterGreetingAction>
<PlayRecordMessagePrompt>false</PlayRecordMessagePrompt>
<EnableTransfer>false</EnableTransfer>
<EnablePersonalVideoRecording>false</EnablePersonalVideoRecording>
<PlayRecordVideoMessagePrompt>false</PlayRecordVideoMessagePrompt>
<LanguageCode>1033</LanguageCode>
</UserTemplateGreeting>
<UserTemplateGreeting>
<CallHandlerObjectId>a254488a-7f96-4737-9df4-886e3f4b88af</CallHandlerObjectId>
<CallhandlerURI>/vmrest/callhandlerprimarytemplates/a254488a-7f96-4737-9df4-886e3f4b88af</CallhandlerURI>
<IgnoreDigits>false</IgnoreDigits>
<PlayWhat>0</PlayWhat>
<RepromptDelay>2</RepromptDelay>
<Reprompts>0</Reprompts>
<TimeExpires>1972-01-01 00:00:00.0</TimeExpires>
<GreetingType>Off Hours</GreetingType>
<AfterGreetingAction>4</AfterGreetingAction>
<PlayRecordMessagePrompt>true</PlayRecordMessagePrompt>
<EnableTransfer>false</EnableTransfer>
<EnablePersonalVideoRecording>false</EnablePersonalVideoRecording>
<PlayRecordVideoMessagePrompt>false</PlayRecordVideoMessagePrompt>
<LanguageCode>1033</LanguageCode>
</UserTemplateGreeting>
<UserTemplateGreeting>
<CallHandlerObjectId>a254488a-7f96-4737-9df4-886e3f4b88af</CallHandlerObjectId>
<CallhandlerURI>/vmrest/callhandlerprimarytemplates/a254488a-7f96-4737-9df4-886e3f4b88af</CallhandlerURI>
<IgnoreDigits>false</IgnoreDigits>
<PlayWhat>0</PlayWhat>
<RepromptDelay>2</RepromptDelay>
<Reprompts>0</Reprompts>
<GreetingType>Standard</GreetingType>
<AfterGreetingAction>4</AfterGreetingAction>
<PlayRecordMessagePrompt>true</PlayRecordMessagePrompt>
<EnableTransfer>false</EnableTransfer>
<EnablePersonalVideoRecording>false</EnablePersonalVideoRecording>
<PlayRecordVideoMessagePrompt>false</PlayRecordVideoMessagePrompt>
<LanguageCode>1033</LanguageCode>
</UserTemplateGreeting>
<UserTemplateGreeting>
<CallHandlerObjectId>a254488a-7f96-4737-9df4-886e3f4b88af</CallHandlerObjectId>
<CallhandlerURI>/vmrest/callhandlerprimarytemplates/a254488a-7f96-4737-9df4-886e3f4b88af</CallhandlerURI>
<IgnoreDigits>false</IgnoreDigits>
<PlayWhat>0</PlayWhat>
<RepromptDelay>2</RepromptDelay>
<Reprompts>0</Reprompts>
Cisco Unity Connection Provisioning Interface (CUPI) API
378
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Listing and Viewing
Page 411
<TimeExpires>1972-01-01 00:00:00.0</TimeExpires>
<GreetingType>Holiday</GreetingType>
<AfterGreetingAction>4</AfterGreetingAction>
<PlayRecordMessagePrompt>true</PlayRecordMessagePrompt>
<EnableTransfer>false</EnableTransfer>
<EnablePersonalVideoRecording>false</EnablePersonalVideoRecording>
<PlayRecordVideoMessagePrompt>false</PlayRecordVideoMessagePrompt>
<LanguageCode>1033</LanguageCode>
</UserTemplateGreeting>
</UserTemplateGreetings>
Response Code: 200
The {greeting type} can be any one of the following:
• Standard
• Alternate
• Busy
• Closed
• Holiday
• Error
• Internal
Each greeting can be accessed through the following various GET requests:
• https://<connection_server>/vmrest/usertemplate/greetings/Alternate
• https://<connection_server>/vmrest/usertemplate/greetings/Busy
• https://<connection_server>/vmrest/usertemplate/greetings/Error
• https://<connection_server>/vmrest/usertemplate/greetings/Internal
• https://<connection_server>/vmrest/usertemplate/greetings/Off%20Hours
• https://<connection_server>/vmrest/usertemplate/greetings/Standard
• https://<connection_server>/vmrest/usertemplate/greetings/Holiday
Creating Greetings
Note that you cannot use CUPI to create Greetings.
Modifying Greetings
The following is an example of the PUT request that modifies the personal greeting as represented by
<greetingtype>:
https://<connection_server>/vmrest/callhandlerprimarytemplates/<objectId>/usertemplategreetings/<Greeting-type
The following is an example of the response from the above PUT request and the actual response will
depend upon the information given by you:
<UserTemplateGreeting>
<EnableTransfer>true</EnableTransfer>
<RepromptDelay>454354</RepromptDelay>
<Reprompts>30</Reprompts>
</UserTemplateGreeting>
Cisco Unity Connection Provisioning Interface (CUPI) API
379
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Creating Greetings
Page 412
Response Code: 204
Deleting Greetings
Note that you cannot use CUPI to delete Greetings.
Cisco Unity Connection Provisioning Interface (CUPI) API --
User Template Settings Notification Devices
About Notification Devices
This page contains information on how to use the API to create, list, update, and delete Notification Devices.
Cisco Unity Connection supports four different types of Notification Devices:
• Phone Devices
• Pager Devices
• HTML Devices
• SMTP Devices
The generic Notification Device resource contains the data fields that are common to most or all of the
specialized Device resources, which in turn may contain additional data fields that are specific to certain
Device resources. A listing of all data fields, including a description of what they mean and which specialized
Device types support them, can be found later in this document.
In order to create, update, or delete a Notification Device, an API user must use the appropriate specialized
Device resource. In other words, an API user can retrieve all of a user's Notification Devices, but if they then
want to update a particular Phone Device, they must do the update operation on the Phone Device resource,
not the Notification Device resource. This will be explained in more detail below.
The Notification Device resource and the four specialized Device resources contain data fields from the Device
objects in the database, plus some data fields from the Notification Rule object. From an API user's perspective,
this detail may not usually be important, but it is worth mentioning that the Device resources collapse two
database objects into a single resource. This can be safely done because there is always a one-to-one mapping
in the database of Notification Devices and Notification Rules.
The factory default User Template for Voicemail Users contains five Notification Devices: three Phone
Devices (Home, Work, and Mobile), one Pager Device, one HTML device, and one SMTP Device. Any of
these default Notification Devices can be modified, and new Devices of any of four specialized types (phone,
pager, HTML, and SMTP) can be created or deleted.
Listing and Viewing Notification Devices
Example 1
The following is an example of a GET that lists all Notification Devices of all types for the specified User
Template:
Cisco Unity Connection Provisioning Interface (CUPI) API
380
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Deleting Greetings
Page 413
https://<connection-server>/vmrest/usertemplates/<objectId>/usertemplatenotificationdevices
The following is the response from the above GET request. Notice that this list contains a mix of different
types of specialized Devices, since the request was for a list of all Notification Devices. The Type field
indicates the specialized Device type for each Notification Device (1 = Phone, 2 = Pager, 4 = SMTP, 8 =
HTML).
Cisco Unity Connection Provisioning Interface (CUPI) API
381
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Listing and Viewing Notification Devices
Page 414
<UserTemplateNotificationDevices total="7">
<UserTemplateNotificationDevice>
<URI>/vmrest/usertemplates/85a845d3-063d-4641-aa70-8b536282bffb/usertemplatenotificationdevices/22b1e3cc-f13d-4349-8811-a196132781a3</URI>
<SubscriberObjectId>85a845d3-063d-4641-aa70-8b536282bffb</SubscriberObjectId>
<UserURI>/vmrest/users/85a845d3-063d-4641-aa70-8b536282bffb</UserURI>
<ObjectId>22b1e3cc-f13d-4349-8811-a196132781a3</ObjectId>
<DisplayName>Pager</DisplayName>
<Active>false</Active>
<BusyRetryInterval>5</BusyRetryInterval>
<Type>2</Type>
<DialDelay>1</DialDelay>
<MaxBody>512</MaxBody>
<MaxSubject>64</MaxSubject>
<RetriesOnBusy>4</RetriesOnBusy>
<RetriesOnRna>4</RetriesOnRna>
<RingsToWait>4</RingsToWait>
<RnaRetryInterval>15</RnaRetryInterval>
<SendCount>true</SendCount>
<WaitConnect>true</WaitConnect>
<MediaSwitchObjectId>24f1171f-27b3-4ad3-a94c-66d1fb2e448b</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/24f1171f-27b3-4ad3-a94c-66d1fb2e448b</PhoneSystemURI>
<TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode>
<DeviceName>Pager</DeviceName>
<PromptForId>false</PromptForId>
<SendCallerId>true</SendCallerId>
<SendPcaLink>false</SendPcaLink>
<Undeletable>true</Undeletable>
<MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName>
<DetectTransferLoop>false</DetectTransferLoop>
<SuccessRetryInterval>1</SuccessRetryInterval>
<RetriesOnSuccess>0</RetriesOnSuccess>
<EventList>NewVoiceMail</EventList>
<ScheduleSetObjectId>a884af0a-dd5f-4597-8bc7-31a61e8b612a</ScheduleSetObjectId>
<InitialDelay>0</InitialDelay>
<RepeatInterval>0</RepeatInterval>
<RepeatNotify>false</RepeatNotify>
</UserTemplateNotificationDevice>
<UserTemplateNotificationDevice>
<URI>/vmrest/usertemplates/85a845d3-063d-4641-aa70-8b536282bffb/usertemplatenotificationdevices/d2e67ebc-a987-441d-a168-88d1d7dc49c2</URI>
<SubscriberObjectId>85a845d3-063d-4641-aa70-8b536282bffb</SubscriberObjectId>
<UserURI>/vmrest/users/85a845d3-063d-4641-aa70-8b536282bffb</UserURI>
<ObjectId>d2e67ebc-a987-441d-a168-88d1d7dc49c2</ObjectId>
<DisplayName>PagerDevice</DisplayName>
<Active>false</Active>
<BusyRetryInterval>5</BusyRetryInterval>
<Type>2</Type>
<DialDelay>1</DialDelay>
<MaxBody>512</MaxBody>
<MaxSubject>64</MaxSubject>
<RetriesOnBusy>4</RetriesOnBusy>
<RetriesOnRna>4</RetriesOnRna>
<RingsToWait>4</RingsToWait>
<RnaRetryInterval>15</RnaRetryInterval>
<SendCount>true</SendCount>
<WaitConnect>true</WaitConnect>
<MediaSwitchObjectId>24f1171f-27b3-4ad3-a94c-66d1fb2e448b</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/24f1171f-27b3-4ad3-a94c-66d1fb2e448b</PhoneSystemURI>
<TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode>
Cisco Unity Connection Provisioning Interface (CUPI) API
382
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Listing and Viewing Notification Devices
Page 415
<DeviceName>Other</DeviceName>
<PromptForId>false</PromptForId>
<SendCallerId>true</SendCallerId>
<SendPcaLink>false</SendPcaLink>
<Undeletable>false</Undeletable>
<MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName>
<DetectTransferLoop>false</DetectTransferLoop>
<SuccessRetryInterval>1</SuccessRetryInterval>
<RetriesOnSuccess>0</RetriesOnSuccess>
<EventList>NewVoiceMail</EventList>
<ScheduleSetObjectId>a884af0a-dd5f-4597-8bc7-31a61e8b612a</ScheduleSetObjectId>
<InitialDelay>0</InitialDelay>
<RepeatInterval>0</RepeatInterval>
<RepeatNotify>false</RepeatNotify>
</UserTemplateNotificationDevice>
<UserTemplateNotificationDevice>
<URI>/vmrest/usertemplates/85a845d3-063d-4641-aa70-8b536282bffb/usertemplatenotificationdevices/53bd701a-7301-49d0-8404-9769b38094cd</URI>
<SubscriberObjectId>85a845d3-063d-4641-aa70-8b536282bffb</SubscriberObjectId>
<UserURI>/vmrest/users/85a845d3-063d-4641-aa70-8b536282bffb</UserURI>
<ObjectId>53bd701a-7301-49d0-8404-9769b38094cd</ObjectId>
<DisplayName>Work Phone</DisplayName>
<Active>false</Active>
<BusyRetryInterval>5</BusyRetryInterval>
<Conversation>SubNotify</Conversation>
<Type>1</Type>
<DialDelay>1</DialDelay>
<MaxBody>512</MaxBody>
<MaxSubject>64</MaxSubject>
<RetriesOnBusy>4</RetriesOnBusy>
<RetriesOnRna>4</RetriesOnRna>
<RingsToWait>4</RingsToWait>
<RnaRetryInterval>15</RnaRetryInterval>
<SendCount>false</SendCount>
<WaitConnect>true</WaitConnect>
<MediaSwitchObjectId>24f1171f-27b3-4ad3-a94c-66d1fb2e448b</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/24f1171f-27b3-4ad3-a94c-66d1fb2e448b</PhoneSystemURI>
<TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode>
<DeviceName>Work Phone</DeviceName>
<PromptForId>false</PromptForId>
<SendCallerId>false</SendCallerId>
<SendPcaLink>false</SendPcaLink>
<Undeletable>true</Undeletable>
<MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName>
<DetectTransferLoop>false</DetectTransferLoop>
<SuccessRetryInterval>0</SuccessRetryInterval>
<RetriesOnSuccess>0</RetriesOnSuccess>
<EventList>NewVoiceMail</EventList>
<ScheduleSetObjectId>a884af0a-dd5f-4597-8bc7-31a61e8b612a</ScheduleSetObjectId>
<InitialDelay>0</InitialDelay>
<RepeatInterval>0</RepeatInterval>
<RepeatNotify>false</RepeatNotify>
</UserTemplateNotificationDevice>
<UserTemplateNotificationDevice>
<URI>/vmrest/usertemplates/85a845d3-063d-4641-aa70-8b536282bffb/usertemplatenotificationdevices/fa8d720c-7c03-4506-867f-780636b00c13</URI>
<SubscriberObjectId>85a845d3-063d-4641-aa70-8b536282bffb</SubscriberObjectId>
<UserURI>/vmrest/users/85a845d3-063d-4641-aa70-8b536282bffb</UserURI>
<ObjectId>fa8d720c-7c03-4506-867f-780636b00c13</ObjectId>
<DisplayName>Home Phone</DisplayName>
<Active>false</Active>
Cisco Unity Connection Provisioning Interface (CUPI) API
383
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Listing and Viewing Notification Devices
Page 416
<BusyRetryInterval>5</BusyRetryInterval>
<Conversation>SubNotify</Conversation>
<Type>1</Type>
<DialDelay>1</DialDelay>
<MaxBody>512</MaxBody>
<MaxSubject>64</MaxSubject>
<RetriesOnBusy>4</RetriesOnBusy>
<RetriesOnRna>4</RetriesOnRna>
<RingsToWait>4</RingsToWait>
<RnaRetryInterval>15</RnaRetryInterval>
<SendCount>false</SendCount>
<WaitConnect>true</WaitConnect>
<MediaSwitchObjectId>24f1171f-27b3-4ad3-a94c-66d1fb2e448b</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/24f1171f-27b3-4ad3-a94c-66d1fb2e448b</PhoneSystemURI>
<TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode>
<DeviceName>Home Phone</DeviceName>
<PromptForId>false</PromptForId>
<SendCallerId>false</SendCallerId>
<SendPcaLink>false</SendPcaLink>
<Undeletable>true</Undeletable>
<MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName>
<DetectTransferLoop>false</DetectTransferLoop>
<SuccessRetryInterval>0</SuccessRetryInterval>
<RetriesOnSuccess>0</RetriesOnSuccess>
<EventList>NewVoiceMail</EventList>
<ScheduleSetObjectId>a884af0a-dd5f-4597-8bc7-31a61e8b612a</ScheduleSetObjectId>
<InitialDelay>0</InitialDelay>
<RepeatInterval>0</RepeatInterval>
<RepeatNotify>false</RepeatNotify>
</UserTemplateNotificationDevice>
<UserTemplateNotificationDevice>
<URI>/vmrest/usertemplates/85a845d3-063d-4641-aa70-8b536282bffb/usertemplatenotificationdevices/24cd2817-2911-4668-b740-24369c4b0d19</URI>
<SubscriberObjectId>85a845d3-063d-4641-aa70-8b536282bffb</SubscriberObjectId>
<UserURI>/vmrest/users/85a845d3-063d-4641-aa70-8b536282bffb</UserURI>
<ObjectId>24cd2817-2911-4668-b740-24369c4b0d19</ObjectId>
<DisplayName>Mobile Phone</DisplayName>
<Active>false</Active>
<BusyRetryInterval>5</BusyRetryInterval>
<Conversation>SubNotify</Conversation>
<Type>1</Type>
<DialDelay>1</DialDelay>
<MaxBody>512</MaxBody>
<MaxSubject>64</MaxSubject>
<RetriesOnBusy>4</RetriesOnBusy>
<RetriesOnRna>4</RetriesOnRna>
<RingsToWait>4</RingsToWait>
<RnaRetryInterval>15</RnaRetryInterval>
<SendCount>false</SendCount>
<WaitConnect>true</WaitConnect>
<MediaSwitchObjectId>24f1171f-27b3-4ad3-a94c-66d1fb2e448b</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/24f1171f-27b3-4ad3-a94c-66d1fb2e448b</PhoneSystemURI>
<TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode>
<DeviceName>Mobile Phone</DeviceName>
<PromptForId>false</PromptForId>
<SendCallerId>false</SendCallerId>
<SendPcaLink>false</SendPcaLink>
<Undeletable>true</Undeletable>
<MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName>
<DetectTransferLoop>false</DetectTransferLoop>
<SuccessRetryInterval>0</SuccessRetryInterval>
Cisco Unity Connection Provisioning Interface (CUPI) API
384
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Listing and Viewing Notification Devices
Page 417
<RetriesOnSuccess>0</RetriesOnSuccess>
<EventList>NewVoiceMail</EventList>
<ScheduleSetObjectId>a884af0a-dd5f-4597-8bc7-31a61e8b612a</ScheduleSetObjectId>
<InitialDelay>0</InitialDelay>
<RepeatInterval>0</RepeatInterval>
<RepeatNotify>false</RepeatNotify>
</UserTemplateNotificationDevice>
<UserTemplateNotificationDevice>
<URI>/vmrest/usertemplates/85a845d3-063d-4641-aa70-8b536282bffb/usertemplatenotificationdevices/d6871a13-4680-428a-a839-afb6d3b46b6b</URI>
<SubscriberObjectId>85a845d3-063d-4641-aa70-8b536282bffb</SubscriberObjectId>
<UserURI>/vmrest/users/85a845d3-063d-4641-aa70-8b536282bffb</UserURI>
<ObjectId>d6871a13-4680-428a-a839-afb6d3b46b6b</ObjectId>
<DisplayName>SMTP</DisplayName>
<Active>false</Active>
<BusyRetryInterval>0</BusyRetryInterval>
<Type>4</Type>
<DialDelay>0</DialDelay>
<MaxBody>512</MaxBody>
<MaxSubject>64</MaxSubject>
<RetriesOnBusy>0</RetriesOnBusy>
<RetriesOnRna>0</RetriesOnRna>
<RingsToWait>0</RingsToWait>
<RnaRetryInterval>0</RnaRetryInterval>
<SendCount>true</SendCount>
<WaitConnect>false</WaitConnect>
<TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode>
<DeviceName>SMTP</DeviceName>
<PromptForId>false</PromptForId>
<SendCallerId>true</SendCallerId>
<SendPcaLink>false</SendPcaLink>
<Undeletable>true</Undeletable>
<DetectTransferLoop>false</DetectTransferLoop>
<SuccessRetryInterval>0</SuccessRetryInterval>
<RetriesOnSuccess>0</RetriesOnSuccess>
<EventList>NewVoiceMail</EventList>
<ScheduleSetObjectId>a884af0a-dd5f-4597-8bc7-31a61e8b612a</ScheduleSetObjectId>
<InitialDelay>0</InitialDelay>
<RepeatInterval>0</RepeatInterval>
<RepeatNotify>false</RepeatNotify>
</UserTemplateNotificationDevice>
<UserTemplateNotificationDevice>
<URI>/vmrest/usertemplates/85a845d3-063d-4641-aa70-8b536282bffb/usertemplatenotificationdevices/9f2f0ce2-0567-421a-bd89-973ceecb8518</URI>
<SubscriberObjectId>85a845d3-063d-4641-aa70-8b536282bffb</SubscriberObjectId>
<UserURI>/vmrest/users/85a845d3-063d-4641-aa70-8b536282bffb</UserURI>
<ObjectId>9f2f0ce2-0567-421a-bd89-973ceecb8518</ObjectId>
<DisplayName>HTML</DisplayName>
<Active>false</Active>
<BusyRetryInterval>0</BusyRetryInterval>
<Type>8</Type>
<DialDelay>0</DialDelay>
<MaxBody>512</MaxBody>
<MaxSubject>64</MaxSubject>
<RetriesOnBusy>0</RetriesOnBusy>
<RetriesOnRna>0</RetriesOnRna>
<RingsToWait>0</RingsToWait>
<RnaRetryInterval>0</RnaRetryInterval>
<SendCount>false</SendCount>
<SmtpAddress>aaaa</SmtpAddress>
<WaitConnect>false</WaitConnect>
<TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode>
Cisco Unity Connection Provisioning Interface (CUPI) API
385
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Listing and Viewing Notification Devices
Page 418
<DeviceName>HTML</DeviceName>
<PromptForId>false</PromptForId>
<SendCallerId>false</SendCallerId>
<SendPcaLink>false</SendPcaLink>
<Undeletable>true</Undeletable>
<DetectTransferLoop>false</DetectTransferLoop>
<SuccessRetryInterval>0</SuccessRetryInterval>
<RetriesOnSuccess>0</RetriesOnSuccess>
<EventList>NewVoiceMail</EventList>
<ScheduleSetObjectId>a884af0a-dd5f-4597-8bc7-31a61e8b612a</ScheduleSetObjectId>
<InitialDelay>0</InitialDelay>
<RepeatInterval>0</RepeatInterval>
<RepeatNotify>false</RepeatNotify>
</UserTemplateNotificationDevice>
</UserTemplateNotificationDevices>
Response Code: 200
Example 2
The following is an example of a GET that lists a particular Notification Devices for the specified User
Template:
https://<connection_server>/vmrest/usertemplates/<objectId>/usertemplatenotificationdevices/<objectId>
The following is the response from the above GET request.
<UserTemplateNotificationDevice>
<URI>/vmrest/usertemplates/85a845d3-063d-4641-aa70-8b536282bffb/usertemplatenotificationdevices/9f2f0ce2-0567-421a-bd89-973ceecb8518</URI>
<SubscriberObjectId>85a845d3-063d-4641-aa70-8b536282bffb</SubscriberObjectId>
<UserURI>/vmrest/users/85a845d3-063d-4641-aa70-8b536282bffb</UserURI>
<ObjectId>9f2f0ce2-0567-421a-bd89-973ceecb8518</ObjectId>
<DisplayName>HTML</DisplayName>
<Active>false</Active>
<Type>8</Type>
<MaxBody>512</MaxBody>
<MaxSubject>64</MaxSubject>
<SmtpAddress>aaaa</SmtpAddress>
<DeviceName>HTML</DeviceName>
<Undeletable>true</Undeletable>
<EventList>NewVoiceMail</EventList>
<ScheduleSetObjectId>a884af0a-dd5f-4597-8bc7-31a61e8b612a</ScheduleSetObjectId>
<InitialDelay>0</InitialDelay>
<RepeatInterval>0</RepeatInterval>
<RepeatNotify>false</RepeatNotify>
</UserTemplateNotificationDevice>
<pre> Response Code: 200
Adding a New Notification Device
This section contains information on how to create notification devices:
• Adding Pager Notification Device
• Adding Phone Notification Device
• Adding HTML Notification Device
Cisco Unity Connection Provisioning Interface (CUPI) API
386
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Adding a New Notification Device
Page 419
• Adding SMTP Notification Device
• Adding Pager Notification Device
Adding Pager Notification Device
The following is an example of the POST request that adds a Pager Notification Device:
https://<connection_server>/vmrest/usertemplates/<objectId>/notificationdevices/<objectId>
The actual response will depend upon the information given by you.
<UserTemplatePagerDevice>
<DisplayName>pager1</DisplayName>
<MediaSwitchObjectId>2b6324a2-d66f-4f25-9572-decf88c9a0b7</MediaSwitchObjectId>
<PhoneNumber>5656</PhoneNumber>
</UserTemplatePagerDevice>
Response Code: 201
Adding Phone Notification Device
The following is an example of the POST request that adds a Phone Notification Device:
https://<connection_server>/vmrest/usertemplates/<objectId>/notificationdevices/<objectId>
The actual response will depend upon the information given by you.
<UserTemplatePhoneDevice>
<DisplayName>pager1</DisplayName>
<MediaSwitchObjectId>2b6324a2-d66f-4f25-9572-decf88c9a0b7</MediaSwitchObjectId>
<PhoneNumber>5656</PhoneNumber>
</UserTemplatePhoneDevice>
Response Code: 201
Adding HTML Notification Device
The following is an example of the POST request that adds a HTML Notification Device:
https://<connection_server>/vmrest/usertemplates/<objectId>/notificationdevices/<objectId>
The actual response will depend upon the information given by you.
<UserTemplateHtmlDevice>
<DisplayName>Html</DisplayName>
< SmtpAddress> a@cisco.com</SmtpAddress>
<CallbackNumber>1111</CallbackNumber>
</UserTemplateHtmlDevice>
Response Code: 201
Cisco Unity Connection Provisioning Interface (CUPI) API
387
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Adding Pager Notification Device
Page 420
Adding SMTP Notification Device
The following is an example of the POST request that adds a HTML Notification Device:
https://<connection_server>/vmrest/usertemplates/<objectId>/notificationdevices/<objectId>
The actual response will depend upon the information given by you.
<UserTemplateSmtpDevice>
<DisplayName>SMTP</DisplayName>
<SmtpAddress> a@cisco.com</SmtpAddress>
<PhoneNumber>5656</PhoneNumber>
</UserTemplateSmtpDevice>
Response Code: 201
Modifying Notification Device
The following is an example of the PUT request that modifies a Notification Device as represented by
<objectId>:
https://<connection_server>/vmrest/usertemplates/<objectId>/usertemplatenotificationdevices/<objectId>
The following is an example of the response from the above PUT request and the actual response will
depend upon the information given by you:
<UserTemplatePhoneDevice>
<Active>false</Active>
<RepeatInterval>0</RepeatInterval>
<RepeatNotify>true</RepeatNotify>
<PhoneNumber>123456</PhoneNumber>
<AfterDialDigits>11111</AfterDialDigits>
<DialDelay>0</DialDelay>
<RingsToWait>100</RingsToWait>
<RetriesOnBusy>4</RetriesOnBusy>
<RetriesOnRna>4</RetriesOnRna>
<BusyRetryInterval>1</BusyRetryInterval>
<RnaRetryInterval>100</RnaRetryInterval>
<RetriesOnRna>100</RetriesOnRna>
<MediaSwitchObjectId>1fb12b1c-cf14-4634-b73d-9b9c58ecdf68</MediaSwitchObjectId>
<PromptForId>false</PromptForId>
<EventList>NewUrgentFax,UrgentDispatchMessage</EventList>
</UserTemplatePhoneDevice>
Response Code: 204
Deleting a New Notification Device
The following is an example of the DELETE request that deletes a Notification Device as represented by
<notificationdeviceid>:
https://<connection_server>/vmrest/usertemplates/<objectId>/usertemplatenotificationdevices/<objectId>
Cisco Unity Connection Provisioning Interface (CUPI) API
388
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Adding SMTP Notification Device
Page 421
The output for this request returns the successful response code.
Response Code: 204
Explanation of Data Fields
Cisco_Unity_Connection_Provisioning_Interface_(CUPI)API-_Notification_Devices#Explanation_of_Data_Fields
Cisco Unity Connection Provisioning Interface (CUPI) API --
User Template Settings Video Service Account
Listing the User Template Video Service Account
The following is an example of GET request that displays user template settings video service account:
GET:
https://<server-ip>/vmrest/usertemplates/981d804d-7a81-4171-b33e-8a4b12e0c309/usertemplatevideoserviceaccounts
The following is an example of response from the above GET request and the actual result will depend
upon the information that has been provided by you:
200
OK
<UserTemplateVideoServiceAccounts total="1">
<UserTemplateVideoServiceAccount>
<URI>/vmrest/usertemplates/981d804d-7a81-4171-b33e-8a4b12e0c309/usertemplatevideoserviceaccount/88397230-91a7-4248-910d-11e9fd5a8dc3</URI>
<ConnectorFactoryObjectId>bf9e3b86-4306-4da3-a958-40f9197c99bd</ConnectorFactoryObjectId>
<IsConnectorMapped>true</IsConnectorMapped>
<ObjectId>88397230-91a7-4248-910d-11e9fd5a8dc3</ObjectId>
<UserTemplateObjectId>981d804d-7a81-4171-b33e-8a4b12e0c309</UserTemplateObjectId>
<UserTemplateURI>/vmrest/usertemplates/981d804d-7a81-4171-b33e-8a4b12e0c309</UserTemplateURI>
<ConnectorFactoryName>test</ConnectorFactoryName>
<MediaServerType>0</MediaServerType>
</UserTemplateVideoServiceAccount>
</UserTemplateVideoServiceAccounts>
JSON Example
The following is an example to list a new video service template:
Request URI:
GET:
https://<connection-ip-address>/vmrest/usertemplates/<TemplateObjectid>/usertemplatevideoserviceaccounts
The following is the response from the above GET request:
Cisco Unity Connection Provisioning Interface (CUPI) API
389
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Explanation of Data Fields
Page 422
200
Ok
{
"UserTemplateVideoServiceAccounts": {
"-total": "1",
"UserTemplateVideoServiceAccount": {
"URI":
"/vmrest/usertemplates/b98c46a4-ceaa-43df-bac6-4bd0620dc904/usertemplatevideoserviceaccounts/56b22a57-ffdc-4056-a5a9-5aa1d0987271",
"ConnectorFactoryObjectId": "dbd26014-fe57-4d00-bd5a-a1df1bdae6a2",
"IsConnectorMapped": "true",
"ObjectId": "56b22a57-ffdc-4056-a5a9-5aa1d0987271",
"UserTemplateObjectId": "b98c46a4-ceaa-43df-bac6-4bd0620dc904",
"UserTemplateURI": "/vmrest/usertemplates/b98c46a4-ceaa-43df-bac6-4bd0620dc904",
"ConnectorFactoryName": "video",
"MediaServerType": "0"
}
}
}
Creating the User Template Video Service Account
The following is an example of POST request that can be used to create a new user template video service
account:
POST:
https://<server-ip>/vmrest/usertemplates/<templateobjectid>/usertemplatevideoserviceaccounts
Request Body:
<UserTemplateVideoServiceAccount>
<ConnectorFactoryObjectId>bf9e3b86-4306-4da3-a958-40f9197c99bd</ConnectorFactoryObjectId>
<IsConnectorMapped>true</IsConnectorMapped>
<ConnectorFactoryName>test</ConnectorFactoryName>
<MediaServerType>0</MediaServerType>
</UserTemplateVideoServiceAccount>
Response Code:
201 OK
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
/vmrest/usertemplates/981d804d-7a81-4171-b33e-8a4b12e0c309/usertemplatevideoserviceaccount/88397230-91a7-4248-910d-11e9fd5a8dc3
JSON Example
The following is an example to create a video service template:
Request URI:
POST:https://<connection-ip-address>/vmrest/usertemplates/<TemplateObjectid>/usertemplatevideoserviceaccounts
Accept: application/json
Content-type: application/json
The following is an example of the above POST request:
Cisco Unity Connection Provisioning Interface (CUPI) API
390
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Creating the User Template Video Service Account
Page 423
{
"TemplateVideoService": {
"ConnectorFactoryObjectId": "dbd26014-fe57-4d00-bd5a-
a1df1bdae6a2",
"ConnectorFactoryName": "myservice"
}
}
The following is the response from the above POST request:
/vmrest/usertemplates/<TemplateObjectId>/ usertemplatevideoserviceaccounts
/<TemplateObjectid>/
Updating the User Template Video Service Account
The following is an example of the PUT request to update the user template video service account:
PUT:
https://<server-ip>/vmrest/usertemplates/<templateobjectid>/usertemplatevideoserviceaccounts/<objectid>
Request Body:
<UserTemplateVideoServiceAccount>
<ConnectorFactoryObjectId>bf9e3b86-4306-4da3-a958-40f9197c99bd</ConnectorFactoryObjectId>
<IsConnectorMapped>true</IsConnectorMapped>
<ConnectorFactoryName>test</ConnectorFactoryName>
<MediaServerType>0</MediaServerType>
</UserTemplateVideoServiceAccount>
Response Code:
204 OK
JSON Example
The following is an example to update a video service template:
Request URI:
PUT:
https://<connection-ip-address>/vmrest/usertemplates/<TemplateObjectid>/usertemplatevideoserviceaccounts/<ObjectId>
Accept: application/json
Content-type: application/json
The following is an example of the PUT request:
{
"TemplateVideoService": {
"IsConnectorMapped": "false ",
"ConnectorFactoryName": "myservice",
"MediaServerType": "0"
}
}
The following is the response from the above PUT request:
204
Cisco Unity Connection Provisioning Interface (CUPI) API
391
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Updating the User Template Video Service Account
Page 424
Deleting the User Template Video Service Account
The following is an example of DELETE request that deletes user template settings video service account:
Request URI:
Request URI
:https://<server-ip>/vmrest/usertemplates/<templateobjectid>/usertemplatevideoserviceaccounts/<objectid>
Below is the response code from the above DELETE request:
204 OK
JSON Example
The following is an example to delete video service template:
Request URI:
DELETE:
https://<connection-ip-address>/vmrest/usertemplates/<TemplateObjectid>/usertemplatevideoserviceaccounts/<ObjectId>
Accept: application/json
Content-type: application/json
The following is the response from the above DELETE request:
200
Explanation of Data Fields
The following chart lists all of the data fields:
Comment
Data
Type
Operation
Parameters
Name Of The Video Service
String
Read
ConnectorFactoryName
Media Server Used For Video
Integer
Read
MediaServerType
Objectid of Video service created
String
Read
ConnectorFactoryObjectId
Objectid of Voice Mail User Template
String
Read
TemplateObjectId
Objectid of Video Service Template created
String
Read
TemplateVideoServicesObjectId
Validate if the Video Service Account is connected to the Video
service
Boolean
Read,
Update
IsConnectorMapped
Cisco Unity Connection Provisioning Interface (CUPI) API
392
Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings
Deleting the User Template Video Service Account
Page 425
C H A P T E R 35
Cisco Unity Connection Provisioning Interface
(CUPI) API for Call Handler Template
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Caller Input APIs, on page 393
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Template APIs, on page 398
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Enumeration Types, on page 414
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Greetings APIs, on page 418
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Settings APIs, on page 426
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Post Greeting Recordings APIs , on page
427
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Transfer Rule APIs, on page 428
Cisco Unity Connection Provisioning Interface (CUPI) API --
Caller Input APIs
Caller Inputs API
To get the caller input URI, follow the steps given below:
GET https://<connection-server>/vmrest/users/<user-objectid>
From above URI get the call handler URI:
GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>
To edit caller inputs, you need to get the menu entries:
GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/menuentries
Listing the Caller Inputs
The following is an example of the GET request that fetch the list of caller inputs:
GET https://<connection-server>/vmrest/ callhandlertemplates/<callhandlertemplate-
objectid>/templatemenuentries
Cisco Unity Connection Provisioning Interface (CUPI) API
393

Page 426
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<TemplateMenuEntries total="2">
<TemplateMenuEntry>
<URI>/vmrest/callhandlertemplates/5f6e1043-5edf-4646-90ac-
836910ac1a4c/templatemenuentries/</URI>
<CallHandlerObjectId>5f6e1043-5edf-4646-90ac-836910ac1a4c</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/5f6e1043-5edf-4646-90ac-
836910ac1a4c</CallhandlerURI>
<TouchtoneKey></TouchtoneKey>
<Locked>false</Locked>
<Action>4</Action>
<ObjectId>de3dce46-1887-489c-9244-ae8b421fe107</ObjectId>
</TemplateMenuEntry>
<TemplateMenuEntry>
<URI>/vmrest/callhandlertemplates/5f6e1043-5edf-4646-90ac-
836910ac1a4c/templatemenuentries/#</URI>
<CallHandlerObjectId>5f6e1043-5edf-4646-90ac-836910ac1a4c</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/5f6e1043-5edf-4646-90ac-
836910ac1a4c</CallhandlerURI>
<TouchtoneKey>#</TouchtoneKey>
<Locked>false</Locked>
<Action>5</Action>
<ObjectId>17ec06a9-6990-4a95-8417-6e22957fcbe5</ObjectId>
</TemplateMenuEntry>
</TemplateMenuEntries>
Response Code: 200
JSON Example
To view the list of caller inputs, do the following:
Request URI:
GET:
https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>/templatemenuentries
Accept: application/json
Connection: keep_alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
394
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Listing the Caller Inputs
Page 427
{
"@total":"2"
"TemplateMenuEntry":
{
"URI":"/vmrest/callhandlertemplates/a2f8fb8f-68ee-4a17-90a0-
bff0308b5b1a/templatemenuentries/"
"CallHandlerObjectId":"a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a"
"CallhandlerURI":"/vmrest/handlers/callhandlers/a2f8fb8f-68ee-4a17-90a0-
bff0308b5b1a"
"TouchtoneKey":""
"Locked":"true"
"Action":"2"
"TargetConversation":"SubSignIn"
"ObjectId":"17184311-90ac-4654-8e26-cfbe08138851"
},
{
"URI":"/vmrest/callhandlertemplates/a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a/templatemenuentries/#"
"CallHandlerObjectId":"a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a"
"CallhandlerURI":"/vmrest/handlers/callhandlers/a2f8fb8f-68ee-4a17-90a0-
bff0308b5b1a"
"TouchtoneKey":"#"
"Locked":"true"
"Action":"5"
"ObjectId":"27eb298c-22a1-4ed7-813b-61c144bc0fdc"
},
]
}
Response Code: 200
Viewing the Details of Specific Caller Input
The following is an example of the GET request that lists the details of specific caller input:
GET https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-
objectid>/templatemenuentries/<TouchToneKey>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<TemplateMenuEntry>
<URI>/vmrest/callhandlertemplates/5f6e1043-5edf-4646-90ac-
836910ac1a4c/templatemenuentries/5</URI>
<CallHandlerObjectId>5f6e1043-5edf-4646-90ac-836910ac1a4c</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/5f6e1043-5edf-4646-90ac-
836910ac1a4c</CallhandlerURI>
<TouchtoneKey>5</TouchtoneKey>
<Locked>false</Locked>
<Action>0</Action>
<ObjectId>f076155c-80b1-4538-bcc7-c901a6eafbae</ObjectId>
</TemplateMenuEntry>
Response Code: 200
JSON Example
To view a particular caller input, do the following:
Cisco Unity Connection Provisioning Interface (CUPI) API
395
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Viewing the Details of Specific Caller Input
Page 428
Request URI:
GET:
https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>/templatemenuentries/<TouchToneKey>
Accept: application/json
Connection: keep_alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"URI":"/vmrest/callhandlertemplates/a2f8fb8f-68ee-4a17-90a0-
bff0308b5b1a/templatemenuentries/"
"CallHandlerObjectId":"a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a"
"CallhandlerURI":"/vmrest/handlers/callhandlers/a2f8fb8f-68ee-4a17-90a0-
bff0308b5b1a"
"TouchtoneKey":""
"Locked":"true"
"Action":"2"
"TargetConversation":"SubSignIn"
"ObjectId":"17184311-90ac-4654-8e26-cfbe08138851"
}
Response Code: 200
Updating a Caller Input
The following is an example of the PUT request that updates a specific caller input:
PUT https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-
objectid>/templatemenuentries/<TouchToneKey>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
<TemplateMenuEntry>
<Action>7</Action>
<TransferNumber>1000</TransferNumber>
<TransferType> 1</TransferType>
<TransferRings>2</TransferRings>
</TemplateMenuEntry>
Response Code: 204
JSON Example
To update a particular caller input, do the following:
Request URI:
PUT:
https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>/templatemenuentries/<TouchToneKey>
Accept: application/json
Content_type: application/json
Connection: keep_alive
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
396
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Updating a Caller Input
Page 429
Explanation of Data Fields
Comments
Data
Type
Operations
Parameter
URI of the call handler menu entries.
String
Read
Only
URI
A transfer rule can belong only to a call handler object. No other object
can own a menu entry.
String
Read
Only
CallHadlerObjectId
URI of the call handler that is being referenced.
String
Read
Only
CallHandlerURI
The character on the touch-tone keypad that this menu entry corresponds
to (*, #, 0,1...9).
String
Read
Only
TouchtoneKey
A flag indicating whether Cisco Unity Connection ignores additional
input after callers press this key.
A locked menu entry does not allow additional dialing after this choice
is entered, but Cisco Unity Connection will immediately take the
associated action. If the action is set to "Ignore" (0), the key is thrown
out and the greeting continues playing as normal. Any other action is
taken immediately without waiting to determine if the caller is going to
dial an extension. Possible Values:
• false: Unlocked - Additional dialing after this choice is entered is
allowed
• true: Locked - Additional dialing is ignored
Default value: false
Boolean
Read/Write
Locked
Specifies the action to be taken in the event of the key press.
Default value: 0
Integer
Read/Write
Action
Specifies the conversation to go to after taking a message.
Default value: 0
String
Read/Write
TargetConversion
The unique identifier of the specific object to send along to the target
conversation.
String
Read/Write
TargetHandlerObjectId
Object ID of the caller input.
String
Read
Only
ObjectId
The phone number associated with the alternate contact.
Integer
Read/Write
TransferNumber
The display name associated with the alternate contact number.
String
Read/Write
DisplayName
The type of call transfer Cisco Unity Connection will perform -
supervised or unsupervised (also referred to as "Release to Switch"
transfer).
Default value: 0
Integer
Read/Write
TransferType
Cisco Unity Connection Provisioning Interface (CUPI) API
397
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Explanation of Data Fields
Page 430
Comments
Data
Type
Operations
Parameter
The number of times the extension rings before Cisco Unity Connection
considers it a "ring no answer" and plays the subscriber or handler
greeting
Possible value can range from 2-20 Default Value: 4
Integer
Read/Write
TransferRings
Cisco Unity Connection Provisioning Interface (CUPI) API --
Call Handler Template APIs
Call Handler Templates APIs
Each call handler that you add in Cisco Unity Connection is based on a template. Settings from the template
are applied as the call handler is created. Unity Connection comes with one default call handler template,
which has settings that are suitable for most call handlers. You can also create new templates. Before you
create call handlers, review the settings in the template that you plan to use and determine whether you need
to make changes or create new templates. For each template, you should consider enabling the transfer, caller
input, greetings, and message settings that will be needed for the call handlers that you plan to create. Following
Points should be noted:-
• If you change settings on a call handler template, the new settings are in effect only for new call handlers
that are created by using that template. Changes to template settings do not affect existing call handlers.
• Deleting a call handler template does not affect any call handlers that were based on that template when
they were created.
• Default Template cannot be deleted.
Administrator can use this API to create/update/delete/fetch the system call handler templates. Various attributes
of a call handler template can also be updated using this API.
Listing the Call Handler Templates
The following is an example of the GET request that fetch the list of call handler templates:
GET https://<connection-server>/vmrest/callhandlertemplates
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
398
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Template APIs
Page 431
<CallhandlerTemplates total="1">
<CallhandlerTemplate>
<URI>/vmrest/callhandlertemplates/5024347a-aac2-463a-98c8-a745a805dc3b</URI>
<CreationTime>2013-01-10T09:23:20Z</CreationTime>
<Language>1033</Language>
<DisplayName>System Call Handler Template1</DisplayName>
<UseDefaultLanguage>false</UseDefaultLanguage>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<Undeletable>true</Undeletable>
<LocationObjectId>22646a82-1f17-4b42-beec-9cdfd69508c5</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/22646a82-1f17-4b42-beec-
9cdfd69508c5</LocationURI>
<EditMsg>true</EditMsg>
<IsPrimary>false</IsPrimary>
<MaxMsgLen>300</MaxMsgLen>
<OneKeyDelay>1500</OneKeyDelay>
<ScheduleSetObjectId>10fee566-b137-4652-a378-
db8a872a161d</ScheduleSetObjectId>
<ScheduleSetURI>/vmrest/schedulesets/10fee566-b137-4652-a378-
db8a872a161d</ScheduleSetURI>
<SendUrgentMsg>0</SendUrgentMsg>
<IsTemplate>true</IsTemplate>
<ObjectId>5024347a-aac2-463a-98c8-a745a805dc3b</ObjectId>
<TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId>
<RecipientDistributionListObjectId>f7408e6e-822e-494b-ab29-
cff3cf9e0bd9</RecipientDistributionListObjectId>
<RecipientDistributionListURI>/vmrest/distributionlists/f7408e6e-822e-494b-ab29-
cff3cf9e0bd9</RecipientDistributionListURI>
<AfterMessageAction>2</AfterMessageAction>
<AfterMessageTargetConversation>PHGreeting</AfterMessageTargetConversation>
<AfterMessageTargetHandlerObjectId>16cf736f-7254-4654-ab09-
08fe743332a9</AfterMessageTargetHandlerObjectId>
<TimeZone>190</TimeZone>
<MediaSwitchObjectId>abf4b7d1-89d5-45c2-bdc8-
d3b13f5040f5</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/abf4b7d1-89d5-45c2-bdc8-
d3b13f5040f5</PhoneSystemURI>
<UseCallLanguage>false</UseCallLanguage>
<SendSecureMsg>false</SendSecureMsg>
<EnablePrependDigits>false</EnablePrependDigits>
<DispatchDelivery>false</DispatchDelivery>
<CallSearchSpaceObjectId>f3beb4e4-0be5-417f-9491-
e233c6d4a40e</CallSearchSpaceObjectId>
<CallSearchSpaceURI>/vmrest/searchspaces/f3beb4e4-0be5-417f-9491-
e233c6d4a40e</CallSearchSpaceURI>
<InheritSearchSpaceFromCall>true</InheritSearchSpaceFromCall>
<PartitionObjectId>5ec15c45-ace9-41ad-a6c4-b56081c79717</PartitionObjectId>
<PartitionURI>/vmrest/partitions/5ec15c45-ace9-41ad-a6c4-
b56081c79717</PartitionURI>
<PlayPostGreetingRecording>0</PlayPostGreetingRecording>
<SendPrivateMsg>0</SendPrivateMsg>
<PlayAfterMessage>1</PlayAfterMessage>
<GreetingsURI>/vmrest/callhandlertemplates/5024347a-aac2-463a-98c8-
a745a805dc3b/templategreetings</GreetingsURI>
<TransferOptionsURI>/vmrest/callhandlertemplates/5024347a-aac2-463a-98c8-
a745a805dc3b/templatetransferoptions</TransferOptionsURI>
<MenuEntriesURI>/vmrest/callhandlertemplates/5024347a-aac2-463a-98c8-
a745a805dc3b/templatemenuentries</MenuEntriesURI>
</CallhandlerTemplate>
</CallhandlerTemplates>
Response Code: 200
Cisco Unity Connection Provisioning Interface (CUPI) API
399
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Listing the Call Handler Templates
Page 432
JSON Example
To view the list of call handler templates, do the following:
Request URI:
GET: https://<connection-server>/vmrest/callhandlertemplates
Accept: application/json
Connection: keep_alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
400
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Listing the Call Handler Templates
Page 433
{
"@total":"1"
"CallhandlerTemplate":
[
{
"URI":"/vmrest/callhandlertemplates/7a022382-8d0a-4289-880d-d2a432494b02"
"CreationTime":"2013-02-25T09:39:23Z"
"Language":"1033"
"DisplayName":"System Call Handler Template"
"UseDefaultLanguage":"true"
"UseDefaultTimeZone":"true"
"Undeletable":"true"
"LocationObjectId":"cff1347e-87af-4409-bead-d1970625f82e"
"LocationURI":"/vmrest/locations/connectionlocations/cff1347e-87af-4409-bead-
d1970625f82e"
"EditMsg":"true"
"IsPrimary":"false"
"MaxMsgLen":"300"
"OneKeyDelay":"1500"
"ScheduleSetObjectId":"5fc5a5d7-eaf6-4f4d-80cf-f76f3893ac0e"
"ScheduleSetURI":"/vmrest/schedulesets/5fc5a5d7-eaf6-4f4d-80cf-f76f3893ac0e"
"SendUrgentMsg":"0"
"IsTemplate":"true"
"ObjectId":"7a022382-8d0a-4289-880d-d2a432494b02"
"TenantObjectId": "fe6541fb-b42c-44f2-8404-ded14cbf7438",
"RecipientDistributionListObjectId":"dea18b5b-4493-4715-a558-cb85778fd823"
"RecipientDistributionListURI":"/vmrest/distributionlists/dea18b5b-4493-4715-a558-
cb85778fd823"
"AfterMessageAction":"2"
"AfterMessageTargetConversation":"PHGreeting"
"AfterMessageTargetHandlerObjectId":"c6af281b-dc8b-45b4-a1e9-eccc523d5fb2"
"TimeZone":"190"
"MediaSwitchObjectId":"0ad0b88c-4a70-4cf7-913e-d5d7a921caca"
"PhoneSystemURI":"/vmrest/phonesystems/0ad0b88c-4a70-4cf7-913e-d5d7a921caca"
"UseCallLanguage":"true"
"SendSecureMsg":"false"
"EnablePrependDigits":"false"
"DispatchDelivery":"false"
"CallSearchSpaceObjectId":"2e836e16-f715-4a18-bb7c-ee5e33281706"
"CallSearchSpaceURI":"/vmrest/searchspaces/2e836e16-f715-4a18-bb7c-
ee5e33281706"
"InheritSearchSpaceFromCall":"true"
"PartitionObjectId":"97bf6afe-346e-4275-967e-43c50be79d32"
"PartitionURI":"/vmrest/partitions/97bf6afe-346e-4275-967e-43c50be79d32"
"PlayPostGreetingRecording":"0"
"SendPrivateMsg":"0"
"PlayAfterMessage":"1"
"GreetingsURI":"/vmrest/callhandlertemplates/7a022382-8d0a-4289-880d-
d2a432494b02/templategreetings"
"TransferOptionsURI":"/vmrest/callhandlertemplates/7a022382-8d0a-4289-880d-
d2a432494b02/templatetransferoptions"
"MenuEntriesURI":"/vmrest/callhandlertemplates/7a022382-8d0a-4289-880d-
d2a432494b02/templatemenuentries"
}
]
}
Response Code: 200
Listing Specific Tenant Related Call Handler Templates by System Administrator
In Cisco Unity Connection 10.5(2) and later, the system administrator can use TenantObjectID to list the
specific tenant related call handler templates using the following URI:
Cisco Unity Connection Provisioning Interface (CUPI) API
401
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Listing Specific Tenant Related Call Handler Templates by System Administrator
Page 434
GET https://<connection-server>/vmrest/callhandlertemplates?query=(TenantObjectId is
<Tenant-ObjectId>)
To get the TenantObjectID, use the following URI:
GET https://<connection-server>/vmrest/tenants
Viewing the Details of Specific Call Handler Template
The following is an example of the GET request that lists the details of specific call handler template represented
by the provided value of call handler template object ID:
GET https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
402
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Viewing the Details of Specific Call Handler Template
Page 435
<CallhandlerTemplate>
<URI>/vmrest/callhandlertemplates/edcd2336-2c01-49d1-89ff-8746466e0a5e</URI>
<CreationTime>2013-01-12T11:40:19Z</CreationTime>
<Language>1033</Language>
<DisplayName>CallHandler1</DisplayName>
<UseDefaultLanguage>false</UseDefaultLanguage>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<Undeletable>false</Undeletable>
<LocationObjectId>22646a82-1f17-4b42-beec-9cdfd69508c5</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/22646a82-1f17-4b42-beec-
9cdfd69508c5</LocationURI>
<EditMsg>true</EditMsg>
<IsPrimary>false</IsPrimary>
<MaxMsgLen>300</MaxMsgLen>
<OneKeyDelay>1500</OneKeyDelay>
<ScheduleSetObjectId>10fee566-b137-4652-a378-db8a872a161d</ScheduleSetObjectId>
<ScheduleSetURI>/vmrest/schedulesets/10fee566-b137-4652-a378-
db8a872a161d</ScheduleSetURI>
<SendUrgentMsg>0</SendUrgentMsg>
<IsTemplate>true</IsTemplate>
<ObjectId>edcd2336-2c01-49d1-89ff-8746466e0a5e</ObjectId>
<RecipientSubscriberObjectId>f74c4f98-598e-4c47-bf1a-
2b78fc2c2953</RecipientSubscriberObjectId>
<RecipientUserURI>/vmrest/users/f74c4f98-598e-4c47-bf1a-2b78fc2c2953</RecipientUserURI>
<AfterMessageAction>1</AfterMessageAction>
<TimeZone>190</TimeZone>
<MediaSwitchObjectId>abf4b7d1-89d5-45c2-bdc8-d3b13f5040f5</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/abf4b7d1-89d5-45c2-bdc8-
d3b13f5040f5</PhoneSystemURI>
<UseCallLanguage>false</UseCallLanguage>
<SendSecureMsg>false</SendSecureMsg>
<EnablePrependDigits>false</EnablePrependDigits>
<DispatchDelivery>false</DispatchDelivery>
<CallSearchSpaceObjectId>f3beb4e4-0be5-417f-9491-e233c6d4a40e</CallSearchSpaceObjectId>
<CallSearchSpaceURI>/vmrest/searchspaces/f3beb4e4-0be5-417f-9491-
e233c6d4a40e</CallSearchSpaceURI>
<InheritSearchSpaceFromCall>true</InheritSearchSpaceFromCall>
<PartitionObjectId>5ec15c45-ace9-41ad-a6c4-b56081c79717</PartitionObjectId>
<PartitionURI>/vmrest/partitions/5ec15c45-ace9-41ad-a6c4-b56081c79717</PartitionURI>
<PlayPostGreetingRecording>0</PlayPostGreetingRecording>
<SendPrivateMsg>0</SendPrivateMsg>
<PlayAfterMessage>1</PlayAfterMessage>
<GreetingsURI>/vmrest/callhandlertemplates/edcd2336-2c01-49d1-89ff-
8746466e0a5e/templategreetings</GreetingsURI>
<TransferOptionsURI>/vmrest/callhandlertemplates/edcd2336-2c01-49d1-89ff-
8746466e0a5e/templatetransferoptions</TransferOptionsURI>
<MenuEntriesURI>/vmrest/callhandlertemplates/edcd2336-2c01-49d1-89ff-
8746466e0a5e/templatemenuentries</MenuEntriesURI>
</CallhandlerTemplate>
Response Code: 200
JSON Example
To view a specific call handler template, do the following:
Request URI:
GET: https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>
Accept: application/json
Connection: keep_alive
Cisco Unity Connection Provisioning Interface (CUPI) API
403
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Viewing the Details of Specific Call Handler Template
Page 436
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"URI":"/vmrest/callhandlertemplates/93b8ada5-c92f-47e6-8d24-9c269293d63c"
"CreationTime":"2013-02-26T06:45:09Z"
"Language":"1033"
"DisplayName":"Call_Handler1"
"UseDefaultLanguage":"true"
"UseDefaultTimeZone":"false"
"Undeletable":"false"
"LocationObjectId":"cff1347e-87af-4409-bead-d1970625f82e"
"LocationURI":"/vmrest/locations/connectionlocations/cff1347e-87af-4409-bead-
d1970625f82e"
"EditMsg":"true"
"IsPrimary":"false"
"MaxMsgLen":"500"
"OneKeyDelay":"1500"
"ScheduleSetObjectId":"5c42abd2-84a5-4fcf-84cf-d0a19c70f207"
"ScheduleSetURI":"/vmrest/schedulesets/5c42abd2-84a5-4fcf-84cf-d0a19c70f207"
"SendUrgentMsg":"1"
"IsTemplate":"true"
"ObjectId":"93b8ada5-c92f-47e6-8d24-9c269293d63c"
"RecipientDistributionListObjectId":"8337a757-b074-42ff-85bd-acda2dfd5d28"
"RecipientDistributionListURI":"/vmrest/distributionlists/8337a757-b074-42ff-85bd-
acda2dfd5d28"
"AfterMessageAction":"2"
"AfterMessageTargetConversation":"AD"
"AfterMessageTargetHandlerObjectId":"4783cb28-79a6-409a-bf57-18f8208b4e61"
"TimeZone":"190"
"MediaSwitchObjectId":"343dc222-2d1a-4a19-a5b6-894725542475"
"PhoneSystemURI":"/vmrest/phonesystems/343dc222-2d1a-4a19-a5b6-894725542475"
"UseCallLanguage":"true"
"SendSecureMsg":"false"
"EnablePrependDigits":"false"
"DispatchDelivery":"true"
"CallSearchSpaceObjectId":"2e836e16-f715-4a18-bb7c-ee5e33281706"
"CallSearchSpaceURI":"/vmrest/searchspaces/2e836e16-f715-4a18-bb7c-ee5e33281706"
"InheritSearchSpaceFromCall":"true"
"PartitionObjectId":"44bdcf73-d5c1-4866-957d-fb35686cbe76"
"PartitionURI":"/vmrest/partitions/44bdcf73-d5c1-4866-957d-fb35686cbe76"
"PlayPostGreetingRecording":"2"
"SendPrivateMsg":"0"
"PlayAfterMessage":"2"
"GreetingsURI":"/vmrest/callhandlertemplates/93b8ada5-c92f-47e6-8d24-
9c269293d63c/templategreetings"
"TransferOptionsURI":"/vmrest/callhandlertemplates/93b8ada5-c92f-47e6-8d24-
9c269293d63c/templatetransferoptions"
}
Response Code: 200
Creating a New Call Handler Template
Mandatory parameters are:
• Display Name
• Phone System - Fetch phone systems using URI: https://<connection-server>/vmrest/phonesystems
• Message recipient - The message recipient can be a distribution list or a user. Use the following URI to
fetch users or distribution lists respectively.
Cisco Unity Connection Provisioning Interface (CUPI) API
404
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Creating a New Call Handler Template
Page 437
• https://<connection-server>/vmrest/users
• https://<connection-server>/vmrest/distributionlists
The following is an example of the POST request that creates a new call handler template:
POST https://<connection-server>/vmrest/callhandlertemplates
Request Body:
<CallhandlerTemplate>
<DisplayName>System Call Handler Template1</DisplayName>
<RecipientSubscriberObjectId>f74c4f98-598e-4c47-bf1a-
2b78fc2c2953</RecipientSubscriberObjectId>
<MediaSwitchObjectId>abf4b7d1-89d5-45c2-bdc8-d3b13f5040f5</MediaSwitchObjectId>
</CallhandlerTemplate>
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
JSON Example
To create a new call handler template, do the following:
Request URI:
POST: https://<connection-server>/vmrest/callhandlertemplates
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"DisplayName":"Tenant",
"RecipientDistributionListObjectId":"8337a757-b074-42ff-85bd-acda2dfd5d28",
"MediaSwitchObjectId":"343dc222-2d1a-4a19-a5b6-894725542475"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
Delete the Call Handler Template
The following is an example of the DELETE request that can be used to delete a call handler template:
DELETE https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
JSON Example
To delete a call handler template, do the following:
Cisco Unity Connection Provisioning Interface (CUPI) API
405
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Delete the Call Handler Template
Page 438
Request URI:
DELETE:
https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>
Accept: application/json
Connection: keep_alive
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
Assigning a Schedule to a Call Handler Template
The following is an example of the PUT request that can be used to assign a schedule to a call handler template:
PUT https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>
The ScheduleSetObjectId can be fetched using the URI
https://<connection-server>/vmrest/schedulesets.
<CallhandlerTemplate>
<ScheduleSetObjectId>eb11c6cc-fc9e-4651-8c01-8f0b2e421918</ScheduleSetObjectId>
</CallhandlerTemplate>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
To assign a schedule to a call handler template, do the following:
Request URI:
PUT: https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>
Accept: application/json
Content_type: application/json
Connection: keep_alive
{
"ScheduleSetObjectId":"5c42abd2-84a5-4fcf-84cf-d0a19c70f207"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Updating Partition of the Call Handler Template
This PUT request can be used to assign partition to a call handler template.
PUT https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>
To fetch PartitionObjectId, use the URI https://<connection-server>/vmrest/partitions.
Cisco Unity Connection Provisioning Interface (CUPI) API
406
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Assigning a Schedule to a Call Handler Template
Page 439
<CallhandlerTemplate>
<PartitionObjectId>46a0377b-00d7-40a0-8738-81106fc730ea</PartitionObjectId>
</CallhandlerTemplate>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
To update partition of call handler template, do the following:
<pre>
PUT: https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>
Accept: application/json
Content_type: application/json
Connection: keep_alive
</pre>
{
"PartitionObjectId":"fe2fe907-bdcb-416e-89b7-c1bb130d0f98"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Updating Language Option of the Call Handler Template
This PUT request can be used to update language for a call handler template. To know languages installed on
the server following URI can be used:
PUT https://<connection-server>/vmrest/installedlanguages
PUT https://<connection-server>/vmrest/callhandlertemplates<callhandlertemplate-objectid>
Example 1: The Inherit language field from the call is selected but the UseDefaultLanguage field is not
updated
<CallhandlerTemplate>
<UseDefaultLanguage>true</UseDefaultLanguage>
<UseCallLanguage>false</UseCallLanguage>
</CallhandlerTemplate>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
The Inherit Language field from the call is selected but this the UseDefaultLanguage field is not updated in
the database as the language field is missing as the Language field is NULL and UseDefaultLanguage is by
default set to TRUE.
Note
Cisco Unity Connection Provisioning Interface (CUPI) API
407
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Updating Language Option of the Call Handler Template

Page 440
Example 2: The Inherit language field from the call is selected and the UseDefaultLanguage field is
updated
Request Body:
<CallhandlerTemplate>
<UseCallLanguage>true</UseCallLanguage>
<UseDefaultLanguage>false</UseDefaultLanguage>
<Language>1033</Language>
</CallhandlerTemplate>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
The Inherit Language field from the call is selected but the UseDefaultLanguage field is updated in the database
as the Language field is specified. The Inherit Language field from the call is selected but the
UseDefaultLanguage field is updated in the database as the Language field is specified. Language code for
installed language can be fetched from: https://<connection-server>/vmrest/installedlanguages Language code
can be fetched from the URI: https://<connection-server>/vmrest/languagemap The below table specify the
details of value for each field:
Note
Description
Language
UseDefaultLanguage
UseCallLanguage
This will select the default language.
Null/Language
Code
true
false
This will inherit the language from user.
Null/Language
Code
true/false
true
This will select the particular language as
per the code.
Language Code
false
false
JSON Example
To update language option of call handler template, do the follwoing:
Request URI:
PUT: https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"UseCallLanguage":"true",
"UseDefaultLanguage":"false",
"Language":"1033"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
408
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Updating Language Option of the Call Handler Template

Page 441
Updating Timezone of a Call Handler Template
This PUT request can be used to update timezone for a call handler template. It can be set to default or particular
timezone. The mandatory fields for this request are:
• UseDefaultTimeZone
• TimeZone
To know timzones installed on the server following URI can be used:
https://<connection-server>/vmrest/timezones
PUT https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>
Request Body:
<CallhandlerTemplate>
<UseDefaultTimeZone>false</UseDefaultTimeZone>
<TimeZone>190</TimeZone>
</CallhandlerTemplate>
Response Code: 204
JSON Example
To update timezone of call handler template, do the following:
Request URI:
PUT: https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"UseDefaultTimeZone":"false",
"TimeZone":"190"
}
Response Code: 204
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Explanation of Data Fields
Comments
Data
Type
Operations
Parameter
Call Handler Template URI
String
Read Only
URI
Specifies the after message action.Possible Values Refer to
the table 1 under the section Enum Type as given at the end
of the document
Default value:1
Integer
Read/Write
AfterMessageAction
Cisco Unity Connection Provisioning Interface (CUPI) API
409
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Updating Timezone of a Call Handler Template
Page 442
Comments
Data
Type
Operations
Parameter
Specifies DisplayName of the conversation to go to after
taking a message.
Possible Values Refer to the table 11 under the section Enum
type as given at the end of document.
String
Read/Write
AfterMessageTargetConversation
The Unique Identifier of the call action object that Cisco
Unity Connection performs after taking a message.
String(36)
Read/Write
AfterMessageTargetHandlerObjectId
Is present only if a search space is selected.
URI To fetch possible values of CallSearchspaceObjectId
:https://<connection-server>//vmrest/searchspaces
String(36)
Read/Write
CallSearchspaceObjectId
URL for search spaces
String
Read Only
CallSearchSpaceURI
Specifies the creation date and time of the call handler.
Format: YYYY-MM-DDThh:mm:ssZ. The default value
is the current system date and time
Datetime
Read Only
CreationTime
A flag indicating that all messages left for the call handler
is for dispatch delivery.
Possible Values
• false:- specifies no dispatch delivery.
• true:- specifies dispatch delivery.
Default value is false
Boolean
Read/Write
DispatchDelivery
Name of the Call Handler Template
String(64)
Read/Write
DisplayName
A flag that determines whether the caller can edit messages.
Possible Values
• false : Callers cannot edit messages
• true : Callers can edit messages
Default value is true.
Boolean
Read/Write
EditMsg
Specifies if Prepend Digits to Dialed Extensions is enabled.
Possible Values
• false:- System will not prepend digits when dialing the
transfer extension
• true:- System will prepend digits when dialing the
transfer extension
Default value is false
Boolean
Read/Write
EnablePrependDigits
Cisco Unity Connection Provisioning Interface (CUPI) API
410
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Explanation of Data Fields
Page 443
Comments
Data
Type
Operations
Parameter
Specifies if the search space is to be inherited from the call.
Possible Values:
• true:- Inherit from call.
• false:- Do not inherit from call.
Default value is true
Boolean
Read/Write
InheritSeachSpaceFromCall
A flag indicating whether this is a "primary" call handler
for a subscriber, or an "application" call handler.
Note:- Each subscriber is associated with a call handler,
which is referred to as the "primary call handler" for that
subscriber. An "application call handler" is just a normal
call handler.
Possible Values:
• false: Not a primary call handler
• true: Primary call handler
Default value is false.
Boolean
Read Only
IsPrimary
Used to provide default values for selected columns when
creating new call handlers.
Possible Values:
• false: Not a template
• true: Is a template
Default value is true
Boolean
Read Only
IsTemplate
The Windows Locale ID (LCID) which identifies the
language that Cisco Unity Connection plays the handler
system prompts.
Integer
Read/Write
Language
The unique identifier of the Location object to which this
handler belongs.
String(36)
Read Only
LocationObjectId
Specifies the URI of locations
String
Read Only
LocationURI
The maximum recording length (in seconds) for messages
left by unidentified callers. This value is used when the call
handler is set to an action of "Take Message" (either by an
after greeting action in the messagingrule table or via a user
input action in the menuentry table. This value only gets
applied to unidentified callers leaving a message. This value
is not used for subscriber-subscriber messaging. Instead the
COS for the calling subscriber determines the maximum
recorded message length.
Possible Values: Range 1-3600
default value is 300
Integer
Read/Write
MaxMsgLen
Cisco Unity Connection Provisioning Interface (CUPI) API
411
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Explanation of Data Fields
Page 444
Comments
Data
Type
Operations
Parameter
Specifies the object Id of the Phone System the call handler
belongs to.
URI To fetch MediaSwitchObjectId
:https://<connection-server>/vmrest/phonesystems
String(36)
Read/Write
MediaSwitchObjectId
Specifies the URI of Phone Systems
String
Read Only
PhoneSystemURI
Object Id of the Call Handler Template.
String(36)
Read Only
ObjectId
The unique identifier of the tenant to which the call handler
templates belong. This field is reflected in the response only
if the call handler template belong to a particular tenant.
String(36)
Read Only
TenantObjectId
The amount of time (in milliseconds) that Cisco Unity
Connection waits for additional input after callers press a
single key that is not locked. If there is no input within this
time, Cisco Unity Connection performs the action assigned
to the single key. When a caller interrupts a greeting with
a digit, Cisco Unity Connection will wait this number of
milliseconds to see if they are going to enter more digits.
Once this timeout is reached (or the caller terminates the
input with a #), Cisco Unity Connection will do a look-up
of the resulting string of numbers for a match with a
DTMFAccessID value in the dialing domain. If a match is
found, the call is sent to the matching object. If no match
is found, the "Error greeting" for the call handler is invoked.
If a key is "locked" then this value does not apply. Instead
action is taken immediately on that key instead of allowing
more digits. A value of 0 disables one key input.
Possible Values: Range:- 0 - 10000 Default value is1500
Integer
Read/Write
OneKeyDelay
Specifies the object Id of the partition the Call Handler
belongs to.
URI To fetch PartitionObjectId
:https://<connection-server>/vmrest/partitions
String(36)
Read/Write
PartitionObjectId
Specifies the URI of partitions.
String
Read Only
PartitionURI
Specifies what should be played after the message
Possible Values: Refer to the table 3 under the section Enum
Type as given at the end of the document Default Value:1
Integer
Read/Write
PlayAfterMessage
Object Id of the recording.
URI To fetch its value
:https://<connection-server>/vmrest/postgreetingrecordings
from above URI get objectid.
String(36)
Read/Write
PlayAfterMessageRecodingObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
412
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Explanation of Data Fields
Page 445
Comments
Data
Type
Operations
Parameter
Indicates whether the recording referenced by
PostGreetingRecordingObjectId should be played.
Possible Values: Refer to the table 2 under the section Enum
type as given at the end of document. Default value is 0
Integer
Read/Write
PlayPostGreetingReording
Specifies the object Id of the Post Greeting recording.
URI To fetch its value:
https://<connection-server>/vmrest/postgreetingrecordings
from above URI get objectid.
String(36)
Read/Write
PostGreetingRecordingObjectId
URI of the Post Greeting Recording
String
Read Only
PostGreetingURI
Touch-Tone digits to be prepended to extension when
dialing transfer number ( #, 0,1...9,*). Digits, plus, hash and
asterisk only are allowed
String
Read/Write
PrependDigits
Object Id of the distribution list that is the message recipient.
URI To fetch its value: https://<connection-server>/vmrest/
from above URI get objectid.
String(36)
Read/Write
RecipientDistributionListObjectId
URI of distribution lists
String
Read Only
RecipientDistributaionListURI
Object id of a User with a mailbox that is the message
recipient.
String(36)
Read/Write
RecipientSubscriberObjectId
Object Id of the schedule set assigned to the Call Handler.
String(36)
Read/Write
SchduleSetObjectId
Specifies the URI of schedule sets.
String
Read Only
SchduleSetURI
Determines if an outside caller can mark their message as
private.
Possible Values: Refer to the table 4 under the section Enum
type as given at the end of document. Default value is 0
Integer
Read/Write
SendPrivateMsg
A flag indicating whether an unidentified caller can mark
a message as "secure."
Default value is false
Boolean
Read/Write
SendSecureMsg
A flag indicating whether an unidentified caller can mark
a message as "urgent."
Possible Values: Refer to the table 5 under the section Enum
type as given at the end of document. Default value is
0(Never)
Integer
Read/Write
SendUrgentMsg
Used when the UseDefaultTimezone is set to false. To know
the Integer Time Zone codes for the Time Zones installed
on the server following URI can be used:
https://<connection-server>/vmrest/timezones
Example: 190 is the code for (GMT+05:30) Asia/Kolkata
Integer
Read/Write
TimeZone
Cisco Unity Connection Provisioning Interface (CUPI) API
413
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Explanation of Data Fields
Page 446
Comments
Data
Type
Operations
Parameter
A flag indicating whether Cisco Unity Connection will use
the language assigned to the call.
Possible values:
• true
• false
Default value is true
Boolean
Read/Write
UseCallLanguage
A flag that is dependent on the value of Language Field. if
Language is set to Null, UseDefaultLanguage is set to true.if
any language is specified, UseDefaultLanguage is set to
false
Boolean
Read/Write
UseDefaultLanguage
A flag indicating whether Cisco Unity Connection will use
the system default Time Zone.
Possible values:
• true
• false
Default value is false
Boolean
Read/Write
UseDefaultTimeZone
Specifies the URI of greetings.
String
Read Only
GreetingsURI
Specifies the URI of transfer options.
String
Read Only
TransferOptionsURI
Specifies the URI of menu entries.
String
Read Only
MenuEntriesURI
Cisco Unity Connection Provisioning Interface (CUPI) API --
Enumeration Types
Enumeration Type
Call Actions
Description
Value
Name
Ignore - no action taken.
0
Ignore
Hangup - the call is immediately terminated.
1
Hangup
Goto - go to an object such as a call handler, directory handler or interview handler.
2
Goto
Error - play the error greeting.
3
Error
Take a message.
4
TakeMsg
Skip greeting.
5
SkipGreeting
Cisco Unity Connection Provisioning Interface (CUPI) API
414
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Cisco Unity Connection Provisioning Interface (CUPI) API -- Enumeration Types
Page 447
Description
Value
Name
RestartGreeting - restart greeting on current handler
6
RestartGreeting
Transfer to Alternate Contact Number
7
TransferAltContact
Route From Next Call Routing Rule
8
RouteFromNextRule
Play Post Greeting Recording
Description
Value
Name
Don't play the recording
0
No
Always play the configured recording
1
Always
Play the recording for external calls only
2
External
Play After Message Recording
Description
Value
Name
Don't play the recording
0
No
Play system default
1
Always
Play recording
2
Standard
Send Private Message
Description
Value
Name
No messages are marked private.
0
Never
All messages are marked private.
1
Always
Ask the outside caller if they wish to mark the message as private.
2
Ask
Send Urgent Message
Description
Value
Name
Messages left by unidentified calls are never marked urgent.
0
Never
All messages left by unidentified callers are marked urgent.
1
Always
Cisco Unity Connection asks unidentified callers whether to mark their messages urgent.
2
Ask
Cisco Unity Connection Provisioning Interface (CUPI) API
415
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Play Post Greeting Recording
Page 448
Play What
Description
Value
Name
Cisco Unity Connection plays a prerecorded greeting along
with the recorded name of the subscriber (for example, "Sorry,
<subscriber name> is not available"). If the subscriber does not
have a recorded name, Cisco Unity Connection plays the
subscriber extension instead. When a greeting is enabled but
not recorded, Cisco Unity Connection plays a prerecorded
system greeting.
0
SystemGreeting
Use a personal recording for the call handler (or subscriber).
This can be recorded over the phone or from the Cisco Unity
Connection Administration and CPCA administrative interfaces
on the call handler/subscriber.
1
Recorded Greeting
No greeting is played.
2
NoGreeting
Transfer Rule Action
Description
Value
Name
Cisco Unity Connection transfers the call to the call handler greeting.
0
PlayGreeting
Cisco Unity Connection transfers the call to the number in the "Extension" column in
tbl_TransferOption.
1
Transfer
Call Handler RNA Action
Description
Value
Name
After the number of rings (as defined by "TransferRings" column), pull back the call
and transfer the call to the appropriate greeting.
1
PlayGreeting
Release the call to the phone system.
0
Release
Call Handler Hold Mode
Description
Value
Name
Cisco Unity Connection prompts the caller to leave a message and allows the caller to dial
another extension.
0
No
Cisco Unity Connection plays a prompt indicating that the extension is busy. The caller is
put on hold. Note that this hold is not performed by the phone system.
1
Yes
Cisco Unity Connection gives the caller the options of holding, leaving a message, or dialing
another extension.
2
Ask
Cisco Unity Connection Provisioning Interface (CUPI) API
416
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Play What
Page 449
Transfer Type
Description
Value
Name
Listen for busy, ring no answer.
1
Supervised
Just let the switch to do the transfer, and do not stay on the line and take action on RNA
or busy.
0
Unsupervised
AfterMessageTargetConversation/ AfterGreetingTargetConversation/ TargetConversation
The AfterMessageTargetConversation/AfterGreetingTargetConversation/TargetConversation fields are
read/write, and can take the following values. Although it is not an enumeration type, only certain string values
are valid conversation names. For some conversations, it is required to specify their respective
TargetHandlerObjectIds as well AfterMessageHandlerObjectid, AfterGreetingHandlerObjectId, and
TargethandlerObjectId.
Target Handler
Description
Value
Directory Handler
Directory conversation
AD
Use or Call Handler
Transfer to a user or call handler
PHTransfer
Use or Call Handler
Play greeting of a user or call handler
PHGreeting
Interview Handler
Interview Conversation
PHInterview
NA
Forwards the call to the user's greeting if the forwarding
number matches a user
Attempt Forward
NA
Sends the call to a user's sign-in if the calling number
matches a user
Attempt SignIn
NA
Sends the call to a conversation for sending broadcast
messages
BroadcastMessageAdministrator
NA
Sends the call to a conversation allowing the caller to transfer
to a number they specify (assuming the restriction table
allows it).
SystemTransfer
NA
Sends the call to a conversation for checked-out hotel guests.
CheckedOutGuest
NA
Sends the call to a conversation allowing changing greetings
by phone.
GreetingsAdministrator
NA
Connects to Visual Voicemail.
ReverseTrapConv
NA
Sends the call to the sign-in conversation, which prompts
the user to enter their ID.
SubSignIn
NA
Sends the call to the live-record pilot number configured on
Call Manager.
ConvUtilsLiveRecord
NA
Sends the call to a conversation allowing the caller to transfer
to a number they specify (assuming the restriction table
allows it). However, requires user sign-in first, so unknown
callers cannot use it.
SubSysTransfer
Cisco Unity Connection Provisioning Interface (CUPI) API
417
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Transfer Type
Page 450
Greeting Type
Description
Greeting
Alternate - can be used for a variety of special situations, such as vacations, leave of absence, or
a holiday. An alternate greeting overrides all other greetings.
Alternate
Busy - plays when the extension is busy. A busy greeting overrides the standard, off hours, and
internal greetings.
Busy
Error - plays when a caller attempts to dial an extension that does not exist on the system during
a greeting.
Error
Internal - plays to internal callers only. An internal greeting overrides the standard and off hours
greetings.
Internal
Off hours - plays during the closed (non business) hours defined for the active schedule. An off
hours greeting overrides the standard greeting, and thus limits the standard greeting to the open
hours defined for the active schedule.
Off
Hours
Standard - plays at all times unless overridden by another greeting. You cannot disable the standard
greeting.
Standard
Holiday - plays when holiday schedule is encountered unless overridden by an alternate greeting.
Holiday
Cisco Unity Connection Provisioning Interface (CUPI) API --
Greetings APIs
Greetings API
The following URI can be used to view the user template object ID:
GET https://<connection-server>/vmrest/users/<user-objectid>
From the above URI, get the call handler object ID:
GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>
The following URI can be used to view the greetings:
GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings
The following URI can be used to view the alternate greeting:
GET
https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Alternate
The following URI can be used to view the busy greeting:
GET
https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Busy
The following URI can be used to view the error greeting:
Cisco Unity Connection Provisioning Interface (CUPI) API
418
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Greeting Type
Page 451
GET
https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Error
The following URI can be used to view the closed greeting:
GET
https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Off%20Hours
The following URI can be used to view the standard greeting:
GET
https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Standard
The following URI can be used to view the holiday greeting:
GET https://<connection-server>/vmrest/callhandlers/<CallhandlerObjectId>/greetings/Holiday
Listing the Greetings
The following is an example of the GET request that fetch the list of greetings:
GET https://<connection-server>/vmrest/ callhandlertemplates/<callhandlertemplate-
objectid>/templategreetings
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
419
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Listing the Greetings
Page 452
<TemplateGreetings total="2">
<TemplateGreeting>
<URI>/vmrest/callhandlertemplates/5f6e1043-5edf-4646-90ac-
836910ac1a4c/templategreetings/Alternate</URI>
<CallHandlerObjectId>5f6e1043-5edf-4646-90ac-836910ac1a4c</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/5f6e1043-5edf-4646-90ac-
836910ac1a4c</CallhandlerURI>
<IgnoreDigits>false</IgnoreDigits>
<PlayWhat>0</PlayWhat>
<RepromptDelay>2</RepromptDelay>
<Reprompts>0</Reprompts>
<TimeExpires>1972-01-01 00:00:00.0</TimeExpires>
<GreetingType>Alternate</GreetingType>
<AfterGreetingAction>4</AfterGreetingAction>
<PlayRecordMessagePrompt>true</PlayRecordMessagePrompt>
<EnableTransfer>false</EnableTransfer>
</TemplateGreeting>
<TemplateGreeting>
<URI>/vmrest/callhandlertemplates/5f6e1043-5edf-4646-90ac-
836910ac1a4c/templategreetings/Busy</URI>
<CallHandlerObjectId>5f6e1043-5edf-4646-90ac-836910ac1a4c</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/5f6e1043-5edf-4646-90ac-
836910ac1a4c</CallhandlerURI>
<IgnoreDigits>false</IgnoreDigits>
<PlayWhat>0</PlayWhat>
<RepromptDelay>2</RepromptDelay>
<Reprompts>0</Reprompts>
<TimeExpires>1972-01-01 00:00:00.0</TimeExpires>
<GreetingType>Busy</GreetingType>
<AfterGreetingAction>4</AfterGreetingAction>
<PlayRecordMessagePrompt>true</PlayRecordMessagePrompt>
<EnableTransfer>false</EnableTransfer>
</TemplateGreeting>
</TemplateGreetings>
Response Code: 200
JSON Example
To view the list of greetings, do the following:
Request URI:
GET:
https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>/templategreetings
Accept: appliaction/json
Conenction: keep_alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
420
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Listing the Greetings
Page 453
{
"@total":"2"
"TemplateGreeting": [
{
"URI":"/vmrest/callhandlertemplates/a2f8fb8f-68ee-4a17-90a0-
bff0308b5b1a/templategreetings/Alternate"
"CallHandlerObjectId":"a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a"
"CallhandlerURI":"/vmrest/handlers/callhandlers/a2f8fb8f-68ee-4a17-90a0-
bff0308b5b1a"
"IgnoreDigits":"false"
"PlayWhat":"0"
"RepromptDelay":"2"
"Reprompts":"0"
"TimeExpires":"1972-01-01 00:00:00.0"
"GreetingType":"Alternate"
"AfterGreetingAction":"4"
"PlayRecordMessagePrompt":"true"
"EnableTransfer":"false"
},
{
"URI":"/vmrest/callhandlertemplates/a2f8fb8f-68ee-4a17-90a0-
bff0308b5b1a/templategreetings/Busy"
"CallHandlerObjectId":"a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a"
"CallhandlerURI":"/vmrest/handlers/callhandlers/a2f8fb8f-68ee-4a17-90a0-
bff0308b5b1a"
"IgnoreDigits":"false"
"PlayWhat":"0"
"RepromptDelay":"2"
"Reprompts":"0"
"TimeExpires":"1972-01-01 00:00:00.0"
"GreetingType":"Busy"
"AfterGreetingAction":"4"
"PlayRecordMessagePrompt":"true"
"EnableTransfer":"false"
},
]
}
Response Code: 200
Viewing the Details of Specific Greeting
The following is an example of the GET request that lists the details of specific greeting:
GET https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-
objectid>/templategreetings/<Greetingname>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
421
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Viewing the Details of Specific Greeting
Page 454
<TemplateGreeting>
<URI>/vmrest/callhandlertemplates/5f6e1043-5edf-4646-90ac-
836910ac1a4c/templategreetings/Alternate</URI>
<CallHandlerObjectId>5f6e1043-5edf-4646-90ac-836910ac1a4c</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/5f6e1043-5edf-4646-90ac-
836910ac1a4c</CallhandlerURI>
<IgnoreDigits>false</IgnoreDigits>
<PlayWhat>0</PlayWhat>
<RepromptDelay>2</RepromptDelay>
<Reprompts>0</Reprompts>
<TimeExpires>1972-01-01 00:00:00.0</TimeExpires>
<GreetingType>Alternate</GreetingType>
<AfterGreetingAction>4</AfterGreetingAction>
<PlayRecordMessagePrompt>true</PlayRecordMessagePrompt>
<EnableTransfer>false</EnableTransfer>
</TemplateGreeting>
Response Code: 200
JSON Example
To view a specific greeting, do the following:
Request URI:
GET:
https://<connection-server>/vmrest/callhandlertemplates/<Callhandlertemplate-objectid>/templategreetings/<Greetingname>
Accept: application/json
Connection: keep_alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"URI":"/vmrest/callhandlertemplates/a2f8fb8f-68ee-4a17-90a0-
bff0308b5b1a/templategreetings/Alternate"
"CallHandlerObjectId":"a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a"
"CallhandlerURI":"/vmrest/handlers/callhandlers/a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a"
"IgnoreDigits":"false"
"PlayWhat":"0"
"RepromptDelay":"2"
"Reprompts":"0"
"TimeExpires":"1972-01-01 00:00:00.0"
"GreetingType":"Alternate"
"AfterGreetingAction":"4"
"PlayRecordMessagePrompt":"true"
"EnableTransfer":"false"
}
Response Code: 200
Updating a Greeting
The following is an example of the GET request that updates the details of specific greeting:
Cisco Unity Connection Provisioning Interface (CUPI) API
422
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Updating a Greeting
Page 455
PUT
https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>/templategreetings/<Greetingname>
Response Body:
<TemplateGreeting>
<PlayWhat>1</PlayWhat>
<PlayRecordMessagePrompt>true</PlayRecordMessagePrompt>
</TemplateGreeting>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
To update a particular greeting, do the following:
Request URI:
PUT:
https://<connection-server>/vmrest/callhandlertemplates/<Callhandlertemplate-objectid>/templategreetings/<Greetingname>
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"PlayWhat":"1",
"PlayRecordMessagePrompt":"true"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Explanation of Data Fields
Comments
Data
Type
Operations
Parameter
URI of greetings
String
Read
Only
URI
The unique identifier of the call handler object to which this
greeting rule belongs.
String
Read
Only
CallHandlerObjectId
URI of the call handler.
String
Read/Write
TemplateCallHandlerURI
Cisco Unity Connection Provisioning Interface (CUPI) API
423
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Explanation of Data Fields
Page 456
Comments
Data
Type
Operations
Parameter
A flag indicating whether Cisco Unity Connection takes
action in response to touchtone keys pressed by callers during
the greeting.
This column overrides all the Menu Entry settings when this
greeting is active. This has the same effect as setting all the
menu entry keys for this handler to "locked". It is a shorthand
way of locking callers into the greeting so they cannot get
out until it completes. Possible values:
• false: Caller input enabled during greeting
• true: Caller input ignored during greeting
Default Value: false
Boolean
Read/Write
IgnoreDigits
The source for the greeting when this greeting is active.
Refer to the section Enumeration Type.<<Link will be
mentioned later>> Default Value: 0
Integer
Read/Write
PlayWhat
The amount of time (in seconds) that Cisco Unity Connection
waits without receiving any input from a caller before Cisco
Unity Connection prompts the caller again. The range of this
field can vary from 0 to 100.
Possible values:
• 0: Do wait without receiving caller input and do not
replay greeting.
• 1 or greater: Wait this number of seconds without
receiving any input from the caller before playing the
greeting again.
Default Value: 2
Integer
Read/Write
RepromptDelay
The number of times to reprompt a caller. After the number
of times indicated here, Cisco Unity Connection performs
the after-greeting action.
This column is typically used when an audio text application
is expecting input from a caller. The range of this field can
vary from 0 to 100. Possible values:
• 0: Do not re-prompt - Cisco Unity Connection will play
the greeting once and then the after-greeting action is
taken.
• 1 or greater: Number of times to re-prompt.
The "RepromptDelay" value determines how many seconds
to wait in between replays. Default Value: 0
Integer
Read/Write
Reprompts
Cisco Unity Connection Provisioning Interface (CUPI) API
424
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Explanation of Data Fields
Page 457
Comments
Data
Type
Operations
Parameter
Specifies the greeting type. Refer to the section Enumeration
Type.<<Link will be mentioned later>>
Default value: Standard
String
Read
Only
GreetingType
The type of call action to take, e.g., hang-up, goto another
object, etc.
Refer to the section Enumeration Type.<<Link will be
mentioned later>> Default value: 4
Integer
Read/Write
AfterGreetingAction
Specifies the conversation to go to after the greeting is played.
Refer to the section Enumeration Type.<<Link will be
mentioned later>
String
Read/Write
AfterGreetingTargetConversation
The unique identifier of the call action object that Cisco Unity
Connection performs after the greeting is played.
String
Read/Write
AfterGreetingTargetHandlerObjectId
The date and time when the greeting rule expires. The
greeting rule is considered not expired (enabled), if the value
is NULL or a future date. The greeting rule is considered
expired (disabled), the value is in the past.
The "Enhanced Alternate Greeting" feature uses this column
to specify how long the subscriber wants their alternate
greeting enabled. The standard greeting rule should never be
disabled. The field is not displayed when the Greeting field
is enabled with no end date and end time.
DateTime
Read/Write
TimeExpires
A flag indicating whether the "Record your message at the
tone…" prompt prior to recording a message.
Values:
• true - Play Record Message prompt is enabled.
• false - Play Record prompt is disabled.
Default Value: true
Boolean
Read/Write
PlayRecordMessagePrompt
A flag indicating when an extension is dialed at the greeting
and the extension is not available whether to transfer to
another extension.
Values:
• true: Allows transfer
• false: Does not allow
Default Value: false
Boolean
Read/Write
EnableTransfer
Cisco Unity Connection Provisioning Interface (CUPI) API
425
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Explanation of Data Fields
Page 458
Cisco Unity Connection Provisioning Interface (CUPI) API --
Message Settings APIs
Message Settings APIs
Administrator can use this API to fetch the message settings.
Updating a Message Setting
The following is an example of the PUT request that updates the message settings:
PUT https://<connection-server>/vmrest/callhandlertemplates/<callhandler-objectid>
Request Body:
<CallhandlerTemplate>
<AfterMessageAction>2</AfterMessageAction>
<AfterMessageTargetConversation>SystemTransfer</AfterMessageTargetConversation>
</CallhandlerTemplate>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
To update message setting, do the following:
Request URI:
PUT:
https://<connection-server>/vmrest/callhandlertemplates/<calhandler-objectid>
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"AfterMessageAction":"2",
"AfterMessageTargetConversation":"SystemTransfer"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
426
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Settings APIs
Page 459
Cisco Unity Connection Provisioning Interface (CUPI) API --
Post Greeting Recordings APIs
Post Greeting Recordings APIs
Administrator can use this API to fetch the post greeting recordings. It can be used to fetch the list of post
greeting recordings and also a single instance of post greeting recordings.
Updating a Post Greeting Recordings
The following is an example of the PUT request that updates the post greeting recordings:
PUT https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>
Request Body:
<CallhandlerTemplate>
<PlayPostGreetingRecording>2</PlayPostGreetingRecording>
<PostGreetingRecordingObjectId>0c6ab589-f289-4d4b-b3b7-
e4ec96bb783e</PostGreetingRecordingObjectId>
</CallhandlerTemplate>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
To update post greeting recordings, do the following:
Request URI:
PUT: https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>
Accept: applicaiton/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"PlayPostGreetingRecording":"1",
"PostGreetingRecordingObjectId":"0c6ab589-f289-4d4b-b3b7-e4ec96bb783e"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
427
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Cisco Unity Connection Provisioning Interface (CUPI) API -- Post Greeting Recordings APIs
Page 460
Cisco Unity Connection Provisioning Interface (CUPI) API --
Transfer Rule APIs
TransferRulesAPIs
Administrator can use this API to fetch the transfer rules. It can be used to fetch the list of transfer rules and
also a single instance of transfer rules.
Listing the Transfer Rules
The following is an example of the GET request that fetch the list of transfer rules:
GET https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-
objectid>/templatetransferoptions
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
428
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Cisco Unity Connection Provisioning Interface (CUPI) API -- Transfer Rule APIs
Page 461
<TemplateTransferOptions total="2">
<TemplateTransferOption>
<URI>/vmrest/callhandlertemplates/5f6e1043-5edf-4646-90ac-
836910ac1a4c/templatetransferoptions/Alternate</URI>
<CallHandlerObjectId>5f6e1043-5edf-4646-90ac-836910ac1a4c</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/5f6e1043-5edf-4646-90ac-
836910ac1a4c</CallhandlerURI>
<TransferOptionType>Alternate</TransferOptionType>
<Action>0</Action>
<RnaAction>1</RnaAction>
<TransferAnnounce>false</TransferAnnounce>
<TransferConfirm>false</TransferConfirm>
<TransferDtDetect>false</TransferDtDetect>
<TransferHoldingMode>0</TransferHoldingMode>
<TransferIntroduce>false</TransferIntroduce>
<TransferRings>4</TransferRings>
<TransferScreening>false</TransferScreening>
<TransferType>0</TransferType>
<MediaSwitchObjectId>abf4b7d1-89d5-45c2-bdc8-
d3b13f5040f5</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/abf4b7d1-89d5-45c2-bdc8-
d3b13f5040f5</PhoneSystemURI>
<UsePrimaryExtension>true</UsePrimaryExtension>
<PlayTransferPrompt>true</PlayTransferPrompt>
<PersonalCallTransfer>false</PersonalCallTransfer>
<Enabled>true</Enabled>
</TemplateTransferOption>
<TemplateTransferOption>
<URI>/vmrest/callhandlertemplates/5f6e1043-5edf-4646-90ac-
836910ac1a4c/templatetransferoptions/Off Hours</URI>
<CallHandlerObjectId>5f6e1043-5edf-4646-90ac-836910ac1a4c</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/5f6e1043-5edf-4646-90ac-
836910ac1a4c</CallhandlerURI>
<TransferOptionType>Off Hours</TransferOptionType>
<Action>0</Action>
<RnaAction>1</RnaAction>
<TransferAnnounce>false</TransferAnnounce>
<TransferConfirm>false</TransferConfirm>
<TransferDtDetect>false</TransferDtDetect>
<TransferHoldingMode>0</TransferHoldingMode>
<TransferIntroduce>false</TransferIntroduce>
<TransferRings>4</TransferRings>
<TransferScreening>false</TransferScreening>
<TransferType>0</TransferType>
<MediaSwitchObjectId>abf4b7d1-89d5-45c2-bdc8-
d3b13f5040f5</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/abf4b7d1-89d5-45c2-bdc8-
d3b13f5040f5</PhoneSystemURI>
<UsePrimaryExtension>true</UsePrimaryExtension>
<PlayTransferPrompt>true</PlayTransferPrompt>
<PersonalCallTransfer>false</PersonalCallTransfer>
<Enabled>true</Enabled>
</TemplateTransferOption>
</TemplateTransferOptions>
Response Code: 200
JSON Example
To list the transfer rules, do the following:
Cisco Unity Connection Provisioning Interface (CUPI) API
429
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Listing the Transfer Rules
Page 462
Request URI:
GET:
https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>/templatetransferoptions
Accept: application/json
Connection: keep_alive
The following is the response from the above GET request and the actual response will
depend upon the information given by you:
{
"@total":"2"
"TemplateTransferOption":
[
{
"URI":"/vmrest/callhandlertemplates/e07ee639-bf8a-4c37-9d6a-
0b51beee65c7/templatetransferoptions/Alternate"
"CallHandlerObjectId":"e07ee639-bf8a-4c37-9d6a-0b51beee65c7"
"CallhandlerURI":"/vmrest/handlers/callhandlers/e07ee639-bf8a-4c37-9d6a-
0b51beee65c7"
"TransferOptionType":"Alternate"
"Action":"0"
"RnaAction":"1"
"TransferAnnounce":"false"
"TransferConfirm":"false"
"TransferDtDetect":"false"
"TransferHoldingMode":"0"
"TransferIntroduce":"false"
"TransferRings":"4"
"TransferScreening":"false"
"TransferType":"1"
"MediaSwitchObjectId":"f92e948f-6bd4-4891-ab8b-a3d930688305"
"PhoneSystemURI":"/vmrest/phonesystems/f92e948f-6bd4-4891-ab8b-a3d930688305"
"UsePrimaryExtension":"true"
"PlayTransferPrompt":"true"
"PersonalCallTransfer":"false"
"Enabled":"true"
},
{
"URI":"/vmrest/callhandlertemplates/e07ee639-bf8a-4c37-9d6a-
0b51beee65c7/templatetransferoptions/Off Hours"
"CallHandlerObjectId":"e07ee639-bf8a-4c37-9d6a-0b51beee65c7"
"CallhandlerURI":"/vmrest/handlers/callhandlers/e07ee639-bf8a-4c37-9d6a-
0b51beee65c7"
"TransferOptionType":"Off Hours"
"Action":"0"
"RnaAction":"1"
"TransferAnnounce":"false"
"TransferConfirm":"false"
"TransferDtDetect":"false"
"TransferHoldingMode":"0"
"TransferIntroduce":"false"
"TransferRings":"4"
"TransferScreening":"false"
"TransferType":"0"
"MediaSwitchObjectId":"f92e948f-6bd4-4891-ab8b-a3d930688305"
"PhoneSystemURI":"/vmrest/phonesystems/f92e948f-6bd4-4891-ab8b-a3d930688305"
"UsePrimaryExtension":"true"
"PlayTransferPrompt":"true"
"PersonalCallTransfer":"false"
"Enabled":"true"
}
]
}
Response Code: 200
Cisco Unity Connection Provisioning Interface (CUPI) API
430
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Listing the Transfer Rules
Page 463
Viewing the Details of Specific Transfer Rule
The following is an example of the GET request that lists the details of specific transfer rule:
GET https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-
objectId>/templatetransferoptions/<TransferOptionType>
The following is the response from the above GET request and the actual response will
depend upon the information given by you:
<TemplateTransferOption>
<URI>/vmrest/callhandlertemplates/5f6e1043-5edf-4646-90ac-
836910ac1a4c/templatetransferoptions/Alternate</URI>
<CallHandlerObjectId>5f6e1043-5edf-4646-90ac-836910ac1a4c</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/5f6e1043-5edf-4646-90ac-
836910ac1a4c</CallhandlerURI>
<TransferOptionType>Alternate</TransferOptionType>
<Action>0</Action>
<RnaAction>1</RnaAction>
<TransferAnnounce>false</TransferAnnounce>
<TransferConfirm>false</TransferConfirm>
<TransferDtDetect>false</TransferDtDetect>
<TransferHoldingMode>0</TransferHoldingMode>
<TransferIntroduce>false</TransferIntroduce>
<TransferRings>4</TransferRings>
<TransferScreening>false</TransferScreening>
<TransferType>0</TransferType>
<MediaSwitchObjectId>abf4b7d1-89d5-45c2-bdc8-d3b13f5040f5</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/abf4b7d1-89d5-45c2-bdc8-
d3b13f5040f5</PhoneSystemURI>
<UsePrimaryExtension>true</UsePrimaryExtension>
<PlayTransferPrompt>true</PlayTransferPrompt>
<PersonalCallTransfer>false</PersonalCallTransfer>
<Enabled>true</Enabled>
</TemplateTransferOption>
Response Code: 200
JSON Example
To view the details of a specific transfer rule, do the following:
Cisco Unity Connection Provisioning Interface (CUPI) API
431
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Viewing the Details of Specific Transfer Rule
Page 464
Request URI:
GET: https://<connection-server>/vmrest/callhandlertemplates/<Callhandlertemplate-
objectid>/templatetransferoptions/<TransferOptionType>
Accept: applciation/json
Connection: keep_alive
The following is the response from the above GET request and the actual response will
depend upon the information given by you:
{
"URI":"/vmrest/callhandlertemplates/e07ee639-bf8a-4c37-9d6a-
0b51beee65c7/templatetransferoptions/Alternate"
"CallHandlerObjectId":"e07ee639-bf8a-4c37-9d6a-0b51beee65c7"
"CallhandlerURI":"/vmrest/handlers/callhandlers/e07ee639-bf8a-4c37-9d6a-
0b51beee65c7"
"TransferOptionType":"Alternate"
"Action":"0"
"RnaAction":"1"
"TransferAnnounce":"false"
"TransferConfirm":"false"
"TransferDtDetect":"false"
"TransferHoldingMode":"0"
"TransferIntroduce":"false"
"TransferRings":"4"
"TransferScreening":"false"
"TransferType":"1"
"MediaSwitchObjectId":"f92e948f-6bd4-4891-ab8b-a3d930688305"
"PhoneSystemURI":"/vmrest/phonesystems/f92e948f-6bd4-4891-ab8b-a3d930688305"
"UsePrimaryExtension":"true"
"PlayTransferPrompt":"true"
"PersonalCallTransfer":"false"
"Enabled":"true"
}
Response Code: 200
Updating a Transfer Rule
The following is an example of the PUT request that updates a transfer rule:
PUT https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-
objectid>/templatetransferoptions/<TransferOptionType>
Request Body:
<TemplateTransferOption>
<Action>1</Action>
<Extension>1000</Extension>
<TimeExpires>2012-12-31 12:00:00.0</TimeExpires>
<Enabled>true</Enabled>
<PlayTransferPrompt>true</PlayTransferPrompt>
<TransferAnnounce>true</TransferAnnounce>
<TransferConfirm>true</TransferConfirm>
<TransferIntroduce>true</TransferIntroduce>
<TransferScreening>true</TransferScreening>
<TransferType>1</TransferType>
</TemplateTransferOption>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
Cisco Unity Connection Provisioning Interface (CUPI) API
432
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Updating a Transfer Rule
Page 465
To update a particular transfer rule, do the following:
GET: https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-
objectid>/templatetransferoptions/<TransferOptionType>
Accept: applciation/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"Action":"1",
"TimeExpires":"2012-12-31 12:00:00.0",
"Extension":"1002",
"PlayTransferPrompt":"true",
"TransferAnnounce":"true",
"TransferConfirm":"true"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Explanation of Data Fields
Comments
Data
Type
Operations
Parameters
URI of the call handler transfer options.
String
Read
Only
URI
Specifies the call handler object ID
String
Read
Only
CallHandlerTemplateObjectId
URI of the call handler being referenced.
String
Read
Only
CallHandlerTemplateURI
Specifies the transfer option type. There are 3 transfer option type
available:
• Alternate - in effect at all times, overrides standard and
offhours.
• OffHours - off or closed hours based on specified schedule.
• Standard - standard hours based on specified schedule.
String
Read
Only
TransferOptionType
Specifies the transfer rule action. Custom type is Transfer Rule
Action.
Refer to the section Enumeration Type.<<Link will be mentioned
later>> Default value: 0
Integer
Read/Write
Action
Action to take on Ring-No-Answer (RNA) condition.
Refer to the section Enumeration Type.<<Link will be mentioned
later>>
Integer
Read/Write
RnaAction
Cisco Unity Connection Provisioning Interface (CUPI) API
433
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Explanation of Data Fields
Page 466
Comments
Data
Type
Operations
Parameters
Rather than use a simple on and off scheme for enabling transfer
options and greetings, Cisco Unity Connection employs a date
scheme. If the value is NULL or a date is in the future then the
transfer option is considered enabled. If the date is sometime in the
past, then the transfer option is considered disabled.
The "Standard" transfer option should never be disabled. For primary
call handlers associated with subscribers, the "Alternate" transfer
option should always be enabled since subscribers have only one
transfer option used currently.
Datetime
Read/Write
TimeExpires
A flag indicating whether Cisco Unity Connection plays "transferring
call" when the subscriber answers the phone. This field requires a
"TransferType" of supervised (1).
Values can be:
• false: Do not say "Transferring call" when the subscriber
answers the phone
• true: Say "Transferring call" when the subscriber answers the
phone
Default value: false
Boolean
Read/Write
TransferAnnounce
Cisco Unity Connection Provisioning Interface (CUPI) API
434
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Explanation of Data Fields
Page 467
Comments
Data
Type
Operations
Parameters
The type of call transfer Cisco Unity Connection will perform -
supervised or unsupervised (also referred to as "Release to Switch"
transfer).
Requires a "TransferType" of supervised.
• Unsupervised transfer (also referred to as "Release to Switch"
transfer) - Cisco Unity Connection puts the caller on hold, dials
the extension, and releases the call to the phone system. When
the line is busy or is not answered, the phone system (not Cisco
Unity Connection) forwards the call to the subscriber or handler
greeting. To use "Unsupervised" transfer, call forwarding must
be enabled on the phone system
• Supervised transfer - Cisco Unity Connection acts as a
receptionist, handling the transfer. If the line is busy or the call
is not answered, Cisco Unity Connection (not the phone system)
forwards the call to the subscriber or handler greeting.
Supervised transfer can be used regardless if the phone system
forwards calls or not.
Typically TransferConfirm is used in conjunction with the call
screening option ("TransferScreening" column) enabled. This
combination enables the subscriber to hear the name of the caller
and then decide if they want to take the call or not. Default Value:
false. Values can be:
• false: Transfer confirm disabled
• true: Transfer confirm enabled
Default value: false
Boolean
Read/Write
TransferConfirm
A flag indicating whether Cisco Unity Connection will check for
dial tone before attempting to transfer the call. Requires a
"TransferType" of supervised (1).
This is usually used for phone systems that do not have "positive
disconnect" capabilities to avoid sending terminated calls to the
operator console, for instance. Possible values can be:
• false: Do not check for dial tone prior to transferring a call
• true: Check for dial tone prior to transferring a call
Default value:false
Boolean
Read/Write
TransferDtDetect
The action Cisco Unity Connection will take when the extension is
busy.
Requires a TransferType column value = "Supervised" (1). Default
Value: 0
Integer
Read/Write
TransferHoldingMode
Cisco Unity Connection Provisioning Interface (CUPI) API
435
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Explanation of Data Fields
Page 468
Comments
Data
Type
Operations
Parameters
A flag indicating whether Cisco Unity Connection will say "call for
<recorded name of the call handler>" when the subscriber answers
the phone.
Requires a "TransferType" of supervised (1). This functionality is
normally used when a single extension number is being shared by
multiple subscribers or a scenario where the subscriber who is the
message recipient takes calls for more than one dialed extension.
The introduction alerts the subscriber who answers that the call is
for the call handler. Default Value: false.
Boolean
Read/Write
TransferIntroduce
The number of times the extension rings before Cisco Unity
Connection considers it a "ring no answer" and plays the subscriber
or handler greeting.
Requires a "TransferType" of supervised (1). The value of this
column should never be less than 2 for a supervised transfer. The
range can vary from 2 to 20. Default Value: 4
Integer
Read/Write
TransferRings
A flag indicating whether Cisco Unity Connection will prompt callers
to say their names. When the phone is answered, the subscriber hears
"Call from…" before Cisco Unity Connection transfers the call.
Requires a "TransferType" of supervised (1). Normally this column
is used along with "TransferConfirm" to allow the subscriber to
screen calls. Values can be:
• false: Call screening disabled
• true: Ask and record caller name
Default Value: false
Boolean
Read/Write
TransferScreening
The type of call transfer Cisco Unity Connection will perform -
supervised or unsupervised (also referred to as "Release to Switch"
transfer).
• Unsupervised transfer (also referred to as "Release to Switch"
transfer) - Cisco Unity Connection puts the caller on hold, dials
the extension, and releases the call to the phone system. When
the line is busy or is not answered, the phone system (not Cisco
Unity Connection) forwards the call to the subscriber or handler
greeting. To use "Unsupervised" transfer, call forwarding must
be enabled on the phone system.
• Supervised transfer - Cisco Unity Connection acts as a
receptionist, handling the transfer. If the line is busy or the call
is not answered, Cisco Unity Connection (not the phone system)
forwards the call to the subscriber or handler greeting.
Supervised transfer can be used regardless if the phone system
forwards calls or not.
Default value: 0
Integer
Read/Write
TransferType
Cisco Unity Connection Provisioning Interface (CUPI) API
436
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Explanation of Data Fields
Page 469
Comments
Data
Type
Operations
Parameters
The unique identifier of the MediaSwitch object that Cisco Unity
Connection uses for transferring the call to the subscriber phone.
String
Read
Only
MediaSwitchObjectId
Specifies the URI of the phone systems
String
Read
Only
PhoneSystemURI
If extension is null this will be set to 1 (true) to indicate we are using
instead the DtmfAccessId for the owning handler or subscriber.
Possible Values:
• false
• true
Default value: true
Boolean
Read/Write
UsePrimaryExtension
If an administrator using Cisco Unity Connection Administration
chooses to transfer to the extension of a subscriber or call handler,
Cisco Unity Connection will automatically enter the DtmfAccessId
value pulled from the DtmfAccessId table for the call handler into
this column.
Note- Digits, hash, comma, asterisk, plus are allowed.
Integer
Read/Write
Extension
A flag indicating whether the "Wait while I transfer your call"
prompt should be played prior to transferring a call.
Values can be:
• true - Play Transfer prompt is enabled.
• false - Play transfer prompt is disabled.
Default Value: true
Boolean
Read/Write
PlayTransferprompt
A flag indicating whether or not Personal Call Transfer Rules are
used for the specific Transfer Option.
Values can be:
• false: Not enabled
• true: Enabled
Default value: false
Boolean
Read/Write
PersonalCallTransfer
Indicate whether the transfer option is enabled or not.To enable rule
till particular end date TimeExpires should also be specified and to
enable transfer rule with no end date, the TimeExpires field should
be empty.
Possible value:
• true: enabled
• false: disabled
Default value: true This means transfer rules are enabled with no
end date by default.
Boolean
Read/Write
Enabled
Cisco Unity Connection Provisioning Interface (CUPI) API
437
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Explanation of Data Fields
Page 470
Cisco Unity Connection Provisioning Interface (CUPI) API
438
Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template
Explanation of Data Fields
Page 471
C H A P T E R 36
Cisco Unity Connection Provisioning Interface
(CUPI) API for Distribution List
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Distribution List APIs, on page 439
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Distribution List Members APIs, on page
453
Cisco Unity Connection Provisioning Interface (CUPI) API --
Distribution List APIs
Distribution List APIs
Administrator can use this API to create/update/delete/fetch the distribution lists. You can update various
attributes of distribution list using this API. Also members in a distribution list can be added/deleted/fetched
using this API.
Listing the Distribution Lists
The following is an example of the GET request that fetch the list of distribution list:
GET https://<connection-server>/vmrest/distributionlists
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
439

Page 472
<DistributionLists total="3">
<DistributionList>
<URI>/vmrest/distributionlists/24865f76-fa95-412d-bc56-a48ef9e1531a</URI>
<ObjectId>24865f76-fa95-412d-bc56-a48ef9e1531a</ObjectId>
<Alias>undeliverablemessages</Alias>
<DisplayName>Undeliverable Messages</DisplayName>
<LocationObjectId>bbf3e6ed-0278-479c-9a6e-2da8756eeb6f</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-9a6e-
2da8756eeb6f</LocationURI>
<PartitionObjectId>d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b</PartitionObjectId>
<TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId>
<PartitionURI>/vmrest/partitions/d50e9d0b-656e-416d-b5b7-
43c4d2e2fd0b</PartitionURI>
<DistributionListMembersURI>/vmrest/distributionlists/24865f76-fa95-412d-bc56-
a48ef9e1531a/distributionlistmembers</DistributionListMembersURI>
<AlternateNamesURI>/vmrest/alternatenames?query=(DistributionListObjectId%20is%2
024865f76-fa95-412d-bc56-a48ef9e1531a)</AlternateNamesURI>
</DistributionList>
<DistributionList>
<URI>/vmrest/distributionlists/f3e492dc-822b-43fb-be2f-416b972fb642</URI>
<ObjectId>f3e492dc-822b-43fb-be2f-416b972fb642</ObjectId>
<Alias>allvoicemailusers</Alias>
<DisplayName>All Voice Mail Users</DisplayName>
<LocationObjectId>bbf3e6ed-0278-479c-9a6e-2da8756eeb6f</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-9a6e-
2da8756eeb6f</LocationURI>
<DtmfAccessId>99991</DtmfAccessId>
<PartitionObjectId>d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b</PartitionObjectId>
<PartitionURI>/vmrest/partitions/d50e9d0b-656e-416d-b5b7-
43c4d2e2fd0b</PartitionURI>
<DistributionListMembersURI>/vmrest/distributionlists/f3e492dc-822b-43fb-be2f-
416b972fb642/distributionlistmembers</DistributionListMembersURI>
<AlternateNamesURI>/vmrest/alternatenames?query=(DistributionListObjectId%20is%2
0f3e492dc-822b-43fb-be2f-416b972fb642)</AlternateNamesURI>
</DistributionList>
<DistributionList>
<URI>/vmrest/distributionlists/c34b145e-b1f4-40de-9031-bc83703f0b1c</URI>
<ObjectId>c34b145e-b1f4-40de-9031-bc83703f0b1c</ObjectId>
<Alias>allvoicemailenabledcontacts</Alias>
<DisplayName>All Voicemail-Enabled Contacts</DisplayName>
<LocationObjectId>bbf3e6ed-0278-479c-9a6e-2da8756eeb6f</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-9a6e-
2da8756eeb6f</LocationURI>
<DtmfAccessId>99992</DtmfAccessId>
<PartitionObjectId>d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b</PartitionObjectId>
<PartitionURI>/vmrest/partitions/d50e9d0b-656e-416d-b5b7-
43c4d2e2fd0b</PartitionURI>
<DistributionListMembersURI>/vmrest/distributionlists/c34b145e-b1f4-40de-9031-
bc83703f0b1c/distributionlistmembers</DistributionListMembersURI>
<AlternateNamesURI>/vmrest/alternatenames?query=(DistributionListObjectId%20is%20c34b145e-b1f4-40de-9031-bc83703f0b1c)</AlternateNamesURI>
</DistributionList>
</DistributionLists>
Response Code: 204
JSON Example
To get distribution lists, do the following:
Cisco Unity Connection Provisioning Interface (CUPI) API
440
Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List
Listing the Distribution Lists
Page 473
Request URI:
GET https://<connection-server>/vmrest/distributionlists
Accept: application /json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"@total":"2"
"DistributionList":[
{
"URI":"/vmrest/distributionlists/d9e61ace-3ece-4722-b331-ed57a73ef9eb"
"ObjectId":"d9e61ace-3ece-4722-b331-ed57a73ef9eb"
"Alias":"undeliverablemessages"
"DisplayName":"Undeliverable Messages"
"LocationObjectId":"830e1a2d-8e90-459f-88f7-700497ba975c"
"LocationURI":"/vmrest/locations/connectionlocations/830e1a2d-8e90-459f-88f7-700497ba975c"
"PartitionObjectId":"9c010254-1493-4e1a-9e47-fe2494792744"
"TenantObjectId":"fe6541fb-b42c-44f2-8404-ded14cbf7438"
"PartitionURI":"/vmrest/partitions/9c010254-1493-4e1a-9e47-fe2494792744"
"DistributionListMembersURI":"/vmrest/distributionlists/d9e61ace-3ece-4722-b331-ed57a73ef9eb/distributionlistmembers"
"AlternateNamesURI":"/vmrest/alternatenames?query=(DistributionListObjectId%20is%20d9e61ace-3ece-4722-b331-ed57a73ef9eb)"
}
{
"URI":"/vmrest/distributionlists/a1fcfd8b-8749-465b-abe1-b578a8565107"
"ObjectId":"a1fcfd8b-8749-465b-abe1-b578a8565107"
"Alias":"allvoicemailusers"
"DisplayName":"All Voice Mail Users"
"LocationObjectId":"830e1a2d-8e90-459f-88f7-700497ba975c"
"LocationURI":"/vmrest/locations/connectionlocations/830e1a2d-8e90-459f-88f7-700497ba975c"
"DtmfAccessId":"99991"
"PartitionObjectId":"9c010254-1493-4e1a-9e47-fe2494792744"
"PartitionURI":"/vmrest/partitions/9c010254-1493-4e1a-9e47-fe2494792744"
"DistributionListMembersURI":"/vmrest/distributionlists/a1fcfd8b-8749-465b-abe1-b578a8565107/distributionlistmembers"
"AlternateNamesURI":"/vmrest/alternatenames?query=(DistributionListObjectId%20is%20a1fcfd8b-8749-465b-abe1-b578a8565107)"
}
]
}
Response Code: 200
Listing Specific Tenant Related Distribution Lists by System Administrator
In Cisco Unity Connection 10.5(2) and later, the system administrator can use TenantObjectID to list the
specific tenant related distribution lists using the following URI:
GET https://<connection-server>/vmrest/distributionlists?query=(TenantObjectId is
<Tenant-ObjectId>)
To get the TenantObjectID, use the following URI:
Cisco Unity Connection Provisioning Interface (CUPI) API
441
Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List
Listing Specific Tenant Related Distribution Lists by System Administrator
Page 474
GET https://<connection-server>/vmrest/tenants
Viewing the Specific Distribution List
The following is an example of the GET request that lists the details of specific distribution list represented
by the provided value of distribution list object ID:
GET https://<connection-server>/vmrest/distributionlists/<distributionlistObjectId>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<DistributionList>
<URI>/vmrest/distributionlists/c34b145e-b1f4-40de-9031-bc83703f0b1c</URI>
<ObjectId>c34b145e-b1f4-40de-9031-bc83703f0b1c</ObjectId>
<Alias>allvoicemailenabledcontacts</Alias>
<CreationTime>2013-02-14T05:05:42Z</CreationTime>
<DisplayName>All Voicemail-Enabled Contacts</DisplayName>
<DtmfName>2558642362453622</DtmfName>
<IsPublic>true</IsPublic>
<Undeletable>true</Undeletable>
<VoiceName>d5814a39-94df-4498-acfd-93728a607be7.wav</VoiceName>
<VoiceFileURI>/vmrest/voicefiles/d5814a39-94df-4498-acfd-93728a607be7.wav</VoiceFileURI>
<VoiceNameURI>/vmrest/distributionlists/c34b145e-b1f4-40de-9031-
bc83703f0b1c/voicename</VoiceNameURI>
<LocationObjectId>bbf3e6ed-0278-479c-9a6e-2da8756eeb6f</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-9a6e-
2da8756eeb6f</LocationURI>
<DtmfAccessId>99992</DtmfAccessId>
<AllowContacts>true</AllowContacts>
<AllowForeignMessage>false</AllowForeignMessage>
<PartitionObjectId>d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b</PartitionObjectId>
<PartitionURI>/vmrest/partitions/d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b</PartitionURI>
<DistributionListMembersURI>/vmrest/distributionlists/c34b145e-b1f4-40de-9031-
bc83703f0b1c/distributionlistmembers</DistributionListMembersURI>
<AlternateNamesURI>/vmrest/alternatenames?query=(DistributionListObjectId%20is%20c34b14
5e-b1f4-40de-9031-bc83703f0b1c)</AlternateNamesURI>
</DistributionList>
Response Code: 200
JSON Example
To get a distribution list for a particular partitions, do the following:
Request URI:
GET https://<connection-server>/vmrest/distributionlists/<distributionlistObjectId>
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
442
Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List
Viewing the Specific Distribution List
Page 475
{
"URI":"/vmrest/distributionlists/d9e61ace-3ece-4722-b331-ed57a73ef9eb"
"ObjectId":"d9e61ace-3ece-4722-b331-ed57a73ef9eb"
"Alias":"undeliverablemessages"
"CreationTime":"2013-02-21T11:39:08Z"
"DisplayName":"Undeliverable Messages"
"DtmfName":"8633548372253637"
"IsPublic":"true"
"Undeletable":"true"
"VoiceName":"487e3db3-3782-4d30-a000-ef0d03ae22a2.wav"
"VoiceFileURI":"/vmrest/voicefiles/487e3db3-3782-4d30-a000-ef0d03ae22a2.wav"
"VoiceNameURI":"/vmrest/distributionlists/d9e61ace-3ece-4722-b331-
ed57a73ef9eb/voicename"
"LocationObjectId":"830e1a2d-8e90-459f-88f7-700497ba975c"
"LocationURI":"/vmrest/locations/connectionlocations/830e1a2d-8e90-459f-88f7-
700497ba975c"
"AllowContacts":"false"
"AllowForeignMessage":"false"
"PartitionObjectId":"9c010254-1493-4e1a-9e47-fe2494792744"
"PartitionURI":"/vmrest/partitions/9c010254-1493-4e1a-9e47-fe2494792744"
"DistributionListMembersURI":"/vmrest/distributionlists/d9e61ace-3ece-4722-b331-
ed57a73ef9eb/distributionlistmembers"
"AlternateNamesURI":"/vmrest/alternatenames?query=(DistributionListObjectId%20is%20d9e61
ace-3ece-4722-b331-ed57a73ef9eb)"
}
Response Code: 200
Getting the Distribution List Based on an Query
The following is an example of the GET request that lists the details of specific distribution list represented
by the provided value of partition object ID:
GET https://<connection-
server>/vmrest/distributionlists?query=(PartitionObjectId%20is%20<objectId of the
partition>)
Where the partition object Id can be fetched using the following request
GET https://<connection-server>/vmrest/partitions
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
443
Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List
Getting the Distribution List Based on an Query
Page 476
<DistributionLists total="3">
<DistributionList>
<URI>/vmrest/distributionlists/2fe64511-1b69-4d97-b27b-ef383af4b194</URI>
<ObjectId>2fe64511-1b69-4d97-b27b-ef383af4b194</ObjectId>
<Alias>undeliverablemessages</Alias>
<DisplayName>Undeliverable Messages</DisplayName>
<LocationObjectId>42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb-
8ddce4f430ff</LocationURI>
<PartitionObjectId>da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionObjectId>
<PartitionURI>/vmrest/partitions/da2114bf-cde7-43d8-9709-
cd3895a9d41b</PartitionURI>
<DistributionListMembersURI>/vmrest/distributionlists/2fe64511-1b69-4d97-b27b-
ef383af4b194/distributionlistmembers</DistributionListMembersURI>
<AlternateNamesURI>/vmrest/alternatenames?query=(DistributionListObjectId%20is%2
02fe64511-1b69-4d97-b27b-ef383af4b194)</AlternateNamesURI>
</DistributionList>
<DistributionList>
<URI>/vmrest/distributionlists/d37dfc67-04c2-48d3-9a7a-f2b316a09840</URI>
<ObjectId>d37dfc67-04c2-48d3-9a7a-f2b316a09840</ObjectId>
<Alias>allvoicemailusers</Alias>
<DisplayName>All Voice Mail Users</DisplayName>
<LocationObjectId>42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb-
8ddce4f430ff</LocationURI>
<DtmfAccessId>99991</DtmfAccessId>
<PartitionObjectId>da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionObjectId>
<PartitionURI>/vmrest/partitions/da2114bf-cde7-43d8-9709-
cd3895a9d41b</PartitionURI>
<DistributionListMembersURI>/vmrest/distributionlists/d37dfc67-04c2-48d3-9a7a-
f2b316a09840/distributionlistmembers</DistributionListMembersURI>
<AlternateNamesURI>/vmrest/alternatenames?query=(DistributionListObjectId%20is%2
0d37dfc67-04c2-48d3-9a7a-f2b316a09840)</AlternateNamesURI>
</DistributionList>
<DistributionList>
<URI>/vmrest/distributionlists/160da8fe-2171-4bf7-9009-e95db94f823e</URI>
<ObjectId>160da8fe-2171-4bf7-9009-e95db94f823e</ObjectId>
<Alias>allvoicemailenabledcontacts</Alias>
<DisplayName>All Voicemail-Enabled Contacts</DisplayName>
<LocationObjectId>42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb-
8ddce4f430ff</LocationURI>
<DtmfAccessId>99992</DtmfAccessId>
<PartitionObjectId>da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionObjectId>
<PartitionURI>/vmrest/partitions/da2114bf-cde7-43d8-9709-
cd3895a9d41b</PartitionURI>
<DistributionListMembersURI>/vmrest/distributionlists/160da8fe-2171-4bf7-9009-
e95db94f823e/distributionlistmembers</DistributionListMembersURI>
<AlternateNamesURI>/vmrest/alternatenames?query=(DistributionListObjectId%20is%2
0160da8fe-2171-4bf7-9009-e95db94f823e)</AlternateNamesURI>
</DistributionList>
</DistributionLists>
Response Code: 200
JSON Example
To get a particular distribution list, do the following:
Cisco Unity Connection Provisioning Interface (CUPI) API
444
Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List
Getting the Distribution List Based on an Query
Page 477
Request URI:
GET
https://<connection-server>/vmrest/distributionlists?query=(PartitionObjectId%20is%20<objectId
of the partition>)
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"@total":"3"
"DistributionList":[
{
"URI":"/vmrest/distributionlists/2fe64511-1b69-4d97-b27b-ef383af4b194"
"ObjectId":"2fe64511-1b69-4d97-b27b-ef383af4b194"
"Alias":"undeliverablemessages"
"DisplayName":"Undeliverable Messages"
"LocationObjectId":"42a9ab40-490d-4819-9bfb-8ddce4f430ff"
"LocationURI":"/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb-
8ddce4f430ff"
"PartitionObjectId":"da2114bf-cde7-43d8-9709-cd3895a9d41b"
"PartitionURI":"/vmrest/partitions/da2114bf-cde7-43d8-9709-cd3895a9d41b"
"DistributionListMembersURI":"/vmrest/distributionlists/2fe64511-1b69-4d97-b27b-
ef383af4b194/distributionlistmembers"
"AlternateNamesURI":"/vmrest/alternatenames?query=(DistributionListObjectId%20is%20
2fe64511-1b69-4d97-b27b-ef383af4b194)"
}
{
"URI":"/vmrest/distributionlists/d37dfc67-04c2-48d3-9a7a-f2b316a09840"
"ObjectId":"d37dfc67-04c2-48d3-9a7a-f2b316a09840"
"Alias":"allvoicemailusers"
"DisplayName":"All Voice Mail Users"
"LocationObjectId":"42a9ab40-490d-4819-9bfb-8ddce4f430ff"
"LocationURI":"/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb-
8ddce4f430ff"
"DtmfAccessId":"99991"
"PartitionObjectId":"da2114bf-cde7-43d8-9709-cd3895a9d41b"
"PartitionURI":"/vmrest/partitions/da2114bf-cde7-43d8-9709-cd3895a9d41b"
"DistributionListMembersURI":"/vmrest/distributionlists/d37dfc67-04c2-48d3-9a7a-
f2b316a09840/distributionlistmembers"
"AlternateNamesURI":"/vmrest/alternatenames?query=(DistributionListObjectId%20is%2
0d37dfc67-04c2-48d3-9a7a-f2b316a09840)"
}
{
"URI":"/vmrest/distributionlists/160da8fe-2171-4bf7-9009-e95db94f823e"
"ObjectId":"160da8fe-2171-4bf7-9009-e95db94f823e"
"Alias":"allvoicemailenabledcontacts"
"DisplayName":"All Voicemail-Enabled Contacts"
"LocationObjectId":"42a9ab40-490d-4819-9bfb-8ddce4f430ff"
"LocationURI":"/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb-
8ddce4f430ff"
"DtmfAccessId":"99992"
"PartitionObjectId":"da2114bf-cde7-43d8-9709-cd3895a9d41b"
"PartitionURI":"/vmrest/partitions/da2114bf-cde7-43d8-9709-cd3895a9d41b"
"DistributionListMembersURI":"/vmrest/distributionlists/160da8fe-2171-4bf7-9009-
e95db94f823e/distributionlistmembers"
"AlternateNamesURI":"/vmrest/alternatenames?query=(DistributionListObjectId%20is%2
0160da8fe-2171-4bf7-9009-e95db94f823e)"
}
}
}
Cisco Unity Connection Provisioning Interface (CUPI) API
445
Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List
Getting the Distribution List Based on an Query
Page 478
Response Code: 200
Creating a Distribution List
The following is an example of the POST request that creates a new distribution list where the mandatory
field is alias:
POST https://<connection-server>/vmrest/distributionlists
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Request Body:
<DistributionList>
<Alias>Texoma_allvoicemailusersDL_1 </Alias>
<DisplayName>Texoma_allvoicemailusersDL_1</DisplayName>
</DistributionList>
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/distributionlists/3049a03c-108d-40aa-a989-0b008f07656c
JSON Example
To create distribution list, do the following:
Request URI:
POST https://<connection-server>/vmrest/distributionlists
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"Alias":"Texoma1"
"DisplayName": "Texoma 1"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/distributionlists/dd043e9a-3f34-47eb-a72a-1b4b41e5f9d7
Delete the Distribution List
This request can be used to delete a distribution list.
DELETE: https://<connection-server>/vmrest/distributionlists/<distributionlistObjectId>
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
JSON Example
Cisco Unity Connection Provisioning Interface (CUPI) API
446
Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List
Creating a Distribution List
Page 479
To delete a distribution list, do the following:
DELETE https://<connection-server>/vmrest/distributionlists/<distributionlistObjectId>
Accept: application/json
Connection: keep-alive
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
Updating the Distribution List
The following is an example of the PUT request that can be used to update the distribution list by replicating
remote sites over inter-site links, adding contacts in distribution list, and accepting messages from foreign
systems.
PUT https://<connection-server>/vmrest/distributionlists/<distributionlistObjectId>
Example 1: Replicate to remote sites over inter-site links is enabled, disable add contacts in distribution list,
and disallow messages from users on remote voice messaging systems that are configured as VPIM locations.
Request Body:
<DistributionList>
<AllowContacts>false</AllowContacts>
<AllowForeignMessage>false</AllowForeignMessage>
</DistributionList>
Response Code: 204
JSON Example:
PUT https://<connection-server>/vmrest/distributionlists/<distributionlistObjectId>
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"AllowContacts":"false",
"AllowForeignMessage":"false"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Example 2: Replicate to remote sites over inter-site links is disabled, enable add contacts in distribution list,
and disallow messages from users on remote voice messaging systems that are configured as VPIM locations.
Request Body:
<DistributionList>
<AllowContacts>true</AllowContacts>
<AllowForeignMessage>false</AllowForeignMessage>
</DistributionList>
Cisco Unity Connection Provisioning Interface (CUPI) API
447
Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List
Updating the Distribution List
Page 480
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example:
PUT https://<connection-server>/vmrest/distributionlists/<distributionlistObjectId>
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"AllowContacts":"false",
"AllowForeignMessage":"false"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Example 3: Replicate to remote sites over inter-site links is enabled, enable add contacts in distribution list,
and accept messages from users on remote voice messaging systems that are configured as VPIM locations.
Request Body:
<DistributionList>
<AllowContacts>false</AllowContacts>
<AllowForeignMessage>true</AllowForeignMessage>
</DistributionList>
The following is the response from the above PUT request and the actual response will
depend upon the information given by you:
Response Code: 204
JSON Example:
Request URI:
PUT https://<connection-server>/vmrest/distributionlists/<distributionlistObjectId>
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"AllowContacts":"false",
"AllowForeignMessage":"true"
}
The following is the response from the above PUT request and the actual response will
depend upon the information given by you:
Response Code: 204
Updating the Distribution List for Tenant
The following is an example of the PUT request that can be used to update the distribution list for Tenants.
PUT https://<connection-server>/vmrest/distributionlists/<distributionlistObjectId>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
448
Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List
Updating the Distribution List for Tenant
Page 481
Request Body:
<DistributionList>
<TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId>
</DistributionList>
The following is the response from the above PUT request:
Response Code: 204
JSON Example :
PUT https://<connection-server>/vmrest/distributionlists/<distributionlistObjectId>
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"TenantObjectId":"fe6541fb-b42c-44f2-8404-ded14cbf7438"
}
Updating the Alternate Names of Distribution Lists
The mandatory fields for creation of an alternate name are FirstName and DistributionListObjectId. The URI
to get DistributionListObjectId: https://<connection server>/vmrest/distributionlists.
Example 1: Adding an alternate name for a distribution list
POST
https://<connection-server>/vmrest/alternatenames?query=(DistributionListObjectId%20is%20ef4aa84e-97c3-456e-848e-b162a04c9631)
Request Body:
<AlternateName>
<FirstName>Taxoma_list1</FirstName>
<DistributionListObjectId>ef4aa84e-97c3-456e-848e-b162a04c9631</DistributionListObjectId>
</AlternateName>
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/alternatenames/e091a0f6-031e-440d-abd2-783e5f62511b
JSON Example:
Request URI:
POST https://<connection-
server>/vmrest/alternatenames?query=(DistributionListObjectId%20is%20ef4aa84e-97c3-456e-848e-
b162a04c9631)
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"FirstName":"Taxoma_list1",
"DistributionListObjectId":"ef4aa84e-97c3-456e-848e-b162a04c9631"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
449
Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List
Updating the Alternate Names of Distribution Lists
Page 482
Response Code: 201
/vmrest/alternatenames/e091a0f6-031e-440d-abd2-783e5f62511b
Example 2: Listing the alternate names of a distribution list
GET https://<connection-server>/vmrest/
alternatenames?query=(DistributionListObjectId%20is%20ef4aa84e-97c3-456e-848e-b162a04c9631)
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<AlternateNames total="2">
<AlternateName>
<URI>/vmrest/alternatenames/865615e9-1c00-4121-acf4-36ee00adb09c</URI>
<FirstName>Texoma_Alternane Name 1</FirstName>
<ObjectId>865615e9-1c00-4121-acf4-36ee00adb09c</ObjectId>
<DistributionListObjectId>e703511f-fa9b-41f2-8662-
23de75fffc96</DistributionListObjectId>
<DistributionListURI>/vmrest/distributionlists/e703511f-fa9b-41f2-8662-
23de75fffc96</DistributionListURI>
</AlternateName>
<AlternateName>
<URI>/vmrest/alternatenames/af735ef8-b3f3-4c97-a8ec-667e416cfde2</URI>
<FirstName>Texoma_Alternate Name 2</FirstName>
<ObjectId>af735ef8-b3f3-4c97-a8ec-667e416cfde2</ObjectId>
<DistributionListObjectId>e703511f-fa9b-41f2-8662-
23de75fffc96</DistributionListObjectId>
<DistributionListURI>/vmrest/distributionlists/e703511f-fa9b-41f2-8662-
23de75fffc96</DistributionListURI>
</AlternateName>
</AlternateNames>
Response Code: 200
JSON Example:
GET
https://<connection-server>/vmrest/alternatenames?query=(DistributionListObjectId%20is%20c238c2bf-4037-494d-951b-090468c95dc4)
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"@total":"1","AlternateName":
{
"URI":"/vmrest/alternatenames/e091a0f6-031e-440d-abd2-783e5f62511b",
"FirstName":"Taxoma_list1",
"ObjectId":"e091a0f6-031e-440d-abd2-783e5f62511b",
"DistributionListObjectId":"c238c2bf-4037-494d-951b-090468c95dc4",
"DistributionListURI":"/vmrest/distributionlists/c238c2bf-4037-494d-951b-
090468c95dc4"
}
}
Response Code: 200
Example 3: Deleting an alternate name
Cisco Unity Connection Provisioning Interface (CUPI) API
450
Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List
Updating the Alternate Names of Distribution Lists
Page 483
DELETE https://<connection-server>/vmrest /alternatenames/<AlternateNameObjectId>
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
JSON Example:
DELETE https://<connection-server>/vmrest/alternatenames/<AlternateNameObjectId>
Accept: application/json
Connection: keep-alive
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
Example 4: Editing an Alternate Name
Note that only first name is editable.
PUT https://<connection-server>/vmrest/alternatenames/<AlternateNameObjectId>
Request Body:
<AlternateName>
<FirstName>Texoma_Alternane Name1</FirstName>
</AlternateName>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example:
PUT https://<connection-server>/vmrest/alternatenames/<AlternateNameObjectId>
Accept: application/json
Connection: keep-alive
Request Body:
{
"FirstName":"Texoma1"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Explanation of the Data Fields for Distribution List
Comments
Data
Type
Operation
Parameter
Unique name for a distribution List
String(64)
Read/Write
Alias
Cisco Unity Connection Provisioning Interface (CUPI) API
451
Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List
Explanation of the Data Fields for Distribution List
Page 484
Comments
Data
Type
Operation
Parameter
A flag indicating whether contacts (system, VPIM,virtual) are allowed
to be members of this Distribution List. Purpose of this flag is to
enable administrators to create a Distribution List whose members
are Contacts.
Possible values:
• true: allow contacts (system, VPIM,virtual) are allowed to be
members of this Distribution List
• false: Do not allow contacts (system, VPIM,virtual) are allowed
to be members of this Distribution List
Default: false
Boolean
Read/Write
AllowContacts
Allow users on remote voice messaging systems that are configured
as VPIM locations to send messages to this distribution list. Only
valid if the list is for subscribers only (i.e. does not allow contacts)
Possible Values:
• true: allow remote voice messaging
• false: Do not allow remote voice messaging.
Default: False
Boolean
Read/Write
AllowForeignMesssage
The date and time the system distribution list was created in UTC
Datetime
Read
Only
CreationTime
The unique text name of the system distribution.
String(64)
Read/Write
DisplayName
Extension that the phone system uses to connect to the distribution
list.It is an optional field.
String(40)
Read/Write
DtmfAccessId
The series of digits corresponding to the numeric keypad mapping on
a standard touchtone phone representing the display name of the
system distribution list. These digits are used for searching the
distribution list by name via the phone.
String(64)
Read
Only
DtmfName
The unique identifier of the LocationVMS object to which this system
distribution list belongs.
String(16)
Read
Only
LocationObjectId
Object Id of the distribution list created.
String(36)
Read
Only
ObjectId
The unique identifier of the Partition to which the DistributionList is
assigned.
String(36)
Read
Only
PartitionObjectId
The unique identifier of the tenant to which the distribution list
belongs. This field is reflected in the response only if the distribution
list belongs to a particular tenant.
String(36)
Read/Write
TenantObjectId
The voicename of the distribution List
String(40)
Read/Write
VoiceName
URI of the Distribution list
String
Read
Only
URI
Cisco Unity Connection Provisioning Interface (CUPI) API
452
Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List
Explanation of the Data Fields for Distribution List
Page 485
Comments
Data
Type
Operation
Parameter
URI of Voice File
String
Read
Only
VoiceFileURI
Voice Name URI
String
Read
Only
VoiceNameURI
Location URI
String
Read
Only
LocationURI
Partition URI
String
Read
Only
PartitionURI
Distribution List URI
String
Read
Only
PartitionURI
Alternate Names URI
String
Read
Only
AlternameNamesURI
Explanation of the Data Fields for Alternate Names of Distribution List
Comments
Data
Type
Operation
Parameter
Specifies the alternate name of a distribution list.
String
(64)
Read/Write
First Name
Specifies the objectid of the alternate name.
String
(36)
Read
Only
ObjectId
Specifies the object ID of the distribution list.
String
(36)
Read
Only
DistributionListObjectId
Specifies the URI of the alternate name.
String
Read
Only
URI
Specifies the URI of distribution list.
String
Read
Only
DistributionListURI
Cisco Unity Connection Provisioning Interface (CUPI) API --
Distribution List Members APIs
Distribution List Members APIs
Administrator can use this API to create/update/delete/fetch the distribution list members. You can update
various attributes of distribution list members using this API.
Cisco Unity Connection Provisioning Interface (CUPI) API
453
Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List
Explanation of the Data Fields for Alternate Names of Distribution List
Page 486
Listing the Distribution List Members
Request URI:
GET https://<connection-
server>/vmrest/distributionlists/<distributionlistObjectId>/distributionlistmember
The following is an example of the GET request that fetch the list of distribution list members:
GET https://<connection server>/vmrest/distributionlists/ef4aa84e-97c3-456e-848e-
b162a04c9631/distributionlistmembers
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<DistributionListMembers total="1">
<DistributionListMember>
<URI>/vmrest/distributionlists/ef4aa84e-97c3-456e-848e-
b162a04c9631/distributionlistmembers/f6712058-3409-49eb-a616-517614766594</URI>
<DistributionListObjectId>ef4aa84e-97c3-456e-848e-
b162a04c9631</DistributionListObjectId>
<DistributionListURI>/vmrest/distributionlists/ef4aa84e-97c3-456e-848e-
b162a04c9631</DistributionListURI>
<MemberUserObjectId>34cc862e-19e4-4689-a4ee-
ee98d83b8319</MemberUserObjectId>
<MemberUserURI>/vmrest/users/34cc862e-19e4-4689-a4ee-
ee98d83b8319</MemberUserURI>
<ObjectId>f6712058-3409-49eb-a616-517614766594</ObjectId>
<Alias>Texoma_UserTemplate_1</Alias>
<DisplayName>Texoma_UserTemplate_1</DisplayName>
<AllowForeignMessage>false</AllowForeignMessage>
<MemberGlobalUserObjectId>34cc862e-19e4-4689-a4ee-
ee98d83b8319</MemberGlobalUserObjectId>
<MemberGlobalUserURI>/vmrest/globalusers/34cc862e-19e4-4689-a4ee-
ee98d83b8319</MemberGlobalUserURI>
<MemberLocationObjectId>0eba1e8b-7e39-47a3-865f-ee6a34113f67</MemberLocationObjectId>
<MemberLocationURI>/vmrest/locations/connectionlocations/0eba1e8b-7e39-47a3-865f-ee6a34113f67</MemberLocationURI>
<MemberGlobalUserDignetObjectId>34cc862e-19e4-4689-a4ee-
ee98d83b8319</MemberGlobalUserDignetObjectId>
<IsUserTemplate>true</IsUserTemplate>
<LocationObjectId>0eba1e8b-7e39-47a3-865f-ee6a34113f67</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/0eba1e8b-7e39-47a3-865f-
ee6a34113f67</LocationURI>
</DistributionListMember>
</DistributionListMembers>
Response Code: 200
JSON Example
To get distribution list members:
GET
https://<connection-server>/vmrest/distributionlists/<distributionlistObjectId>/distributionlistmembers
Accept: application /json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
454
Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List
Listing the Distribution List Members
Page 487
{
"@total":"1"
"DistributionListMember":
{
"URI":"/vmrest/distributionlists/dd043e9a-3f34-47eb-a72a-
1b4b41e5f9d7/distributionlistmembers/dadd5c1c-1666-486a-94fa-bc681d99bfdb"
"DistributionListObjectId":"dd043e9a-3f34-47eb-a72a-
1b4b41e5f9d7"
"DistributionListURI":"/vmrest/distributionlists/dd043e9a-3f34-47eb-a72a-
1b4b41e5f9d7"
"MemberUserObjectId":"216c1a3e-7c0e-4527-aa9c-32b2683f04be"
"MemberUserURI":"/vmrest/users/216c1a3e-7c0e-4527-aa9c-
32b2683f04be"
"ObjectId":"dadd5c1c-1666-486a-94fa-bc681d99bfdb"
"Alias":"kapil1_Operator_1"
"DisplayName":"kapil1_Operator_1"
"AllowForeignMessage":"false"
"MemberGlobalUserObjectId":"216c1a3e-7c0e-4527-aa9c-32b2683f04be"
"MemberGlobalUserURI":"/vmrest/globalusers/216c1a3e-7c0e-4527-aa9c-32b2683f04be"
"MemberLocationObjectId":"830e1a2d-8e90-459f-88f7-700497ba975c"
"MemberLocationURI":"/vmrest/locations/connectionlocations/830e1a2d-8e90-459f-
88f7-700497ba975c"
"MemberGlobalUserDignetObjectId":"216c1a3e-7c0e-4527-aa9c-32b2683f04be"
"IsUserTemplate":"false"
"LocationObjectId":"830e1a2d-8e90-459f-88f7-700497ba975c"
"LocationURI":"/vmrest/locations/connectionlocations/830e1a2d-8e90-459f-88f7-
700497ba975c"
}
}
Response Code: 200
Creating a Distribution List Member
You can create a new distribution list member by adding a user or user template or can add another distribution
list as a member.
Example 1: Adding a user or user template to a distribution list To get user or user template object ID,
you can use the following URIs:
GET https://<connection-server>/vmrest/users
GET https://<connection-server>/vmrest/usertemplates
The following is an example of the POST request that creates a new distribution list member by adding a user
or user template:
POST https://<connection-server>/vmrest/distributionlists/ef4aa84e-97c3-456e-848e-
b162a04c9631/distributionlistmembers
Request Body:
<DistributionListMember>
<MemberUserObjectId>6202095f-606b-40d8-889d-f32e2d822f54</MemberUserObjectId>
</DistributionListMember>
Response Code: 201
Example 2: Adding another distribution list as a member The following is an example of the POST request
that creates a new distribution list member by adding another distribution list as a member:
Cisco Unity Connection Provisioning Interface (CUPI) API
455
Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List
Creating a Distribution List Member
Page 488
POST https://<connection-server>/vmrest/
distributionlists/ef4aa84e-97c3-456e-848e-b162a04c9631/distributionlistmembers
Request Body:
<DistributionListMember>
<MemberDistributionListObjectId>e030d111-d29e-4d11-93fa-4abe73bd50a0</MemberDistributionListObjectId>
</DistributionListMember>
Response Code: 201
JSON Example:
To add a user or user template, do the following:
Request URI:
POST
https://<connection-server>/vmrest/distributionlists/<distributionlistObjectId>/distributionlistmembers
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"MemberUserObjectId": "216c1a3e-7c0e-4527-aa9c-32b2683f04be"
}
The following is the response from the above POST request and the actual response will
depend upon the information given by you:
Response Code: 201
To add another distribution list as a member:
POST
https://<connection-server>/vmrest/distributionlists/ef4aa84e-97c3-456e-848e-b162a04c9631/distributionlistmembers
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"MemberDistributionListObjectId":"e030d111-d29e-4d11-93fa-4abe73bd50a0"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
Delete a Member from the Distribution List
The following request can be used to delete a member from the distribution list:
DELETE:
https://<connection-server>/vmrest/distributionlists/<DistributionListObjectId>/distributionlistmembers/<distributionlistmemberObjectId>
Response Code: 204
JSON Example:
DELETE
https://<connection-server>/vmrest/distributionlists/<DistributionListObjectId>/distributionlistmembers/<distributionlistmemberObjectId>
Accept: application/json
Connection: keep-alive
Cisco Unity Connection Provisioning Interface (CUPI) API
456
Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List
Delete a Member from the Distribution List
Page 489
Response Code: 204
Explanation of the Data Fields for Distribution List Member
Comments
Data
Type
Operations
Parameter
Specifies the URI of the distribution list member.
String
Read
Only
URI
Specifies the Object Id of the distribution list member.
String
(36)
Read
Only
ObjectId
Specifies the distribution list object ID.
String
(36)
Read
Only
DistributionListObjectId
Specifies the URI of the distribution list.
String
Read
Only
DistributionListURI
Specifies the object ID of user or user template.
String
(36)
Read
Only
MemberUserObjectId
Specifies the object ID of the user or user template.
String
(36)
Read
Only
MemberGlobalUserObjectId
Specifies the object ID of the member's distribution list.
String
(36)
Read
Only
MemberDistributionListObjectId
Specifies the object ID of the user.
String
(36)
Read
Only
MemberGlobalUserDiginetObjectId
Specifies the object ID of the member location.
String
(36)
Read
Only
MemberLocationObjectId
Specifies the unique name to identify a distribution list.
String
(64)
Read/Write
Alias
Allow users on remote voice messaging systems that are
configured as VPIM locations to send messages to this
distribution list.
Possible values:
• true: allow remote voice messaging
• false: Do not allow remote voice messaging.
Default: false
Boolean
Read
Only
AllowForeignMessage
Specifies name of the member.
String
(64)
Read/Write
DisplayName
Specifies if a member is a user template.
Boolean
Read
Only
IsUserTemplate
Specifies URI of the location.
String
Read
Only
MemberLocationURI
Specifies URI of the user.
String
Read
Only
MemberGlobalUserURI
Cisco Unity Connection Provisioning Interface (CUPI) API
457
Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List
Explanation of the Data Fields for Distribution List Member
Page 490
Comments
Data
Type
Operations
Parameter
Specifies location object ID.
String
(36)
Read
Only
LocationObjectId
Specifies URI of the location.
String
Read
Only
LocationURI
•
Cisco Unity Connection Provisioning Interface (CUPI) API
458
Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List
Explanation of the Data Fields for Distribution List Member
Page 491
C H A P T E R 37
Cisco Unity Connection Provisioning Interface
(CUPI) API -- Call Handler
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler APIs, on page 459
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Owner APIs, on page 479
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Enumeration Types, on page
484
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Greetings APIs, on page 486
• Cisco Unity Connection Provisioning Interface (CUPI) API -- TransferRulesAPIs, on page 495
Cisco Unity Connection Provisioning Interface (CUPI) API --
Call Handler APIs
Call Handler APIs
Call handlers answer calls, greet callers with recorded prompts, provide callers with information and options,
route calls, and take messages. They are a basic component of Cisco Unity Connection. Your plan for call
handlers can be simple, using only the predefined call handlers, or you can create up to 40,000 new call
handlers. You may want to use call handlers in the following ways:
As an automated attendant---A call handler can be used in place of a human operator to answer and direct
calls by playing greetings and responding to key presses. The automated attendant can provide a menu of
options. For example, "For Sales, press 1; for Service, press 2; for our business hours, press 3".
To offer prerecorded audio text---A call handler can be used to provide information that customers request
frequently. For example, "Our normal business hours are Monday through Friday, 8 a.m. to 5 p.m.", or to
play a pre-recorded message that all callers hear before they can interact with the system.
As a message recipient---A call handler can be used to take messages for the organization. For example, "All
of our customer service representatives are busy. Please state your name, phone number, and account number,
and we will return your call as soon as possible.".
To transfer calls---A call handler can be used to route callers to a user. For example, after hours, you could
transfer calls that come to a technical support call handler directly to the mobile phone of the person who is
on call, or to another call handler.
Cisco Unity Connection Provisioning Interface (CUPI) API
459

Page 492
Administrator can use this API to create/update/delete/fetch the call handler. You can update various attributes
of call handler using this API.
Listing the Call Handlers
The following is an example of the GET request that fetch the list of call handlers:
GET https://<connection-server>/vmrest/handlers/callhandlers
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
460
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Listing the Call Handlers
Page 493
<Callhandlers total="2">
<Callhandler>
<URI>/vmrest/handlers/callhandlers/fc922cfc-6583-471b-b8ab-9971e02418f3</URI>
<CreationTime>2013-01-02T15:42:48Z</CreationTime>
<Language>1033</Language>
<Undeletable>true</Undeletable>
<VoiceName>9d168d20-303d-4019-b381-cd430e478540.wav</VoiceName>
<VoiceFileURI>/vmrest/voicefiles/99cbec60-ef57-41a5-a0bd-
5d1b79e6b7f7</VoiceFileURI>
<VoiceNameURI>/vmrest/handlers/callhandlers/fc922cfc-6583-471b-b8ab-
9971e02418f3/voicename</VoiceNameURI>
<LocationObjectId>fa15de52-b98d-4de9-a868-ed02f957e38f</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/fa15de52-b98d-4de9-a868-
ed02f957e38f</LocationURI>
<EditMsg>true</EditMsg>
<IsPrimary>false</IsPrimary>
<OneKeyDelay>1500</OneKeyDelay>
<ScheduleSetObjectId>2eee2b88-8e45-4b77-8b4c-f52aaa1e39e4</ScheduleSetObjectId>
<ScheduleSetURI>/vmrest/schedulesets/2eee2b88-8e45-4b77-8b4c-
f52aaa1e39e4</ScheduleSetURI>
<SendUrgentMsg>0</SendUrgentMsg>
<MaxMsgLen>300</MaxMsgLen>
<IsTemplate>false</IsTemplate>
<ObjectId>fc922cfc-6583-471b-b8ab-9971e02418f3</ObjectId>
<TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId>
<RecipientDistributionListObjectId>e93ca9db-8659-4e07-bee6-
7af3f5c1a1db</RecipientDistributionListObjectId>
<RecipientDistributionListURI>/vmrest/distributionlists/e93ca9db-8659-4e07-bee6-
7af3f5c1a1db</RecipientDistributionListURI>
<DisplayName>Opening Greeting</DisplayName>
<AfterMessageAction>2</AfterMessageAction>
<AfterMessageTargetConversation>PHGreeting</AfterMessageTargetConversation>
<AfterMessageTargetHandlerObjectId>2f4b7240-f56a-4644-b22a-
b1a346a5a9b2</AfterMessageTargetHandlerObjectId>
<TimeZone>190</TimeZone>
<UseDefaultLanguage>true</UseDefaultLanguage>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<MediaSwitchObjectId>2dcf1e57-80d6-43d3-b245-3693fe78397d</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/2dcf1e57-80d6-43d3-b245-
3693fe78397d</PhoneSystemURI>
<UseCallLanguage>true</UseCallLanguage>
<SendSecureMsg>false</SendSecureMsg>
<EnablePrependDigits>false</EnablePrependDigits>
<DispatchDelivery>false</DispatchDelivery>
<CallSearchSpaceObjectId>1736fdd9-b6f9-4a92-ad25-
17d5b8228700</CallSearchSpaceObjectId>
<CallSearchSpaceURI>/vmrest/searchspaces/1736fdd9-b6f9-4a92-ad25-
17d5b8228700</CallSearchSpaceURI>
<InheritSearchSpaceFromCall>true</InheritSearchSpaceFromCall>
<PartitionObjectId>0017febb-15bf-4454-9a5c-3b26e19aa14a</PartitionObjectId>
<PartitionURI>/vmrest/partitions/0017febb-15bf-4454-9a5c-3b26e19aa14a</PartitionURI>
<PlayPostGreetingRecording>0</PlayPostGreetingRecording>
<SendPrivateMsg>0</SendPrivateMsg>
<PlayAfterMessage>1</PlayAfterMessage>
<GreetingsURI>/vmrest/handlers/callhandlers/fc922cfc-6583-471b-b8ab-
9971e02418f3/greetings</GreetingsURI>
<TransferOptionsURI>/vmrest/handlers/callhandlers/fc922cfc-6583-471b-b8ab-
9971e02418f3/transferoptions</TransferOptionsURI>
<MenuEntriesURI>/vmrest/handlers/callhandlers/fc922cfc-6583-471b-b8ab-
9971e02418f3/menuentries</MenuEntriesURI>
<CallHandlerOwnerURI>/vmrest/handlers/callhandlers/fc922cfc-6583-471b-b8ab-
9971e02418f3/callhandlerowners</CallHandlerOwnerURI>
</Callhandler>
<Callhandler>
Cisco Unity Connection Provisioning Interface (CUPI) API
461
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Listing the Call Handlers
Page 494
<URI>/vmrest/handlers/callhandlers/2f4b7240-f56a-4644-b22a-b1a346a5a9b2</URI>
<CreationTime>2013-01-02T15:42:49Z</CreationTime>
<Language>1033</Language>
<Undeletable>true</Undeletable>
<VoiceName>a797edef-e693-400f-bb7c-8fe889c3d758.wav</VoiceName>
<VoiceFileURI>/vmrest/voicefiles/9a1a20ca-acb3-4ddc-9cde-
0d10a2921427</VoiceFileURI>
<VoiceNameURI>/vmrest/handlers/callhandlers/2f4b7240-f56a-4644-b22a-
b1a346a5a9b2/voicename</VoiceNameURI>
<LocationObjectId>fa15de52-b98d-4de9-a868-ed02f957e38f</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/fa15de52-b98d-4de9-a868-
ed02f957e38f</LocationURI>
<EditMsg>true</EditMsg>
<IsPrimary>false</IsPrimary>
<OneKeyDelay>1500</OneKeyDelay>
<ScheduleSetObjectId>1cd28472-ced0-44ce-a8f7-cd7692ce7594</ScheduleSetObjectId>
<ScheduleSetURI>/vmrest/schedulesets/1cd28472-ced0-44ce-a8f7-
cd7692ce7594</ScheduleSetURI>
<SendUrgentMsg>0</SendUrgentMsg>
<MaxMsgLen>300</MaxMsgLen>
<IsTemplate>false</IsTemplate>
<ObjectId>2f4b7240-f56a-4644-b22a-b1a346a5a9b2</ObjectId>
<RecipientDistributionListObjectId>e93ca9db-8659-4e07-bee6-
7af3f5c1a1db</RecipientDistributionListObjectId>
<RecipientDistributionListURI>/vmrest/distributionlists/e93ca9db-8659-4e07-bee6-
7af3f5c1a1db</RecipientDistributionListURI>
<DisplayName>Goodbye</DisplayName>
<AfterMessageAction>1</AfterMessageAction>
<TimeZone>190</TimeZone>
<UseDefaultLanguage>true</UseDefaultLanguage>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<MediaSwitchObjectId>2dcf1e57-80d6-43d3-b245-
3693fe78397d</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/2dcf1e57-80d6-43d3-b245-
3693fe78397d</PhoneSystemURI>
<UseCallLanguage>true</UseCallLanguage>
<SendSecureMsg>false</SendSecureMsg>
<EnablePrependDigits>false</EnablePrependDigits>
<DispatchDelivery>false</DispatchDelivery>
<CallSearchSpaceObjectId>1736fdd9-b6f9-4a92-ad25-
17d5b8228700</CallSearchSpaceObjectId>
<CallSearchSpaceURI>/vmrest/searchspaces/1736fdd9-b6f9-4a92-ad25-
17d5b8228700</CallSearchSpaceURI>
<InheritSearchSpaceFromCall>true</InheritSearchSpaceFromCall>
<PartitionObjectId>0017febb-15bf-4454-9a5c-3b26e19aa14a</PartitionObjectId>
<PartitionURI>/vmrest/partitions/0017febb-15bf-4454-9a5c-3b26e19aa14a</PartitionURI>
<PlayPostGreetingRecording>0</PlayPostGreetingRecording>
<SendPrivateMsg>0</SendPrivateMsg>
<PlayAfterMessage>1</PlayAfterMessage>
<GreetingsURI>/vmrest/handlers/callhandlers/2f4b7240-f56a-4644-b22a-
b1a346a5a9b2/greetings</GreetingsURI>
<TransferOptionsURI>/vmrest/handlers/callhandlers/2f4b7240-f56a-4644-b22a-
b1a346a5a9b2/transferoptions</TransferOptionsURI>
<MenuEntriesURI>/vmrest/handlers/callhandlers/2f4b7240-f56a-4644-b22a-
b1a346a5a9b2/menuentries</MenuEntriesURI>
<CallHandlerOwnerURI>/vmrest/handlers/callhandlers/2f4b7240-f56a-4644-b22a-
b1a346a5a9b2/callhandlerowners</CallHandlerOwnerURI>
</Callhandler>
</Callhandlers>
Response Code: 200
JSON Example
Cisco Unity Connection Provisioning Interface (CUPI) API
462
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Listing the Call Handlers
Page 495
To list of the call handlers, do the following:
Request URI:
GET https://<connection-server>/vmrest/handlers/callhandlers
Accept: application/json
Connection: keep_alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
463
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Listing the Call Handlers
Page 496
{
"@total": "2",
"Callhandler": [
{
"URI": "/vmrest/handlers/callhandlers/6702cce8-853f-4cbd-8579-35c595213898",
"CreationTime": "2013-02-14T05:05:43Z",
"Language": "1033",
"Undeletable": "true",
"VoiceName": "43145be7-0101-4ba1-9448-76834baa153f.wav",
"VoiceFileURI": "/vmrest/voicefiles/2374c796-b006-4b29-a35e-8b0b1d576e50",
"VoiceNameURI": "/vmrest/handlers/callhandlers/6702cce8-853f-4cbd-8579-
35c595213898/voicename",
"LocationObjectId": "bbf3e6ed-0278-479c-9a6e-2da8756eeb6f",
"LocationURI": "/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-9a6e-
2da8756eeb6f",
"EditMsg": "true",
"IsPrimary": "false",
"OneKeyDelay": "1500",
"ScheduleSetObjectId": "96e43ab7-b6c1-49b1-ba27-008b8f8870e4",
"ScheduleSetURI": "/vmrest/schedulesets/96e43ab7-b6c1-49b1-ba27-008b8f8870e4",
"SendUrgentMsg": "0",
"MaxMsgLen": "300",
"IsTemplate": "false",
"ObjectId": "6702cce8-853f-4cbd-8579-35c595213898",
"TenantObjectId": "fe6541fb-b42c-44f2-8404-ded14cbf7438",
"RecipientDistributionListObjectId": "24865f76-fa95-412d-bc56-a48ef9e1531a",
"RecipientDistributionListURI": "/vmrest/distributionlists/24865f76-fa95-412d-bc56-
a48ef9e1531a",
"DisplayName": "Opening Greeting",
"AfterMessageAction": "2",
"AfterMessageTargetConversation": "PHGreeting",
"AfterMessageTargetHandlerObjectId": "8c400830-7e92-4908-9ca6-a4b123f1bd19",
"TimeZone": "190",
"UseDefaultLanguage": "true",
"UseDefaultTimeZone": "true",
"MediaSwitchObjectId": "a984674b-98d1-442e-83a9-2dcc0824af9e",
"PhoneSystemURI": "/vmrest/phonesystems/a984674b-98d1-442e-83a9-2dcc0824af9e",
"UseCallLanguage": "true",
"SendSecureMsg": "false",
"EnablePrependDigits": "false",
"DispatchDelivery": "false",
"CallSearchSpaceObjectId": "5a07d332-6fc5-4a3f-baba-3cb4ea630280",
"CallSearchSpaceURI": "/vmrest/searchspaces/5a07d332-6fc5-4a3f-baba-
3cb4ea630280",
"InheritSearchSpaceFromCall": "true",
"PartitionObjectId": "d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b",
"PartitionURI": "/vmrest/partitions/d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b",
"PlayPostGreetingRecording": "0",
"SendPrivateMsg": "0",
"PlayAfterMessage": "1",
"GreetingsURI": "/vmrest/handlers/callhandlers/6702cce8-853f-4cbd-8579-
35c595213898/greetings",
"TransferOptionsURI": "/vmrest/handlers/callhandlers/6702cce8-853f-4cbd-8579-
35c595213898/transferoptions",
"MenuEntriesURI": "/vmrest/handlers/callhandlers/6702cce8-853f-4cbd-8579-
35c595213898/menuentries",
"CallHandlerOwnerURI": "/vmrest/handlers/callhandlers/6702cce8-853f-4cbd-8579-
35c595213898/callhandlerowners"
}
{
"URI": "/vmrest/handlers/callhandlers/426e4f1c-0cf1-43dc-a52b-63db2c0704c5",
"CreationTime": "2013-02-14T05:05:44Z",
"Language": "1033",
"Undeletable": "true",
Cisco Unity Connection Provisioning Interface (CUPI) API
464
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Listing the Call Handlers
Page 497
"VoiceName": "389d2d11-f74c-4df1-9766-098800b8fe74.wav",
"VoiceFileURI": "/vmrest/voicefiles/c8cd8b94-8d2f-47d6-841e-ca1d3a02bdc2",
"VoiceNameURI": "/vmrest/handlers/callhandlers/426e4f1c-0cf1-43dc-a52b-
63db2c0704c5/voicename",
"LocationObjectId": "bbf3e6ed-0278-479c-9a6e-2da8756eeb6f",
"LocationURI": "/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-9a6e-
2da8756eeb6f",
"EditMsg": "true",
"IsPrimary": "false",
"OneKeyDelay": "1500",
"ScheduleSetObjectId": "96e43ab7-b6c1-49b1-ba27-008b8f8870e4",
"ScheduleSetURI": "/vmrest/schedulesets/96e43ab7-b6c1-49b1-ba27-008b8f8870e4",
"SendUrgentMsg": "0",
"MaxMsgLen": "300",
"IsTemplate": "false",
"ObjectId": "426e4f1c-0cf1-43dc-a52b-63db2c0704c5",
"RecipientSubscriberObjectId": "053afdf6-78e8-4a54-9384-e6c32c68dacd",
"RecipientUserURI": "/vmrest/users/053afdf6-78e8-4a54-9384-e6c32c68dacd",
"DisplayName": "Operator",
"AfterMessageAction": "2",
"AfterMessageTargetConversation": "PHGreeting",
"AfterMessageTargetHandlerObjectId": "8c400830-7e92-4908-9ca6-a4b123f1bd19",
"DtmfAccessId": "0",
"TimeZone": "190",
"UseDefaultLanguage": "true",
"UseDefaultTimeZone": "true",
"MediaSwitchObjectId": "a984674b-98d1-442e-83a9-2dcc0824af9e",
"PhoneSystemURI": "/vmrest/phonesystems/a984674b-98d1-442e-83a9-2dcc0824af9e",
"UseCallLanguage": "true",
"SendSecureMsg": "false",
"EnablePrependDigits": "false",
"DispatchDelivery": "false",
"CallSearchSpaceObjectId": "5a07d332-6fc5-4a3f-baba-3cb4ea630280",
"CallSearchSpaceURI": "/vmrest/searchspaces/5a07d332-6fc5-4a3f-baba-
3cb4ea630280",
"InheritSearchSpaceFromCall": "true",
"PartitionObjectId": "d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b",
"PartitionURI": "/vmrest/partitions/d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b",
"PlayPostGreetingRecording": "0",
"SendPrivateMsg": "0",
"PlayAfterMessage": "1",
"GreetingsURI": "/vmrest/handlers/callhandlers/426e4f1c-0cf1-43dc-a52b-
63db2c0704c5/greetings",
"TransferOptionsURI": "/vmrest/handlers/callhandlers/426e4f1c-0cf1-43dc-a52b-
63db2c0704c5/transferoptions",
"MenuEntriesURI": "/vmrest/handlers/callhandlers/426e4f1c-0cf1-43dc-a52b-
63db2c0704c5/menuentries",
"CallHandlerOwnerURI": "/vmrest/handlers/callhandlers/426e4f1c-0cf1-43dc-a52b-
63db2c0704c5/callhandlerowners"
}
]
}
Response Code: 200
Listing Specific Tenant Related Call Handlers by System Administrator
In Cisco Unity Connection 10.5(2) and later, the system administrator can use TenantObjectID to list the
specific tenant related call handlers using the following URI:
GET https://<connection-server>/vmrest/handlers/callhandlers?query=(TenantObjectId is
<Tenant-ObjectId>)
Cisco Unity Connection Provisioning Interface (CUPI) API
465
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Listing Specific Tenant Related Call Handlers by System Administrator
Page 498
To get the TenantObjectID, use the following URI:
GET https://<connection-server>/vmrest/tenants
Viewing the Specific Call Handler
The following is an example of the GET request that lists the details of specific call handler represented by
the provided value of call handler ID:
GET https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
466
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Viewing the Specific Call Handler
Page 499
<Callhandler>
<URI>/vmrest/handlers/callhandlers/4afc0de6-c52c-42e4-99bb-6359bd518f11</URI>
<CreationTime>2012-12-14T09:32:50Z</CreationTime>
<Language>1033</Language>
<Undeletable>false</Undeletable>
<VoiceName>a6b5b738-6aa3-467e-a1c9-2061e9f078b2.wav</VoiceName>
<VoiceFileURI>/vmrest/voicefiles/009caa53-375b-4c84-b287-2d593550b185</VoiceFileURI>
<VoiceNameURI>/vmrest/handlers/callhandlers/4afc0de6-c52c-42e4-99bb-
6359bd518f11/voicename</VoiceNameURI>
<LocationObjectId>36342486-2f03-4dee-9f92-e0324f25e31c</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/36342486-2f03-4dee-9f92-
e0324f25e31c</LocationURI>
<EditMsg>true</EditMsg>
<IsPrimary>false</IsPrimary>
<OneKeyDelay>1500</OneKeyDelay>
<ScheduleSetObjectId>fc3d37bd-eb5e-4425-9820-bd913f77683b</ScheduleSetObjectId>
<ScheduleSetURI>/vmrest/schedulesets/fc3d37bd-eb5e-4425-9820-
bd913f77683b</ScheduleSetURI>
<SendUrgentMsg>0</SendUrgentMsg>
<MaxMsgLen>300</MaxMsgLen>
<IsTemplate>false</IsTemplate>
<ObjectId>4afc0de6-c52c-42e4-99bb-6359bd518f11</ObjectId>
<RecipientSubscriberObjectId>0a082dcd-9f31-4897-b819-
dedff7e67484</RecipientSubscriberObjectId>
<RecipientUserURI>/vmrest/users/0a082dcd-9f31-4897-b819-
dedff7e67484</RecipientUserURI>
<DisplayName>test</DisplayName>
<AfterMessageAction>2</AfterMessageAction>
<AfterMessageTargetConversation>SystemTransfer</AfterMessageTargetConversation>
<DtmfAccessId>2345</DtmfAccessId>
<TimeZone>190</TimeZone>
<UseDefaultLanguage>true</UseDefaultLanguage>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<MediaSwitchObjectId>7a04d1f8-e71f-431b-a86c-1bb84da153e6</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/7a04d1f8-e71f-431b-a86c-
1bb84da153e6</PhoneSystemURI>
<UseCallLanguage>false</UseCallLanguage>
<SendSecureMsg>true</SendSecureMsg>
<EnablePrependDigits>false</EnablePrependDigits>
<DispatchDelivery>false</DispatchDelivery>
<CallSearchSpaceObjectId>d4885446-a1f9-4e4c-810f-168bcc8489af</CallSearchSpaceObjectId>
<CallSearchSpaceURI>/vmrest/searchspaces/d4885446-a1f9-4e4c-810f-
168bcc8489af</CallSearchSpaceURI>
<InheritSearchSpaceFromCall>true</InheritSearchSpaceFromCall>
<PartitionObjectId>a7108db5-c354-4b71-a72f-2c945291bda2</PartitionObjectId>
<PartitionURI>/vmrest/partitions/a7108db5-c354-4b71-a72f-2c945291bda2</PartitionURI>
<PlayPostGreetingRecording>2</PlayPostGreetingRecording>
<PostGreetingRecordingObjectId>1b13cab3-8ae8-4b39-a9e8-
51464dc5216d</PostGreetingRecordingObjectId>
<SendPrivateMsg>2</SendPrivateMsg>
<PlayAfterMessage>1</PlayAfterMessage>
<GreetingsURI>/vmrest/handlers/callhandlers/4afc0de6-c52c-42e4-99bb-
6359bd518f11/greetings</GreetingsURI>
<TransferOptionsURI>/vmrest/handlers/callhandlers/4afc0de6-c52c-42e4-99bb-
6359bd518f11/transferoptions</TransferOptionsURI>
<MenuEntriesURI>/vmrest/handlers/callhandlers/4afc0de6-c52c-42e4-99bb-
6359bd518f11/menuentries</MenuEntriesURI>
<CallHandlerOwnerURI>/vmrest/handlers/callhandlers/4afc0de6-c52c-42e4-99bb-
6359bd518f11/callhandlerowners</CallHandlerOwnerURI>
</Callhandler>
Response Code:200
Cisco Unity Connection Provisioning Interface (CUPI) API
467
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Viewing the Specific Call Handler
Page 500
JSON Example
To view a specific call handler, do the following:
Request URI:
GET https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>
Accept: application/json
Connection: keep_alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
468
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Viewing the Specific Call Handler
Page 501
{
"URI": "/vmrest/handlers/callhandlers/8c400830-7e92-4908-9ca6-a4b123f1bd19",
"CreationTime": "2013-02-14T05:05:44Z",
"Language": "1033",
"Undeletable": "true",
"VoiceName": "a05d6040-1494-49eb-94bf-b9019eb79813.wav",
"VoiceFileURI": "/vmrest/voicefiles/e90706a2-d264-4104-abdf-f8e146799588",
"VoiceNameURI": "/vmrest/handlers/callhandlers/8c400830-7e92-4908-9ca6-
a4b123f1bd19/voicename",
"LocationObjectId": "bbf3e6ed-0278-479c-9a6e-2da8756eeb6f",
"LocationURI": "/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-9a6e-
2da8756eeb6f",
"EditMsg": "true",
"IsPrimary": "false",
"OneKeyDelay": "1500",
"ScheduleSetObjectId": "74205ca1-1f58-466b-a543-13ad7bd4798e",
"ScheduleSetURI": "/vmrest/schedulesets/74205ca1-1f58-466b-a543-13ad7bd4798e",
"SendUrgentMsg": "0",
"MaxMsgLen": "300",
"IsTemplate": "false",
"ObjectId": "8c400830-7e92-4908-9ca6-a4b123f1bd19",
"RecipientDistributionListObjectId": "24865f76-fa95-412d-bc56-a48ef9e1531a",
"RecipientDistributionListURI": "/vmrest/distributionlists/24865f76-fa95-412d-bc56-
a48ef9e1531a",
"DisplayName": "Goodbye",
"AfterMessageAction": "1",
"TimeZone": "190",
"UseDefaultLanguage": "true",
"UseDefaultTimeZone": "true",
"MediaSwitchObjectId": "a984674b-98d1-442e-83a9-2dcc0824af9e",
"PhoneSystemURI": "/vmrest/phonesystems/a984674b-98d1-442e-83a9-2dcc0824af9e",
"UseCallLanguage": "true",
"SendSecureMsg": "false",
"EnablePrependDigits": "false",
"DispatchDelivery": "false",
"CallSearchSpaceObjectId": "5a07d332-6fc5-4a3f-baba-3cb4ea630280",
"CallSearchSpaceURI": "/vmrest/searchspaces/5a07d332-6fc5-4a3f-baba-3cb4ea630280",
"InheritSearchSpaceFromCall": "true",
"PartitionObjectId": "d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b",
"PartitionURI": "/vmrest/partitions/d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b",
"PlayPostGreetingRecording": "0",
"SendPrivateMsg": "0",
"PlayAfterMessage": "1",
"GreetingsURI": "/vmrest/handlers/callhandlers/8c400830-7e92-4908-9ca6-
a4b123f1bd19/greetings",
"TransferOptionsURI": "/vmrest/handlers/callhandlers/8c400830-7e92-4908-9ca6-
a4b123f1bd19/transferoptions",
"MenuEntriesURI": "/vmrest/handlers/callhandlers/8c400830-7e92-4908-9ca6-
a4b123f1bd19/menuentries",
"CallHandlerOwnerURI": "/vmrest/handlers/callhandlers/8c400830-7e92-4908-9ca6-
a4b123f1bd19/callhandlerowners"
}
Response Code:200
Creating a Call Handler
The following is an example of the POST request that creates a new call handler:
Cisco Unity Connection Provisioning Interface (CUPI) API
469
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Creating a Call Handler
Page 502
POST
https://<connection-server>/vmrest/handlers/callhandlers?templateObjectId=<callHandlerTemplate-ObjectId>
Request Body:
<pre>
<CallHandler>
<DisplayName>Taxoma_Test</DisplayName>
</CallHandler>
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/handlers/callhandlers/8c400830-7e92-4908-9ca6-a4b123f1bd19
JSON Example
To create a new call handler, do the following:
POST
https://<connection-server>/vmrest/handlers/callhandlers?templateObjectId=<callHandlerTemplate-ObjectId>
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"DisplayName": "Texoma1"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/handlers/callhandlers/8c400830-7e92-4908-9ca6-a4b123f1bd19
Make sure that while creating a Call Handler, do not provide the recipient object Id in the request body. By
default, Call handler is created with undeliverable messages distribution list as the recipient. You can update
the recipient object id using PUT API.
Note
Delete the Call Handler
The following is an example of the DELETE request that can be used to delete a call handler:
DELETE https://<connection-server>/vmrest/callhandlers/<callhandler-objectid>
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
JSON Example
To delete a call handler, do the following:
Cisco Unity Connection Provisioning Interface (CUPI) API
470
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Delete the Call Handler

Page 503
DELETE https://<connection-server>/vmrest/callhandlers/<callhandler-objectid>
Accept: application/json
Connection: keep_alive
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
Assigning a Schedule Set to a Call Handler
The following is an example of the PUT request that can be used to assign a schedule set to a call handler:
PUT https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>
Request Body:
<Callhandler>
<ScheduleSetObjectId>9dd6c1d5-249e-4715-8953-396ce2f26314</ScheduleSetObjectId>
</Callhandler>
Response Code: 204
JSON Example
To assign a schedule to a call handler, do the following:
PUT https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"ScheduleSetObjectId": "74205ca1-1f58-466b-a543-13ad7bd4798e"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Specify Message Recipient for a Call Handler
The following is an example of the PUT request that can be used to specify message recipient for a call handler:
PUT https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>
Request Body:
<Callhandler>
<RecipientSubscriberObjectId>3c700079-33bb-4897-b1a5-
23cf19194ecf</RecipientSubscriberObjectId>
</Callhandler>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
Cisco Unity Connection Provisioning Interface (CUPI) API
471
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Assigning a Schedule Set to a Call Handler
Page 504
To specify message recipient for a call handler, do the following:
PUT https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"RecipientSubscriberObjectId": "571412d0-6330-433d-8a1f-7f7cb102a09f"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Caller Input Keys
http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Caller_Input_Keys
Updating Caller Input Keys
http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Updating_Caller_Input_Keys
Update the Language of Call Handler
To fetch the language code, use the following URI:
GET https://<connection-server>/vmrest/languagemap
The below table specify the details of value for each field:
Description
Language
UseDefaultLanguage
UseCallLanguage
This will select the default
language.
Null/Language Code
true
false
This will inherit the language from
user.
Null/Language Code
true/false
true
This will select the particular
language as per the code.
Language Code
false
false
Updating Time Zone of Call Handler
This PUT request can be used to update time zone for a call handler template. It can be set to default or
particular time zone. To know time zones installed on the server, you can use the following URI:
GET https://<connection-server>/vmrest/timezones
For updating time zone of a call handler, the mandatory fields are:
UseDefaultTimeZone
TimeZone
Cisco Unity Connection Provisioning Interface (CUPI) API
472
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Caller Input Keys
Page 505
PUT https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>
Request Body:
<Callhandler>
<UseDefaultTimeZone>false</UseDefaultTimeZone>
<TimeZone>190</TimeZone>
</Callhandler>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Explanation of Data Fields
Comments
Data Type
Operations
Parameter
Call Handler URI
String
Read Only
URI
Specifies the after message action. Refer
to the section Enumeration Type.
Integer
Read/Write
AfterMessageAction
The name of the conversation to which
the caller is routed. Refer to the section
Enumeration Type
String
Read/Write
AfterMessageTargetConversation
The Unique Identifier of the call action
object that Cisco Unity Connection
performs after taking a message.
String
Read/Write
AfterMessageTargetHandlerObjectId
The unique identifier of the SearchSpace
that is used limit visibility to dialable
objects when searching by extension (dial
string).
String
Read/Write
CallSearchSpaceObjectId
URL for search spaces.
String
Read Only
CallSearchSpaceURI
Specifies the creation date and time of
the call handler. Format:
YYYY-MM-DDThh:mm:ssZ . The
default value is the current system date
and time.
datetime
Read Only
CreationTime
A flag indicating that all messages left
for the call handler is for dispatch
delivery.
Possible values:
false: specifies no dispatch delivery.
true: specifies dispatch delivery.
Default value: false
Boolean
Read/Write
DispatchDelivery
Name of the call handler.
String
Read/Write
DisplayName
Cisco Unity Connection Provisioning Interface (CUPI) API
473
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Explanation of Data Fields
Page 506
Extension of the call handler.
String
Read/Write
DtmfAccessId
A flag that determines whether the caller
can edit messages.
Possible values:
false : Callers cannot edit messages
true : Callers can edit messages
Default value: true.
Boolean
Read/Write
EditMsg
Specifies if Prepend Digits to Dialed
Extensions is enabled.
Possible values:
false:- System will not prepend digits
when dialing the transfer extension
true:- System will prepend digits when
dialing the transfer extension
Default value: false
Boolean
Read/Write
EnablePrependDigits
Specifies if the search space is to be
inherited from the call.
Possible values:
true – Inherit from call.
false – Do not inherit from call
Default value: true
Boolean
Read/Write
InheritSearchSpaceFromCall
A flag indicating whether this is a
"primary" call handler for a subscriber,
or an "application" call handler.
Note:- Each subscriber is associated with
a call handler, which is referred to as the
"primary call handler" for that subscriber.
An "application call handler" is just a
normal call handler. Possible values:
false: Not a primary call handler
true: Primary call handler
Default value: false.
Boolean
Read Only
IsPrimary
Cisco Unity Connection Provisioning Interface (CUPI) API
474
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Explanation of Data Fields
Page 507
A flag indicating whether this
CallHandler is a "template" for creating
new call handlers. It is used to provide
default values for selected columns when
creating new call handlers.
Possible values:
false: Not a template
true: Is a template
Default value: false
Boolean
Read Only
IsTemplate
The Windows Locale ID (LCID) which
identifies the language that Cisco Unity
Connection plays the handler system
prompts.
Integer
Read/Write
Language
The unique identifier of the Location
object to which this handler belongs
String
Read Only
LocationObjectId
Specifies the URI of locations
The maximum recording length (in
seconds) for messages left by unidentified
callers. This value is used when the call
handler is set to an action of "Take
Message" (either by an after greeting
action in the messagingrule table or via
a user input action in the menuentry table.
This value only gets applied to
unidentified callers leaving a message.
This value is not used for
subscriber-subscriber messaging. Instead
the COS for the calling subscriber
determines the maximum recorded
message length. The range of this field
can vary from 1-3600. Default value: 300
String
Read Only
LocationURI
Specifies the object Id of the Phone
System the call handler belongs to.
Integer
Read/Write
MaxMsgLen
Specifies the URI of Phone Systems.
String
Read/Write
MediaSwitchObjectId
Specifies an object ID of the call handler.
String
Read Only
PhoneSystemURI
The unique identifier of the tenant to
which the call handler belongs. This field
is reflected in the response only if the call
handler belongs to a particular tenant.
String
Read Only
ObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
475
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Explanation of Data Fields
Page 508
The amount of time (in milliseconds) that
Cisco Unity Connection waits for
additional input after callers press a single
key that is not locked. If there is no input
within this time, Cisco Unity Connection
performs the action assigned to the single
key.
When a caller interrupts a greeting with
a digit, Cisco Unity Connection will wait
this number of milliseconds to see if they
are going to enter more digits. Once this
timeout is reached (or the caller
terminates the input with a #), Cisco
Unity Connection will do a look-up of
the resulting string of numbers for a
match with a DTMFAccessID value in
the dialing domain. If a match is found,
the call is sent to the matching object. If
no match is found, the "Error greeting"
for the call handler is invoked. If a key is
"locked" then this value does not apply.
Instead action is taken immediately on
that key instead of allowing more digits.
A value of 0 disables one key input .The
range of this field can vary from 1 to
10000. Default value: 1500
String
Read Only
TenantOjectId
Specifies the object Id of the partition the
Call Handler belongs to.
Integer
Read/Write
OneKeyDelay
Specifies the URI of partitions.
String
Read/Write
PartitionObjectId
Specifies what should be played after the
message. Refer to the section
Enumeration Type.
String
Read Only
PartitionURI
Specifies an object ID of the recoding.
Integer
Read/Write
PlayAfterMessage
Indicates whether the recording
referenced by
PostGreetingRecordingObjectId should
be played.
Possible values:
0 : No
1 : Always
2 : External
Default value: 0
String
Read/Write
PlayAfterMessageRecordingObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
476
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Explanation of Data Fields
Page 509
Specifies the object Id of the Post
Greeting recording.
Integer
Read/Write
PlayPostGreetingRecording
URI of the Post Greeting Recording
String
Read/Write
PostGreetingRecordingObjectId
Specifies the touchtone digits to be
prepended to extension when dialing
transfer number ( #, 0,1...9,*). Digits,
plus, hash and asterisk only are allowed
String
Read Only
PostGreetingURI
Specifies an object ID of the distribution
list that is the message recipient.
String
Read/Write
PrependDigits
Object ID of a User with a mailbox that
is the message recipient.
String
Read/Write
RecipientDistributionListObjectId
Object ID of the schedule set assigned to
the Call Handler.
String
Read Only
RecipientDistributaionListURI
Specifies the URI of schedule sets.
String
Read/Write
ScheduleSetObjectId
Determines if an outside caller can mark
their message as private.
Possible values:
0 : Never
1 : Always
2 : Ask
Default value: 0
String
Read/Write
ScheduleSetURI
A flag indicating whether an unidentified
caller can mark a message as "secure."
Default value: false
Integer
Read/Write
SendPrivateMsg
A flag indicating whether an unidentified
caller can mark a message as "urgent."
Possible values:
0 : Never
1 : Always
2 : Ask
Default value: 0(Never)
Boolean
Read/Write
SendSecureMsg
Cisco Unity Connection Provisioning Interface (CUPI) API
477
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Explanation of Data Fields
Page 510
Used when the UseDefaultTimezone is
set to false.
To know the Integer Time Zone codes for
the Time Zones installed on the server
following URI can be used:
https://<connection-server>/vmrest/timezones.
Example: 190 is the code for
(GMT+05:30) Asia/Kolkata
Integer
Read/Write
SendUrgentMsg
A flag indicating whether Cisco Unity
Connection will use the language
assigned to the call.
Possible Values:
true
false
Default value: true
Integer
Read/Write
TimeZone
A flag that is dependent on the value of
the Language field. If Language is set to
Null, UseDefaultLanguage is set to true.
If any language is specified,
UseDefaultLanguage is set to false.
Possible Values:
true
false
Boolean
Read/Write
UseCallLanguage
A flag indicating whether Cisco Unity
Connection will use the system default
Time Zone.
Possible Values:
true
false
Default value: false
Boolean
Read/Write
UseDefaultLanguage
URI of the call handler owner API.
Boolean
Read/Write
UseDefaultTimeZone
The name of the WAV file containing the
recorded audio (voice name, greeting,
etc.) for the parent object.
It is displayed once a voice-name is
recorded.
String
Read Only
CallHandlerOwnerURI
It is displayed once a voice-name is
recorded.
String
Read Only
VoiceName
Specifies the URI of greetings
String
Read Only
VoiceFileURI
Cisco Unity Connection Provisioning Interface (CUPI) API
478
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Explanation of Data Fields
Page 511
Specifies the URI of transfer options.
String
Read Only
GreetingsURI
Specifies the URI of menu entries
String
Read Only
TransferOptionsURI
Specifies the URI of menu entries
String
Read Only
MenuEntriesURI
URI for voice name once it is recorded.
String
Read Only
ViceNameURI
Cisco Unity Connection Provisioning Interface (CUPI) API --
Call Handler Owner APIs
Add a Call Handler Owner
The following is an example of the POST request that can be used to create a new call handler owner.
Note: The RoleObjectId is no longer required for assigning Call Handler owners.
- To assign a user as call handler owner
POST
https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>/callhandlerowners
Request Body:
<CallhandlerOwner>
<UserObjectId>c0430be2-52b8-46d7-8fad-c6aa13781469</UserObjectId>
</CallhandlerOwner>
Here, UserObjectId can be fetched from
GET https://<connection-server>/vmrest/users
- To assign a distribution list as call handler owner
POST
https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>/callhandlerowners
Request Body:
<CallhandlerOwner>
<DistributionListObjectId>b6616b6f-c0e0-4462-b64a-654b0f5baa65</DistributionListObjectId>
</CallhandlerOwner>
Here, DistributionListObjectId can be fetched from
GET https://<connection-server>/vmrest/distributionlists
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/handlers/callhandlers/c0430be2-52b8-46d7-8fad-c6aa13781469
JSON Example
- To assign a user as a call handler owner, do the following:
Cisco Unity Connection Provisioning Interface (CUPI) API
479
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Owner APIs
Page 512
POST
https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>/callhandlerowners
Accept: application/json
Content_type: application/json
Connection: keep_alive
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
{
"UserObjectId": "5aeb75a4-14c2-474d-bec9-90aa731ee4cc",
}
Response Code: 201
/vmrest/handlers/callhandlers/c0430be2-52b8-46d7-8fad-c6aa13781469
2. To assign a distribution list as a call handler owner, do the following:
POST
https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>/callhandlerowners
Accept: application/json
Content_type: application/json
Connection: keep_alive
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
{
"DistributionListObjectId": "5aeb75a4-14c2-474d-bec9-90aa731ee4cc",
}
Response Code: 201
/vmrest/handlers/callhandlers/c0430be2-52b8-46d7-8fad-c6aa13781469
View the Call Handler Owners
The following is an example of the Get request that can be used to fetch the call handler owners:
GET
https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>/callhandlerowners
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
480
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
View the Call Handler Owners
Page 513
<CallhandlerOwners total="2">
<CallhandlerOwner>
<URI>/vmrest/handlers/callhandlers/f3b4cc1f-c2d7-4c67-9f53-7095d4b2a928/callhandlerowners/3aee209f-948b-450a-9d0f-75e2c1d4992f</URI>
<DistributionListObjectId>b6616b6f-c0e0-4462-b64a-654b0f5baa65</DistributionListObjectId>
<DistributionListURI>/vmrest/distributionlists/b6616b6f-c0e0-4462-b64a-654b0f5baa65</DistributionListURI>
<ObjectId>3aee209f-948b-450a-9d0f-75e2c1d4992f</ObjectId>
<TargetHandlerObjectId>f3b4cc1f-c2d7-4c67-9f53-7095d4b2a928</TargetHandlerObjectId>
</CallhandlerOwner>
<CallhandlerOwner>
<URI>/vmrest/handlers/callhandlers/f3b4cc1f-c2d7-4c67-9f53-7095d4b2a928/callhandlerowners/75587df3-5be4-4e21-83b3-9ec7e4f60874</URI>
<ObjectId>75587df3-5be4-4e21-83b3-9ec7e4f60874</ObjectId>
<TargetHandlerObjectId>f3b4cc1f-c2d7-4c67-9f53-7095d4b2a928</TargetHandlerObjectId>
<UserObjectId>ecdc6d2d-19e5-4adf-ac7d-6e351a5c95c4</UserObjectId>
<UserURI>/vmrest/users/ecdc6d2d-19e5-4adf-ac7d-6e351a5c95c4</UserURI>
</CallhandlerOwner>
</CallhandlerOwners>
Response Code: 200
JSON Example
To view the list of call handler owners, do the following:
GET
https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>/callhandlerowners
Accept: application/json
Connection: keep_alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"@total": "2",
"CallhandlerOwner": {
"URI": "/vmrest/handlers/callhandlers/b2d3d56a-f0c2-4839-98c5-
48770690244a/callhandlerowners/ac6dda36-798d-4eea-9055-db5a31eb5599",
"ObjectId": "75587df3-5be4-4e21-83b3-9ec7e4f60874",
"UserObjectId": "5aeb75a4-14c2-474d-bec9-90aa731ee4cc",
"UserURI": "/vmrest/users/5aeb75a4-14c2-474d-bec9-90aa731ee4cc",
"TargetHandlerObjectId": "b2d3d56a-f0c2-4839-98c5-48770690244a"
}
"CallhandlerOwner": {
"URI": "/vmrest/handlers/callhandlers/b2d3d56a-f0c2-4839-98c5-
48770690244a/callhandlerowners/ac6dda36-798d-4eea-9055-db5a31eb5599",
"ObjectId": "3aee209f-948b-450a-9d0f-75e2c1d4992f",
"DistributionListObjectId": "b6616b6f-c0e0-4462-b64a-654b0f5baa65",
"DistributionListURI": "/vmrest/users/b6616b6f-c0e0-4462-b64a-654b0f5baa65",
"TargetHandlerObjectId": "b2d3d56a-f0c2-4839-98c5-48770690244a"
}
}
Response Code: 200
Cisco Unity Connection Provisioning Interface (CUPI) API
481
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
View the Call Handler Owners
Page 514
View the Details of Specific Call Handler Owner
The following is an example of the Get request that can be used to fetch the specific call handler owner details:
GET
https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>/callhandlerowners/<callHandlerowner-objectid>
The following is the response from the above GET request and the actual response will depend upon the
information given by you
- For a user as a call handler owner:
<CallhandlerOwner>
<URI>/vmrest/handlers/callhandlers/4afc0de6-c52c-42e4-99bb-
6359bd518f11/callhandlerowners/a6731eca-ba31-4cee-a367-0bd6f45c633f</URI>
<ObjectId>a6731eca-ba31-4cee-a367-0bd6f45c633f</ObjectId>
<UserObjectId>eaacd744-6fe1-4085-8b25-10c702fdfd20</UserObjectId>
<UserURI>/vmrest/users/eaacd744-6fe1-4085-8b25-10c702fdfd20</UserURI>
<TargetHandlerObjectId>4afc0de6-c52c-42e4-99bb-6359bd518f11</TargetHandlerObjectId>
</CallhandlerOwner>
Response Code:200
- For a distribution list as a call handler owner:
<CallhandlerOwner>
<URI>/vmrest/handlers/callhandlers/f3b4cc1f-c2d7-4c67-9f53-
7095d4b2a928/callhandlerowners/4e35ed6c-6aed-42e4-9723-b859706ac749</URI>
<DistributionListObjectId>988630fa-313a-4f0c-980f-f6dc78add3ca</DistributionListObjectId>
<DistributionListURI>/vmrest/distributionlists/988630fa-313a-4f0c-980f-f6dc78add3ca</DistributionListURI>
<ObjectId>4e35ed6c-6aed-42e4-9723-b859706ac749</ObjectId>
<TargetHandlerObjectId>f3b4cc1f-c2d7-4c67-9f53-7095d4b2a928</TargetHandlerObjectId>
</CallhandlerOwner>
Response Code:200
JSON Example
To view a specific call handler owner, do the following:
GET
https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>/callhandlerowners/<callhandlerowner-objectid>
Accept: application/json
Connection: keep_alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
- For a user as a call handler owner:
Cisco Unity Connection Provisioning Interface (CUPI) API
482
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
View the Details of Specific Call Handler Owner
Page 515
{
"URI": "/vmrest/handlers/callhandlers/b2d3d56a-f0c2-4839-98c5-
48770690244a/callhandlerowners/ac6dda36-798d-4eea-9055-db5a31eb5599",
"ObjectId": "ac6dda36-798d-4eea-9055-db5a31eb5599",
"UserObjectId": "5aeb75a4-14c2-474d-bec9-90aa731ee4cc",
"UserURI": "/vmrest/users/5aeb75a4-14c2-474d-bec9-90aa731ee4cc",
"TargetHandlerObjectId": "b2d3d56a-f0c2-4839-98c5-48770690244a"
}
Response Code:200
2. For a distribution list as a call handler owner:
{
"URI": "/vmrest/handlers/callhandlers/b2d3d56a-f0c2-4839-98c5-
48770690244a/callhandlerowners/ac6dda36-798d-4eea-9055-db5a31eb5599",
"ObjectId": "4e35ed6c-6aed-42e4-9723-b859706ac749",
"DistributionListObjectId": "988630fa-313a-4f0c-980f-f6dc78add3ca",
"DistributionListURI": "/vmrest/users/988630fa-313a-4f0c-980f-f6dc78add3ca",
"TargetHandlerObjectId": "b2d3d56a-f0c2-4839-98c5-48770690244a"
}
Response Code:200
Delete a Call Handler Owner
The following is an example of the DELETE request that can be used to delete a call handler owner:
DELETE
https://<connection-server>/vmrest/callhandlers/<callhandlerId>/callhandlerowners/<callhandlerowner-objectid>
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
JSON Example
To delete a call handler owner, do the following:
DELETE
https://<connection-server>/vmrest/callhandlers/<callhandler-objectid>/callhandlerowners/<callhandlerowner-objectid>
Accept: application/json
Connection: keep_alive
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
483
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Delete a Call Handler Owner
Page 516
Explanation of Data Fields
Comments
Data Type
Operation
Parameter
Specifies an object ID to uniquely identify
a call handler owner.
String
Read Only
ObejectId
Specifies an object ID of the user who owns
the call handler.
String
Read/Write
UserObjectId
Specifies an unique identifier of the
LocationVMS object.
String
Read Only
VmsObjectId
Specifies an object ID of the distribution list
who owns the call handler.
String
Read Write
DistributionListObjectId
Specifies an object ID of the call handler to
which the call handler owner object belongs.
String
Read Only
TragetHandlerObjectId
Specifies URI to get details of the user who
owns the Call Handler.
String
Read Only
UserURI
Specifies URI to get details of the
distribution list who owns the Call Handler
Owner
String
Read Only
DistributionListURI
Cisco Unity Connection Provisioning Interface (CUPI) API --
Call Handler Enumeration Types
Call Action
Description
Value
Name
No action taken
0
Ignore
The call is immediately terminated.
1
Hangup
Go to an object such as a call handler, directory handler or interview handler.
2
Goto
Play the error greeting.
3
Error
Take a message.
4
TakeMsg
Skip greeting.
5
SkipGreeting
Restart greeting on current handler
6
RestartGreeting
Transfer to alternate contact number.
7
TransferAltContact
Route from Next call routing rule.
8
RouteFromNextRule
Cisco Unity Connection Provisioning Interface (CUPI) API
484
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Explanation of Data Fields
Page 517
Play After Message Recording
Description
Value
Name
Don't play the recording
0
No
Play system default
1
Always
Play recording
2
External
AfterMessageTargetConversation
Description
Name
Directory conversation
AD
Transfer to a user or call handler
PHTransfer
Play greeting of a user or call handler
PHGreeting
Interview Conversation
PHInterview
Forwards the call to the user's greeting if the forwarding number matches a user
Attempt Forward
Sends the call to a user's sign-in if the calling number matches a user
Attempt SignIn
Sends the call to a conversation for sending broadcast messages
BroadcastMessageAdministrator
Sends the call to a conversation allowing the caller to transfer to a number they
specify (assuming the restriction table allows it).
SystemTransfer
Sends the call to a conversation for checked-out hotel guests.
CheckedOutGuest
Sends the call to a conversation allowing changing greetings by phone.
GreetingsAdministrator
Connects to Visual Voicemail.
ReverseTrapConv
Sends the call to the sign-in conversation, which prompts the user to enter their ID.
SubSignIn
Sends the call to the live-record pilot number configured on Call Manager.
ConvUtilsLiveRecord
Sends the call to a conversation allowing the caller to transfer to a number they
specify (assuming the restriction table allows it). However, requires user sign-in
first, so unknown callers cannot use it.
SubSysTransfer
Greeting Type
Description
Greeting
Can be used for a variety of special situations, such as vacations, leave of absence, or a holiday.
An alternate greeting overrides all other greetings.
Alternate
Plays when the extension is busy. A busy greeting overrides the standard, off hours, and internal
greetings.
Busy
Plays when a caller attempts to dial an extension that does not exist on the system during a greeting.
Error
Plays to internal callers only. An internal greeting overrides the standard and off hours greetings.
Internal
Cisco Unity Connection Provisioning Interface (CUPI) API
485
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Play After Message Recording
Page 518
Description
Greeting
Plays during the closed (nonbusiness) hours defined for the active schedule. An off hours greeting
overrides the standard greeting, and thus limits the standard greeting to the open hours defined
for the active schedule.
Off
Hours
Plays at all times unless overridden by another greeting. You cannot disable the standard greeting.
Standard
Plays when holiday schedule is encountered unless overridden by an alternate greeting.
Holiday
Cisco Unity Connection Provisioning Interface (CUPI) API --
Call Handler Greetings APIs
Call Handler Greetings APIs
Administrator can use this API to fetch the greetings. It can be used to fetch the list of greetings and also a
single instance of greetings.
Listing the Greetings
The following is an example of the GET request that fetch the list of greetings:
GET https://<connection-server>/vmrest/callhandlertemplates/<callhandler-objectid>/greetings
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<Greetings total="7"><Greeting>
<URI>/vmrest/handlers/callhandlers/fa468470-1031-4896-ab11-3736bdee3b00/greetings/Alternate</URI>
<CallHandlerObjectId>fa468470-1031-4896-ab11-3736bdee3b00</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/fa468470-1031-4896-ab11-3736bdee3b00</CallhandlerURI>
<IgnoreDigits>false</IgnoreDigits>
<PlayWhat>0</PlayWhat>
<RepromptDelay>2</RepromptDelay>
<Reprompts>0</Reprompts>
<TimeExpires>1972-01-01 05:30:00.0</TimeExpires>
<GreetingType>Alternate</GreetingType>
<AfterGreetingAction>4</AfterGreetingAction>
<PlayRecordMessagePrompt>true</PlayRecordMessagePrompt>
<EnableTransfer>false</EnableTransfer>
<EnablePersonalVideoRecording>false</EnablePersonalVideoRecording>
<PlayRecordVideoMessagePrompt>false</PlayRecordVideoMessagePrompt>
<GreetingStreamFilesURI>/vmrest/handlers/callhandlers/fa468470-1031-4896-ab11-3736bdee3b00/greetings/Alternate/greetingstreamfiles</GreetingStreamFilesURI>
<Enabled>false</Enabled>
</Greeting>
Cisco Unity Connection Provisioning Interface (CUPI) API
486
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Greetings APIs
Page 519
Response Code: 200
JSON Example
To view the list of greetings, do the following:
GET https://<connection-server>/vmrest/callhandler/<callhandler-objectid>/greetings
Accept: appliaction/json
Conenction: keep_alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"@total":"7"
"Greeting": [
{
"URI":"/vmrest/handlers/callhandlers/a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a/greetings/Alternate",
"CallHandlerObjectId":"a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a",
"CallhandlerURI":"/vmrest/handlers/callhandlers/a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a",
"IgnoreDigits":"false",
"PlayWhat":"0",
"RepromptDelay":"2",
"Reprompts":"0",
"TimeExpires":"1972-01-01 00:00:00.0",
"GreetingType":"Alternate",
"AfterGreetingAction":"4",
"PlayRecordMessagePrompt":"true" ,
"EnableTransfer":"false",
"EnablePersonalVideoRecording":"false",
"PlayRecordVideoMessagePrompt":"false",
"Enabled":"false"
},
{
"URI":"/vmrest/handlers/callhandlers/a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a/greetings/Busy",
"CallHandlerObjectId":"a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a",
"CallhandlerURI":"/vmrest/handlers/callhandlers/a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a",
"IgnoreDigits":"false",
"PlayWhat":"0",
"RepromptDelay":"2",
"Reprompts":"0",
"TimeExpires":"1972-01-01 00:00:00.0",
"GreetingType":"Busy",
"AfterGreetingAction":"4",
"PlayRecordMessagePrompt":"true",
"EnableTransfer":"false",
"EnablePersonalVideoRecording":"false",
"PlayRecordVideoMessagePrompt":"false",
"Enabled":"false"
},
]
}
Response Code: 200
Cisco Unity Connection Provisioning Interface (CUPI) API
487
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Listing the Greetings
Page 520
Viewing the Details of Specific Greeting
The following is an example of the GET request that lists the details of specific greeting:
GET https://<connection-server>/vmrest/callhandler/<callhandler-
objectid>/greetings/<Greetingname>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<Greeting>
<URI>/vmrest/handlers/callhandlers/5f6e1043-5edf-4646-90ac-836910ac1a4c/greetings/Alternate</URI>
<CallHandlerObjectId>5f6e1043-5edf-4646-90ac-836910ac1a4c</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/5f6e1043-5edf-4646-90ac-836910ac1a4c</CallhandlerURI>
<IgnoreDigits>false</IgnoreDigits>
<PlayWhat>0</PlayWhat>
<RepromptDelay>2</RepromptDelay>
<Reprompts>0</Reprompts>
<TimeExpires>1972-01-01 00:00:00.0</TimeExpires>
<GreetingType>Alternate</GreetingType>
<AfterGreetingAction>4</AfterGreetingAction>
<PlayRecordMessagePrompt>true</PlayRecordMessagePrompt>
<EnableTransfer>false</EnableTransfer>
<EnablePersonalVideoRecording>false</EnablePersonalVideoRecording>
<PlayRecordVideoMessagePrompt>false</PlayRecordVideoMessagePrompt>
<Enabled>false</Enabled>
</Greeting>
Response Code: 200
JSON Example
To view a specific greeting, do the following:
GET https://<connection-server>/vmrest/callhandler/<Callhandler-
objectid>/greetings/<Greetingname>
Accept: application/json
Connection: keep_alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
488
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Viewing the Details of Specific Greeting
Page 521
{
"URI":"/vmrest/handlers/callhandlers/a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a/greetings/Alternate",
"CallHandlerObjectId":"a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a",
"CallhandlerURI":"/vmrest/handlers/callhandlers/a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a",
"IgnoreDigits":"false",
"PlayWhat":"0",
"RepromptDelay":"2",
"Reprompts":"0",
"TimeExpires":"1972-01-01 00:00:00.0",
"GreetingType":"Alternate",
"AfterGreetingAction":"4",
"PlayRecordMessagePrompt":"true" ,
"EnableTransfer":"false",
"EnablePersonalVideoRecording":"false",
"PlayRecordVideoMessagePrompt":"false",
"Enabled":"false"
}
Response Code: 200
Updating a Greeting
The following is an example of the GET request that updates the details of specific greeting:
PUT
https://<connection-server>/vmrest/callhandler/<callhandler-objectid>/greetings/<Greetingname>
Request Body:
<Greeting>
<PlayWhat>1</PlayWhat>
<PlayRecordMessagePrompt>true</PlayRecordMessagePrompt>
</Greeting>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
To update a particular greeting, do the following:
PUT
https://<connection-server>/vmrest/callhandler/<Callhandler-objectid>/greetings/<Greetingname>
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"PlayWhat":"1",
"PlayRecordMessagePrompt":"true"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
489
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Updating a Greeting
Page 522
Using the CUTI to record greetings via the Phone
The following example demonstrates how to achieve this task.
1.
Record the greeting using CUTI, the details are available at Using CUTI for Basic Call Operations.
2.
The record operation in Step-1 returns XML/JSON output containing the details of the recorded file.
Example output:
<CallControl>
<op>RECORD</op>
<resourceType>STREAM</resourceType>
<resourceId>01a78559-07ec-4898-beb6-444a4ae9c569.wav</resourceId>
<lastResult>0</lastResult>
<speed>100</speed>
<volume>100</volume>
<startPosition>0</startPosition>
</CallControl>
3.
Send the following PUT request with the body of request containing above XML/JSON output.
Request :
PUT
https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-id>/greetings/Alternate/greetingstreamfiles/<language-code>/audio
Request Body :
<CallControl>
<op>RECORD</op>
<resourceType>STREAM</resourceType>
<resourceId>01a78559-07ec-4898-beb6-444a4ae9c569.wav</resourceId>
<lastResult>0</lastResult>
<speed>100</speed>
<volume>100</volume>
<startPosition>0</startPosition>
</CallControl>
Response Code: 204 No Content
The Put request will update the Greetings. The update of a Greetings wave file is similar whether a audio
wave file is being used or the audio is a CallControl XML/JSON schema.
Enabling or disabling the Greeting
Greetings are disabled or enabled using the combination of fields "Enabled" and "TimeExpires".
Note
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Greetings APIs
Disabling the Greeting
For this scenario the request body should contain the "Enabled" which should be set to false.
PUT
https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>/greetings/<Greetingname>
Request Body:
Cisco Unity Connection Provisioning Interface (CUPI) API
490
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Using the CUTI to record greetings via the Phone

Page 523
<Greeting>
<Enabled>false</Enabled>
</Greeting>
Response Code : 204
JSON Example
{
"Enabled":"false"
}
Response Code : 204
Save Video Greetings
Unity Connection allows you to save video greetings using both GET and PUT requests.
Example of GET Request
GET
http://<connection-server>/vmrest/Callhandlersprimarytemplates/<callhandlerobjectid>/usertemplates/Greetings/<GreetingType>/GreetingStreamFiles/<language>/video
The following is the response of the above GET command and the output may vary depending on your inputs.
Response: 200
<CallControl>
<resourceId>aad91d6d-aeca-4a72-8069-b656efb3041f.wav</resourceId>
<sessionId>570146ed1504cb1</sessionId>
</CallControl
JSON Example
Request
GET
vmrest/handlers/callhandlers/30600b21-1a4c-47a3-a078-8078984e5376/greetings/Standard/greetingstreamfiles/1033/video
Accept: application/json
User-Agent: Java/1.6.0_17
Host: <connection-server>
Connection: keep-alive
authorization: Basic Y2NtYWRtaW5pc3RyYXRvcjplY3NidWxhYg=
Response
HTTP/1.1 200
Content-Type: application/json
Date: Fri, 15 Jan 2010 15:14:11 GMT
Server:
{ “resourceId” :” aad91d6d-aeca-4a72-8069-b656efb3041f.wav”, “sessionId” : ”570146ed1504cb1”}
Example of PUT Request
PUT
http://<connection-server>/vmrest/Callhandlersprimarytemplates/<callhandlerobjectid>/usertemplates/Greetings/<GreetingType>/GreetingStreamFiles/<language>/video
Cisco Unity Connection Provisioning Interface (CUPI) API
491
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Save Video Greetings
Page 524
<CallControl>
<resourceId>aad91d6d-aeca-4a72-8069-b656efb3041f.wav</resourceId>
<sessionId>570146ed1504cb1</sessionId>
</CallControl>
Response: 204 OK
JSON Example
Request
PUT
vmrest/handlers/callhandlers/30600b21-1a4c-47a3-a078-8078984e5376/greetings/Standard/greetingstreamfiles/1033/video
Content-Type: application/json
Accept: application/json
Host: <connection-server>
Connection: keep-alive
authorization: Basic Y2NtYWRtaW5pc3RyYXRvcjplY3NidWxhYg==
{ “resourceId” :” aad91d6d-aeca-4a72-8069-b656efb3041f.wav”, “sessionId” : ”570146ed1504cb1”}
Response :
HTTP/1.1 204
Content-Type: application/json
Date: Fri, 15 Jan 2010 15:14:11 GMT
Server:
Explanation of Data Fields
Comments
Data
Type
Operations
Parameter
URI of greetings
String
Read
Only
URI
The unique identifier of the call handler object to which this
greeting rule belongs.
String
(36)
Read
Only
CallHandlerObjectId
URI of the call handler.
String
Read/Write
TemplateCallHandlerURI
A flag indicating whether Cisco Unity Connection takes
action in response to touchtone keys pressed by callers during
the greeting.
This column overrides all the Menu Entry settings when this
greeting is active. This has the same effect as setting all the
menu entry keys for this handler to "locked". It is a shorthand
way of locking callers into the greeting so they cannot get
out until it completes. Values can be:
• false: Caller input enabled during greeting
• true: Caller input ignored during greeting
Default Value: false
Boolean
Read/Write
IgnoreDigits
Cisco Unity Connection Provisioning Interface (CUPI) API
492
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Explanation of Data Fields
Page 525
Comments
Data
Type
Operations
Parameter
Specifies if the system default greeting, personal recording,
or nothing should be played.
Default Value: 0 For more information, refer to the
Enumeration Type section.
Integer
Read/Write
PlayWhat
The amount of time (in seconds) that Cisco Unity Connection
waits without receiving any input from a caller before Cisco
Unity Connection prompts the caller again. The range of this
field can vary from 0 to 100.
Values can be:
• 0: Do wait without receiving caller input and do not
replay greeting.
• 1 or greater: Wait this number of seconds without
receiving any input from the caller before playing the
greeting again.
Default Value: 2
Integer
Read/Write
RepromptDelay
The number of times to reprompt a caller. After the number
of times indicated here, Cisco Unity Connection performs
the after-greeting action.
This column is typically used when an audio text application
is expecting input from a caller. The range of this field can
vary from 0 to 100. Values can be:
• 0: Do not re-prompt - Cisco Unity Connection will play
the greeting once and then the after-greeting action is
taken.
• 1 or greater: Number of times to re-prompt.
The "RepromptDelay" value determines how many seconds
to wait in between replays. Default Value: 0
Integer
Read/Write
Reprompts
Specifies the greeting type. There are 7 greeting types
available.
String
Read
Only
GreetingType
The type of call action to take, e.g., hang-up, goto another
object, etc.
The values that are allowed are:
• Hangup
• Goto
• Restart greeting
• Route from next call routing rule
• Take message
• Custom Type: Call Action
Integer
Read/Write
AfterGreetingAction
Cisco Unity Connection Provisioning Interface (CUPI) API
493
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Explanation of Data Fields
Page 526
Comments
Data
Type
Operations
Parameter
Specifies the conversation to go to after the greeting is played.
For more information, refer to the Enumeration Type section.
String
Read/Write
AfterGreetingTargetConversation
The unique identifier of the call action object that Cisco Unity
Connection performs after the greeting is played.
String
(36)
Read/Write
AfterGreetingTargetHandlerObjectId
The date and time when the greeting rule expires. The
greeting rule is considered not expired (enabled), if the value
is NULL or a future date. The greeting rule is considered
expired (disabled), the value is in the past.
The "Enhanced Alternate Greeting" feature uses this column
to specify how long the subscriber wants their alternate
greeting enabled. The standard greeting rule should never be
disabled. The field is not displayed when the Greeting field
is enabled with no end date and end time.
Datetime
Read/Write
TimeExpires
A flag indicating whether the "Record your message at the
tone…" prompt prior to recording a message.
Values:
• true - Play Record Message prompt is enabled.
• false - Play Record prompt is disabled.
Default Value: true
Boolean
Read/Write
PlayRecordMessagePrompt
A flag indicating when an extension is dialed at the greeting
and the extension is not available whether to transfer to
another extension.
Values:
• true: Allows transfer
• false: Does not allow
Default Value: false
Boolean
Read/Write
EnableTransfer
A flag indicating whether the personal video recording of
the user will be used.
Values:
• true : Personal Video Recording is enabled.
• false : Personal Video Recording is not enabled.
Default value : false
Boolean
Read/Write
EnablePersonalVideoRecording
Cisco Unity Connection Provisioning Interface (CUPI) API
494
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Explanation of Data Fields
Page 527
Comments
Data
Type
Operations
Parameter
A flag indicating whether Cisco Unity Connection will
prompt callers to wait for a tone before recording their video
message.
Values:
• true : Callers will be prompted with a tone before
recording their video message.
• false : Callers will not be prompted with a tone before
recording their video message.
Default value : false
This flag is editable only when the flag
EnablePersonalVideoRecording is set to True.
Boolean
Read/Write
PlayRecordVideoMessagePrompt
A flag indicating that the Greeting is enabled or disabled
Boolean
Read/Write
Enabled
Cisco Unity Connection Provisioning Interface (CUPI) API --
TransferRulesAPIs
Listing the Transfer Rules
To enable a transfer type and update the rule to transfer call to another extension, set the transfer type to
supervise transfer and if the extension is busy, ask callers to hold. In addition, you can also set some call
screening options.
GET
https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>/transferoptions
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
495
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Cisco Unity Connection Provisioning Interface (CUPI) API -- TransferRulesAPIs
Page 528
<TransferOptions total="2">
<TransferOption>
<URI>/vmrest/handlers/callhandlers/166da38f-951b-4c9a-92da-
87ed7993cfec/transferoptions/Standard</URI>
<CallHandlerObjectId>166da38f-951b-4c9a-92da-
87ed7993cfec</CallHandlerObjectId>
<CallhandlerURI>/vmrest/handlers/callhandlers/166da38f-951b-4c9a-92da-
87ed7993cfec</CallhandlerURI>
<TransferOptionType>Standard</TransferOptionType>
<Action>0</Action>
<Extension>0</Extension>
<RnaAction>1</RnaAction>
<TransferAnnounce>false</TransferAnnounce>
<TransferConfirm>false</TransferConfirm>
<TransferDtDetect>false</TransferDtDetect>
<TransferHoldingMode>0</TransferHoldingMode>
<TransferIntroduce>false</TransferIntroduce>
<TransferRings>4</TransferRings>
<TransferScreening>false</TransferScreening>
<TransferType>0</TransferType>
<MediaSwitchObjectId>cd10d831-28d3-40da-ab13-
a87431b38682</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/cd10d831-28d3-40da-ab13-
a87431b38682</PhoneSystemURI>
<UsePrimaryExtension>false</UsePrimaryExtension>
<PlayTransferPrompt>true</PlayTransferPrompt>
<PersonalCallTransfer>false</PersonalCallTransfer>
<Enabled>true</Enabled>
</TransferOption>
</TransferOptions>
Response Code: 200
JSON Example
To enable transfer rule, do the following:
GET
https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>/transferoptions
Action: application/json
Connection: keep_alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
496
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Listing the Transfer Rules
Page 529
{
"@total": "2",
"TransferOption":
[
{
"URI": "/vmrest/handlers/callhandlers/166da38f-951b-4c9a-92da-
87ed7993cfec/transferoptions/Alternate",
"CallHandlerObjectId": "166da38f-951b-4c9a-92da-87ed7993cfec",
"CallhandlerURI": "/vmrest/handlers/callhandlers/166da38f-951b-4c9a-92da-
87ed7993cfec",
"TransferOptionType": "Alternate",
"Action": "0",
"Extension": "0",
"RnaAction": "1",
"TimeExpires": "1972-01-01 00:00:00.0",
"TransferAnnounce": "false",
"TransferConfirm": "false",
"TransferDtDetect": "false",
"TransferHoldingMode": "0",
"TransferIntroduce": "false",
"TransferRings": "4",
"TransferScreening": "false",
"TransferType": "0",
"MediaSwitchObjectId": "cd10d831-28d3-40da-ab13-a87431b38682",
"PhoneSystemURI": "/vmrest/phonesystems/cd10d831-28d3-40da-ab13-
a87431b38682",
"UsePrimaryExtension": "true",
"PlayTransferPrompt": "true",
"PersonalCallTransfer": "false",
"Enabled": "false"
},
{
"URI": "/vmrest/callhandlerprimarytemplates/166da38f-951b-4c9a-92da-
87ed7993cfec/transferoptions/Off%20Hours",
"CallHandlerObjectId": "166da38f-951b-4c9a-92da-87ed7993cfec",
"CallhandlerURI": "/vmrest/handlers/callhandlers/166da38f-951b-4c9a-92da-
87ed7993cfec",
"TransferOptionType": "Off Hours",
"Action": "0",
"Extension": "0",
"RnaAction": "1",
"TransferAnnounce": "false",
"TransferConfirm": "false",
"TransferDtDetect": "false",
"TransferHoldingMode": "0",
"TransferIntroduce": "false",
"TransferRings": "4",
"TransferScreening": "false",
"TransferType": "0",
"MediaSwitchObjectId": "cd10d831-28d3-40da-ab13-a87431b38682",
"PhoneSystemURI": "/vmrest/phonesystems/cd10d831-28d3-40da-ab13-
a87431b38682",
"UsePrimaryExtension": "true",
"PlayTransferPrompt": "true",
"PersonalCallTransfer": "false",
"Enabled": "true"
}
}
}
Response Code: 200
Cisco Unity Connection Provisioning Interface (CUPI) API
497
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Listing the Transfer Rules
Page 530
Update a Transfer Rule
We can do a PUT Operation to update a transfer rule.
Request URI:
PUT https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-
objectid>/transferoptions/Alternate
Request Body:
<TransferOption>
<Action>1</Action>
<Extension>1000</Extension>
<TimeExpires>2012-12-31 12:00:00.0</TimeExpires>
<TransferAnnounce>true</TransferAnnounce>
<TransferConfirm>true</TransferConfirm>
<TransferIntroduce>true</TransferIntroduce>
<TransferScreening>true</TransferScreening>
<TransferType>1</TransferType>
<Enabled>true</Enabled>
</TransferOption>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
To update transfer rule, do the following:
PUT
https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>/transferoptions/Alternate
Action: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"Action": "1",
"TimeExpires": "2012-12-31 12:00:00.0",
"TransferAnnounce": "true",
"TransferConfirm": "true",
"TransferIntroduce": "true",
"TransferRings": "8",
"TransferScreening": "true",
"TransferType": "1",
"Enabled": "true"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
498
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Update a Transfer Rule
Page 531
Explanation of Data Fields
Comments
Data
Type
Operations
Parameter
Specifies URI of the call handler transfer options.
String
Read
Only
URI
Specifies the call handler object ID.
String
(36)
Read
Only
CallHandlerObjectId
SpecifiesURI of the call handler being referenced.
String
Read
Only
CallHandlerURI
Specifies the transfer option type. There are 3 transfer option types
available:-
• Alternate - in effect at all times, overrides standard and off hours.
• Off Hours - off or closed hours based on specified schedule.
• Standard - standard hours based on specified schedule.
String
Read
Only
TransferOptionType
Specifies the Transfer rule action. Refer to the section Enumeration
Type
Default value : 0
Integer
Read/Write
Action
Action to take on Ring-No-Answer (RNA) condition. Refer to the
section Enumeration Type.
Default value: 1
Integer
Read/Write
RnaAction
Rather than using a simple on and off scheme for enabling transfer
options and greetings, Cisco Unity Connection employs a date scheme.
If the value is NULL or a date in the future then the transfer option
is considered enabled. If the date is sometime in the past, then the
transfer option is considered disabled.
The "Standard" transfer option should never be disabled. For primary
call handlers associated with the subscribers, the "Alternate" transfer
option should always be enabled since subscribers have only one
transfer option used currently.
DateTime
Read/Write
TimeExpires
A flag indicating whether Cisco Unity Connection plays "transferring
call" when the subscriber answers the phone. This requires a
TransferType column value = "Supervised" (1)
Possible Values:
• false: Do not say "Transferring call" when the subscriber answers
the phone
• true: Say "Transferring call" when the subscriber answers the
phone
Default Value: false
Boolean
Read/Write
TransferAnnounce
Cisco Unity Connection Provisioning Interface (CUPI) API
499
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Explanation of Data Fields
Page 532
Comments
Data
Type
Operations
Parameter
The type of call transfer Unity Connection will perform - supervised
or unsupervised (also referred to as "Release to Switch" transfer).
This requires a "TransferType" of supervised (1).
• Unsupervised transfer (also referred to as "Release to Switch"
transfer) - Cisco Unity Connection puts the caller on hold, dials
the extension, and releases the call to the phone system. When
the line is busy or is not answered, the phone system (not Cisco
Unity Connection) forwards the call to the subscriber or handler
greeting. To use "Unsupervised" transfer, call forwarding must
be enabled on the phone system.
• Supervised transfer - Cisco Unity Connection acts as a
receptionist, handling the transfer. If the line is busy or the call
is not answered, Cisco Unity Connection (not the phone system)
forwards the call to the subscriber or handler greeting. Supervised
transfer can be used regardless if the phone system forwards
calls or not.
Typically, TransferConfirm is used in conjunction with the call
screening option ("TransferScreening" column) enabled. This
combination enables the subscriber to hear the name of the caller and
then decide if they want to take the call or not. Possible values:
• false: Transfer confirm disabled
• true: Transfer confirm enabled
Default Value: false
Boolean
Read/Write
TransferConfirm
A flag indicating whether Cisco Unity Connection will check for dial
tone before attempting to transfer the call. This requires a
"TransferType" of supervised (1).
This is usually used for phone systems that do not have "positive
disconnect" capabilities to avoid sending terminated calls to the
operator console. Possible Values:
• false: Do not check for dial tone prior to transferring a call
• true: Check for dial tone prior to transferring a call
Default value: false.
Boolean
Read/Write
TransferDtDetect
The action Cisco Unity Connection will take when the extension is
busy. This requires a TransferType column value = "Supervised" (1).
Refer to the section Enumeration Type. Default Value is 0.
Integer
Read/Write
TransferHoldingMode
Cisco Unity Connection Provisioning Interface (CUPI) API
500
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Explanation of Data Fields
Page 533
Comments
Data
Type
Operations
Parameter
A flag indicating whether Cisco Unity Connection will say "call for
<recorded name of the call handler>" when the subscriber answers
the phone.
Requires a "TransferType" of supervised (1).This functionality is
normally used when a single extension number is being shared by
multiple subscribers or a scenario where the subscriber who is the
message recipient takes calls for more than one dialed extension. The
introduction alerts the subscriber who answers that the call is for the
call handler. Default value: false.
Boolean
Read/Write
TransferIntroduce
The number of times the extension rings before Cisco Unity
Connection considers it a "ring no answer" and plays the subscriber
or handler greeting.
Requires a "TransferType" of supervised (1). The value of this column
should never be less than 2 for a supervised transfer. Possible values:
Range 2-20 Default Value: 4
Integer
Read/Write
TransferRings
A flag indicating whether Cisco Unity Connection will prompt callers
to say their names. When the phone is answered, the subscriber hears
"Call from..." before Cisco Unity Connection transfers the
call.Requires a "TransferType" of supervised (1).
Normally this column is used along with "TransferConfirm" to allow
the subscriber to screen calls. Possible Values:
• false: Call screening disabled
• true: Ask and record caller name
Default value: false.
Boolean
Read/Write
TransferScreening
The type of call transfer Cisco Unity Connection will perform -
supervised or unsupervised (also referred to as "Release to Switch"
transfer).
• Unsupervised transfer (also referred to as "Release to Switch"
transfer) - Cisco Unity Connection puts the caller on hold, dials
the extension, and releases the call to the phone system. When
the line is busy or is not answered, the phone system (not Cisco
Unity Connection) forwards the call to the subscriber or handler
greeting. To use "Unsupervised" transfer, call forwarding must
be enabled on the phone system.
• Supervised transfer - Cisco Unity Connection acts as a
receptionist, handling the transfer. If the line is busy or the call
is not answered, Cisco Unity Connection (not the phone system)
forwards the call to the subscriber or handler greeting. Supervised
transfer can be used regardless if the phone system forwards
calls or not.
Refer to the section Enumeration Type. Default value: 0
String
Read
Only
TransferType
Cisco Unity Connection Provisioning Interface (CUPI) API
501
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Explanation of Data Fields
Page 534
Comments
Data
Type
Operations
Parameter
The unique identifier of the MediaSwitch object that Cisco Unity
Connection uses for transferring the call to the subscriber phone.
String
(36)
Read
Only
MediaSwitchObjectId
Specifies the URI of the Phone Systems.
String
Read
Only
PhoneSystemURI
If extension is null this field will be set to true to indicate that we are
using primary extension instead of DtmfAccessId for the owning
handler or the subscriber.
Possible value:
• true
• false
Default value: true
Boolean
Read/Write
UsePrimaryExtension
If an administrator using Cisco Unity Connection Administration
chooses to transfer to the extension of a subscriber or call handler,
Cisco Unity Connection will automatically enter the DtmfAccessId
value pulled from the DtmfAccessId table for the call handler into
this column.Can take values:Digits, hash, comma, asterisk, plus are
allowed.
String
(40)
Read/Write
Extension
A flag indicating whether the "Wait while I transfer your call" prompt
should be played prior to transferring a call.
Possible values:
• true - Play Transfer prompt is enabled.
• false - Play transfer prompt is disabled.
Default Value: true.
Boolean
Read/Write
PlayTransferprompt
A flag indicating whether or not Personal Call Transfer Rules are
used for the specific Transfer Option.
Possible Values:-
• false: Personal Call Transfer Rules are not used.
• true:- Personal Call Transfer Rules are used.
Default value: false
Boolean
Read/Write
PersonalCallTransfer
Indicate whether the transfer option is enabled or not. To enable rule
till particular end date, TimeExpires should also be specified.
Whereas, to enable transfer rule with no end date, the TimeExpires
field should be empty.
Possible Values:
• true: enabled
• false: disabled
Default Value: true
Boolean
Read/Write
Enabled
Cisco Unity Connection Provisioning Interface (CUPI) API
502
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Explanation of Data Fields
Page 535
The transfer rules are enabled with no end date by default.
Note
Cisco Unity Connection Provisioning Interface (CUPI) API
503
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Explanation of Data Fields

Page 536
Cisco Unity Connection Provisioning Interface (CUPI) API
504
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler
Explanation of Data Fields
Page 537
C H A P T E R 38
Cisco Unity Connection Provisioning Interface
(CUPI) API -- Call Handler Settings
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Assigning a Schedule to a Call Handler,
on page 505
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Caller Input Keys , on page 509
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Greetings , on page 513
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Updating Caller Input Keys, on page 515
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Custom Recordings, on page 519
Cisco Unity Connection Provisioning Interface (CUPI) API --
Assigning a Schedule to a Call Handler
Introduction
In order to assign a schedule to a call handler, such as the Opening Greeting Call Handler, an administrator
should first create a ScheduleSet and its supporting objects, and then change the Call Handler to point to that
new ScheduleSet.
Creating a Schedule
Schedules are relatively complicated objects in Cisco Unity Connection. They are comprised of 4 different
types of objects, and the top level object is called a ScheduleSet. For a more detailed explanation of how the
schedules work in Unity Connection, check Schedules Overview
When a schedule has been created, the administrator will need the ScheduleSet's ObjectId in order to associate
it with a call handler.
Associating a ScheduleSet with a Call Handler
Retrieving the List of Call Handlers
In order to retrieve the list of call handlers, an administrator makes a GET request to the call handler resource:
Cisco Unity Connection Provisioning Interface (CUPI) API
505

Page 538
GET /vmrest/handlers/callhandlers
This will return a list of all call handlers on the system. A portion of that list is shown here:
Cisco Unity Connection Provisioning Interface (CUPI) API
506
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings
Retrieving the List of Call Handlers
Page 539
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<Callhandlers total="5">
<Callhandler>
<URI>/vmrest/handlers/callhandlers/03991ce8-0eaa-40cc-86a9-c0c88d9066ad</URI>
<CreationTime>2010-05-25T18:38:51Z</CreationTime>
<Language>1033</Language>
<Undeletable>true</Undeletable>
<VoiceName>0164efab-5c35-42bd-8284-018746edc64b.wav</VoiceName>
<VoiceFileURI>/vmrest/voicefiles/0164efab-5c35-42bd-8284-018746edc64b.wav</VoiceFileURI>
<LocationObjectId>6919b242-ed60-4f3a-95fa-40967171485e</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/6919b242-ed60-4f3a-95fa-40967171485e</LocationURI>
<EditMsg>true</EditMsg>
<IsPrimary>false</IsPrimary>
<OneKeyDelay>1500</OneKeyDelay>
<ScheduleSetObjectId>a7e21c61-296d-46f1-9860-50966bbfbb8e</ScheduleSetObjectId>
<ScheduleSetURI>/vmrest/schedulesets/a7e21c61-296d-46f1-9860-50966bbfbb8e</ScheduleSetURI>
<SendUrgentMsg>0</SendUrgentMsg>
<MaxMsgLen>300</MaxMsgLen>
<IsTemplate>false</IsTemplate>
<ObjectId>03991ce8-0eaa-40cc-86a9-c0c88d9066ad</ObjectId>
<RecipientDistributionListObjectId>7082dace-606c-4f2c-8af1-764d149e4500</RecipientDistributionListObjectId>
<RecipientDistributionListURI>/vmrest/distributionlists/7082dace-606c-4f2c-8af1-764d149e4500</RecipientDistributionListURI>
<DisplayName>Opening Greeting</DisplayName>
<AfterMessageAction>2</AfterMessageAction>
<AfterMessageTargetConversation>PHGreeting</AfterMessageTargetConversation>
<AfterMessageTargetHandlerObjectId>3910fd6b-8d56-4b83-89a6-d5c825d69916</AfterMessageTargetHandlerObjectId>
<TimeZone>4</TimeZone>
<UseDefaultLanguage>true</UseDefaultLanguage>
<UseDefaultTimeZone>true</UseDefaultTimeZone>
<MediaSwitchObjectId>2d4be643-a206-4705-92a9-261d191f2df4</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/2d4be643-a206-4705-92a9-261d191f2df4</PhoneSystemURI>
<UseCallLanguage>true</UseCallLanguage>
<SendSecureMsg>false</SendSecureMsg>
<EnablePrependDigits>false</EnablePrependDigits>
<DispatchDelivery>false</DispatchDelivery>
<CallSearchSpaceObjectId>44228e57-f458-4d56-809a-8d33fbdecb56</CallSearchSpaceObjectId>
<CallSearchSpaceURI>/vmrest/searchspaces/44228e57-f458-4d56-809a-8d33fbdecb56</CallSearchSpaceURI>
<InheritSearchSpaceFromCall>true</InheritSearchSpaceFromCall>
<PartitionObjectId>5d61a103-87a8-41c6-ba0b-90e1c72eda7c</PartitionObjectId>
<PartitionURI>/vmrest/partitions/5d61a103-87a8-41c6-ba0b-90e1c72eda7c</PartitionURI>
<GreetingsURI>/vmrest/handlers/callhandlers/03991ce8-0eaa-40cc-86a9-c0c88d9066ad/greetings</GreetingsURI>
<TransferOptionsURI>/vmrest/handlers/callhandlers/03991ce8-0eaa-40cc-86a9-c0c88d9066ad/transferoptions</TransferOptionsURI>
Cisco Unity Connection Provisioning Interface (CUPI) API
507
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings
Retrieving the List of Call Handlers
Page 540
<MenuEntriesURI>/vmrest/handlers/callhandlers/03991ce8-0eaa-40cc-86a9-c0c88d9066ad/menuentries</MenuEntriesURI>
</Callhandler>
<Callhandler>
...
</Callhandler>
...
</Callhandlers>
Selecting the Call Handler
From the list of call handlers obtained by doing the previous step, the administrator should choose one, usually
based on DisplayName. In program code, this can be done by loading the returned XML document into an
XML parser, and then finding the node with the requested DisplayName.
In this example, let's choose the Opening Greeting Call Handler, meaning the call handler with the DisplayName
"Opening Greeting." The URI field tells the administrator which URI to use in order to retrieve, modify, or
delete the call handler. In this example, the URI is
/vmrest/handlers/callhandlers/03991ce8-0eaa-40cc-86a9-c0c88d9066ad.
Modifying the Call Handler
In order the change the schedule associated with a call handler, the administrator makes a PUT to the call
handler resource, requesting a modification to the ScheduleSetObjectId field. Let's say that
9dd6c1d5-249e-4715-8953-396ce2f26314 is the ObjectId for the ScheduleSet that the administrator created
earlier.
PUT /vmrest/handlers/callhandlers/03991ce8-0eaa-40cc-86a9-c0c88d9066ad
<Callhandler>
<ScheduleSetObjectId>9dd6c1d5-249e-4715-8953-396ce2f26314</ScheduleSetObjectId>
</Callhandler>
At this point, the call handler will now be active during the time periods described by the ScheduleSet. About
Caller Input Keys
Finding Which Schedule Is Assigned to a Call Handler
In order to find out which schedule is currently assigned to a call handler, an administrator makes a GET
request to the call handler resource, as described earlier. After selecting a call handler from the list, the
ScheduleSetURI field provides a link to the ScheduleSet that is associated with the call handler. The
administrator can then make a GET request to that URI to retrieve the ScheduleSet:
GET /vmrest/schedulesets/9dd6c1d5-249e-4715-8953-396ce2f26314
That will return the ScheduleSet. From that ScheduleSet object, the administrator can retrieve the
ScheduleSetMembers, Schedules, and ScheduleDetails that comprise the entire Schedule.
Cisco Unity Connection Provisioning Interface (CUPI) API
508
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings
Selecting the Call Handler
Page 541
Cisco Unity Connection Provisioning Interface (CUPI) API --
Caller Input Keys
About Caller Input Keys
(Note that this content is applicable to Cisco Unity Connection 7.1(3) and later)
In order to use the CUPI API to update caller input keys, you need to determine the object ID of the call
handler whose caller input key you want to change.
To make an update to caller input keys for a user, you need to determine the object ID of the user's call handler.
Every user who has caller input keys has a call handler. When looking at the user data returned from the
following GET, the object ID is under the element <CallHandlerObjectId>:
GET https://<server>/vmrest/users/<userobjectid>
When you have determined the object ID of the call handler that you want to change, you can do any of the
following operations.
Ignore
The default setting of most keys is "Ignore." To set a key to ignore, do the following PUT request:
PUT
https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>0</Action>
</MenuEntry>
The Action field is a custom type used to determine at a basic level what the caller input key is going to do.
The 0 value denotes that this key should be ignored.
Hang Up
To set a key to hang up, do the following PUT request:
PUT
https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>1</Action>
</MenuEntry>
The Action field of 1 denotes that this key should terminate the call.
Restart Greeting
To set a key to restart the greeting, do the following PUT request:
Cisco Unity Connection Provisioning Interface (CUPI) API
509
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- Caller Input Keys
Page 542
PUT
https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>6</Action>
</MenuEntry>
The Action field of 6 denotes that this key should restart playback of the greeting from the beginning.
Route from Next Call Routing Rule
To set a key to route the call starting from the next call routing rule, do the following PUT request:
PUT
https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>8</Action>
</MenuEntry>
The Action field of 8 denotes that this key should route the call starting from the next call routing rule.
Skip Greeting
To set a key to skip the greeting, do the following PUT request:
PUT
https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>5</Action>
</MenuEntry>
The Action field of 5 denotes that this key should skip the remainder of the greeting and take the caller directly
to the after greeting action.
Take a Message
To set a key to take a message, do the following PUT request:
PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>4</Action>
</MenuEntry>
The Action field of 4 denotes that this key should prompt the caller to record a message.
Transfer to an Alternate Contact Number
To transfer a caller to an alternate contact number, do the following PUT request:
Cisco Unity Connection Provisioning Interface (CUPI) API
510
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings
Route from Next Call Routing Rule
Page 543
PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>7</Action>
<TransferNumber>number to transfer to</TransferNumber>
</MenuEntry>
The Action field of 7 denotes that this key should transfer the caller to an alternate contact number. The
TransferNumber is the number that the caller will be release-transferred to. Note that including a
TransferNumber is optional; if you choose not to include a TransferNumber, users can configure their own
alternate contact numbers by phone (by providing a number to transfers caller to).
Currently, the CUPI API does not allow you to set the TransferNumber to an empty string. Therefore, if you
set the TransferNumber, you can change it later to a different number, but you cannot leave it empty. In
addition, the CUPI API does not allow read or write access to which type of transfer the alternate contact
number uses (release transfer vs. supervised transfer).
Transfer to a User or a Call Handler
To transfer a caller to a user or a call handler, do the following PUT request:
PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>2</Action>
<TargetConversation>PHTransfer</TargetConversation>
<TargetHandlerObjectId>05d9e169-5c87-4415-aaed-c58a14816c8d</TargetHandlerObjectId>
</MenuEntry>
The Action field of 2 denotes that this key should transfer the caller to another conversation. This is used to
transfer callers to other objects, or to send callers to other conversations such as the system transfer conversation.
The TargetConversation should be set to PHTransfer if you want to transfer to the call handler in question.
If you want to have the call go directly the call handler greeting, set it to PHGreeting instead.
The TargetHandlerObjectId is the object ID of the call handler that you want the key to transfer the caller to.
Transfer to an Interview Handler
To transfer a caller to an interview handler, do the following PUT request:
PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>2</Action>
<TargetConversation>PHInterview</TargetConversation>
<TargetHandlerObjectId>interview handler object id</TargetHandlerObjectId>
</MenuEntry>
The TargetConversation should be set to PHInterview. The TargetHandlerObjectId is the object ID of the
interview handler that you want to the caller input key to go to.
Transfer to a Directory Handler
To transfer a caller to a directory handler, do the following PUT request:
Cisco Unity Connection Provisioning Interface (CUPI) API
511
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings
Transfer to a User or a Call Handler
Page 544
PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>2</Action>
<TargetConversation>AD</TargetConversation>
<TargetHandlerObjectId>object id of directory handler</TargetHandlerObjectId>
</MenuEntry>
The TargetConversation should be set to AD. The TargetHandlerObjectId is the object ID of the directory
handler that you want to the caller input key to go to.
Transfer to the Broadcast Message Administrator Conversation
To transfer a caller to the Broadcast Message Administrator conversation, do the following PUT request:
PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>2</Action>
<TargetConversation>BroadcastMessageAdministrator</TargetConversation>
</MenuEntry>
Transfer to the Caller System Transfer Conversation
To transfer a caller to the Caller System Transfer conversation, do the following PUT request:
PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>2</Action>
<TargetConversation>SystemTransfer</TargetConversation>
</MenuEntry>
Transfer to the Greetings Administrator Conversation
To transfer a caller to the Greetings Administrator conversation, do the following PUT request:
PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>2</Action>
<TargetConversation>GreetingsAdministrator</TargetConversation>
</MenuEntry>
Transfer to the Sign-In Conversation
To transfer a caller to the sign-in conversation, do the following PUT request:
PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>2</Action>
<TargetConversation>SubSignIn</TargetConversation>
</MenuEntry>
Cisco Unity Connection Provisioning Interface (CUPI) API
512
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings
Transfer to the Broadcast Message Administrator Conversation
Page 545
Transfer to the User System Transfer Conversation
To transfer a caller to the subscriber system transfer conversation, do the following PUT request:
PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>2</Action>
<TargetConversation>SubSysTransfer</TargetConversation>
</MenuEntry>
Cisco Unity Connection Provisioning Interface (CUPI) API --
Greetings
About Greetings
Modifying greetings involves a fairly long hierarchy in the URI, as follows:
/vmrest/handlers/callhandlers/<call handler object id>/greetings/<greeting type>/
greetingstreamfiles/<language id>
The greeting types are:
• Standard
• Alternate
• Busy
• Closed
• Holiday
• Error
• Internal
For Connection versions 7.x and 8.0.x the greetings are accessed by using the greeting stream file URI.
Modifying the greeting requires a three step process as detailed below.
For Connection versions 8.5 and later the greeting audio access has been simplified so that it can be modified
in a single step. This new URI is a standard sub-resource of the greeting stream file resource URI. The old
greeting stream file modification still works in the later versions, but use of the new URI is easier.
Listing and Viewing
Greeting Audio GET for 8.5 and Later
Use the standard greeting audio URI to get the file:
GET http://<connection-server>/vmrest/handlers/callhandlers/<call handler object
id>/greetings
/<greeting type>/greetingstreamfiles/<language id>/audio
The response will return the audio/wav data for the greeting of the specified type and language.
Cisco Unity Connection Provisioning Interface (CUPI) API
513
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings
Transfer to the User System Transfer Conversation
Page 546
Voice Name GET for 7.x and 8.0.x
First get the greeting stream file object for the greeting type and language, then use the voice files URI to get
the greeting audio contents:
GET http://<connection-server>/vmrest/handlers/callhandlers/<call handler object
id>/greetings
/<greeting type>/greetingstreamfiles/<language id>
GET http://<connection-server>/vmrest/voicefiles/<stream file>
The response will return the audio/wav data for the greeting.
Setting Greetings
Setting a Greeting in 8.5 and Later
PUT the audio data directly to the standard greeting stream file URI:
PUT http://<connection-server>/vmrest/handlers/callhandlers/<call handler object
id>/greetings
/<greeting type>/greetingstreamfiles/<language id>/audio content is audio/wav data
The response is a 204 indicating that the content has been accepted and copied into the temporary file.
Setting a Greeting in 7.x and 8.0.x
To create a greeting for a resource is a three step process.
Step 1: A place-holder for the WAV file must be created with a POST. This is a temporary file place-holder
that can be used for up to 30 minutes. If it is not used within 30 minutes (assigned to a resource), the file is
assumed to be abandoned and gets automatically cleaned.
POST /vmrest/voicefiles
The response code is 201 and the content is the name of the newly created temporary file.
Step 2: Use the temporary file name to PUT the new audio data. The HTTP content type is "audio/wav" and
the payload content is the audio data.
PUT /vmrest/voicefiles/<temporary file name>
The response is a 204 indicating that the content has been accepted and copied into the temporary file.
Step 3: Set the greeting stream file of the target resource to the temporary file name.
See the following example
PUT http://<connection-server>/vmrest/handlers/callhandlers/<call handler object
id>/greetings
/<greeting type>/greetingstreamfiles/<language id>
Only the stream file field needs to be filled out for PUT. All the other greeting stream file fields are derived
from the URI:
Cisco Unity Connection Provisioning Interface (CUPI) API
514
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings
Voice Name GET for 7.x and 8.0.x
Page 547
<?xml version="1.0" encoding="UTF-8"?>
<GreetingStreamFile>
<StreamFile>temporary file name</StreamFile>
</GreetingStreamFile>
Cisco Unity Connection Provisioning Interface (CUPI) API --
Updating Caller Input Keys
Introduction
This document describes how to change the caller input key on a call handler to take different actions. This
content is applicable to Cisco Unity Connection release 7.1(3) and later. These examples have not been verified
with versions prior to 7.1(3).
In order to change a caller input key for a call handler, you need to know the object ID of the call handler.
In order to change a caller input key for a user, you need the object ID of that user's call handler. Every user
who has caller input keys has a call handler, and if you are looking at the user data returned from a GET
request like the following, the object ID is the element CallHandlerObjectId.
GET https://<server>/vmrest/users/<userobjectid>
When you have obtained the object ID of the call handler you want to change, you can do any of the following
actions.
Examples
Ignore
The default setting of most keys is "Ignore." To set a key to ignore, do the following PUT request:
PUT
https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>0</Action>
</MenuEntry>
The Action field is a custom type used to determine at a basic level what the caller input key is going to do.
The 0 value denotes that this key should be ignored.
Hang Up
To set a key to hang up, do the following PUT request:
PUT
https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>1</Action>
</MenuEntry>
The Action field of 1 denotes that this key should terminate the call.
Cisco Unity Connection Provisioning Interface (CUPI) API
515
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- Updating Caller Input Keys
Page 548
Restart Greeting
To set a key to restart the greeting, do the following PUT request:
PUT
https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>6</Action>
</MenuEntry>
The Action field of 6 denotes that this key should restart playback of the greeting from the beginning.
Route from Next Call Routing Rule
To set a key to route the call starting from the next call routing rule, do the following PUT request:
PUT
https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>8</Action>
</MenuEntry>
The Action field of 8 denotes that this key should route the call starting from the next call routing rule.
Skip Greeting
To set a key to skip the greeting, do the following PUT request:
PUT
https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>5</Action>
</MenuEntry>
The Action field of 5 denotes that this key should skip the remainder of the greeting and take the caller directly
to the after greeting action.
Take a Message
To set a key to take a message, do the following PUT request:
PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>4</Action>
</MenuEntry>
The Action field of 4 denotes that this key should prompt the caller to record a message.
Alternate Contact Number (ACN)
PUT
https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>7</Action>
<TransferNumber>number to transfer to</TransferNumber>
</MenuEntry>
Cisco Unity Connection Provisioning Interface (CUPI) API
516
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings
Restart Greeting
Page 549
The Action field of 7 denotes that this key should transfer the caller to an alternate contact number. The
TransferNumber is the number that the caller will be release-transferred to. Including a transfer number is
optional; if you do not include a TransferNumber, and set a key to the Action of 7, users will have the option
of configuring their own ACNs by phone, which provides a number to transfer callers to.
The API currently does not let you set the TransferNumber to an empty string. That means that when you
have set the TransferNumber, you can only change it to a different number, but cannot empty it out. The API
also currently does not give you read or write access to the type of transfer the ACN uses (release vs.
supervised).
Transfer to a User or a Call Handler
To transfer a caller to a user or a call handler, do the following PUT request:
PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>2</Action>
<TargetConversation>PHTransfer</TargetConversation>
<TargetHandlerObjectId>05d9e169-5c87-4415-aaed-c58a14816c8d</TargetHandlerObjectId>
</MenuEntry>
The Action field of 2 denotes that this key should transfer the caller to another conversation. This is used to
transfer callers to other objects, or to send callers to other conversations such as the system transfer conversation.
The TargetConversation should be set to PHTransfer if you want to transfer to the call handler in question.
If you want to have the call go directly the call handler greeting, set it to PHGreeting instead.
The TargetHandlerObjectId is the object ID of the call handler that you want the key to transfer the caller to.
Go to an Interview Handler
PUT
https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>2</Action>
<TargetConversation>PHInterview</TargetConversation>
<TargetHandlerObjectId>interview handler object id</TargetHandlerObjectId>
</MenuEntry>
The TargetConversation should be set to PHInterview and the TargetHandlerObjectId is the object ID of the
interview handler that you want to the caller input key to go to.
Go to a Directory Handler
PUT
https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>2</Action>
<TargetConversation>AD</TargetConversation>
<TargetHandlerObjectId>object id of directory handler</TargetHandlerObjectId>
</MenuEntry>
The TargetConversation should be set to AD and the TargetHandlerObjectId is the object ID of the directory
handler you want to the caller input key to go to.
Cisco Unity Connection Provisioning Interface (CUPI) API
517
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings
Transfer to a User or a Call Handler
Page 550
Go to the Broadcast Message Administrator Conversation
PUT
https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>2</Action>
<TargetConversation>BroadcastMessageAdministrator</TargetConversation>
</MenuEntry>
Go to the User System Transfer Conversation
PUT
https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>2</Action>
<TargetConversation>SubSysTransfer</TargetConversation>
</MenuEntry>
Go to the Greetings Administrator Conversation
PUT
https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>2</Action>
<TargetConversation>GreetingsAdministrator</TargetConversation>
</MenuEntry>
Go to the Sign-In Conversation
PUT
https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>2</Action>
<TargetConversation>SubSignIn</TargetConversation>
</MenuEntry>
Go to the User System Transfer Conversation
PUT
https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>2</Action>
<TargetConversation>SubSysTransfer</TargetConversation>
</MenuEntry>
Cisco Unity Connection Provisioning Interface (CUPI) API
518
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings
Go to the Broadcast Message Administrator Conversation
Page 551
Cisco Unity Connection Provisioning Interface (CUPI) API --
Custom Recordings
About Custom Recordings
Cisco Unity Connection allows you to play the customized recordings after a message is sent. You can also
play the custom recordings after a greeting is played. A greeting is played before the callers are allowed to
leave a message for a user or a call handler.
In Cisco Unity Connection 9.0, the Post Greeting Recordings option is changed to the Custom Recordings
option.
Note
Listing Custom Recording
Example 1
The following is an example of the GET request that lists all the custom recordings:
https://<connection_server>/vmrest/postgreetingrecordings
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<PostGreetingRecordings total="2">
<PostGreetingRecording>
<URI>/vmrest/postgreetingrecordings/b7cfa709-9f06-4cd2-94b3-8e5910d5b041</URI>
<ObjectId>b7cfa709-9f06-4cd2-94b3-8e5910d5b041</ObjectId>
<DisplayName>Rec-2</DisplayName>
<PostGreetingRecordingStreamFilesURI>/vmrest/postgreetingrecordings/b7cfa709-
9f06-4cd2-94b3-8e5910d5b041/postgreetingrecordingstreamfiles</PostGreetingRecordingStreamFilesURI>
</PostGreetingRecording>
<PostGreetingRecording>
<URI>/vmrest/postgreetingrecordings/db44de42-7274-4d1c-8837-e710b0649c13</URI>
<ObjectId>db44de42-7274-4d1c-8837-e710b0649c13</ObjectId>
<DisplayName>Rec-3</DisplayName>
<PostGreetingRecordingStreamFilesURI>/vmrest/postgreetingrecordings/db44de42-7274-
4d1c-8837-e710b0649c13/postgreetingrecordingstreamfiles</PostGreetingRecordingStreamFilesURI>
</PostGreetingRecording>
</PostGreetingRecordings>
RESPONSE Code: 200
Example 2
The following is an example of the GET request that lists the custom recording as represented by <objectId>:
https://<connection_server>/vmrest/postgreetingrecordings/<objectId>
Cisco Unity Connection Provisioning Interface (CUPI) API
519
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- Custom Recordings

Page 552
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<PostGreetingRecording>
<URI>/vmrest/postgreetingrecordings/b7cfa709-9f06-4cd2-94b3-8e5910d5b041</URI>
<ObjectId>b7cfa709-9f06-4cd2-94b3-8e5910d5b041</ObjectId>
<DisplayName>Rec-2</DisplayName>
<PostGreetingRecordingStreamFilesURI>/vmrest/postgreetingrecordings/b7cfa709-9f06-4cd2-94b3-8e5910d5b041/postgreetingrecordingstreamfiles</PostGreetingRecordingStreamFilesURI>
</PostGreetingRecording>
RESPONSE Code: 200
Listing Languages for a Custom Recording
Example 1
The following is an example of the GET request that lists all the languages/stream files for a custom recording:
https://<connection_server>/vmrest/postgreetingrecordings/<objectId>/postgreetingrecordingstreamfiles
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<PostGreetingRecordingStreamFiles>
<PostGreetingRecordingStreamFile>
<URI>/vmrest/postgreetingrecordings/b7cfa709-9f06-4cd2-94b3-8e5910d5b041/postgreetingrecordingstreamfiles/1033/audio</URI>
<PostGreetingRecordingObjectId>b7cfa709-9f06-4cd2-94b3-8e5910d5b041</PostGreetingRecordingObjectId>
<LanguageCode>1033</LanguageCode>
<StreamFile>58b0c574-62e6-4276-8e25-cb1227570492.wav</StreamFile>
<PostGreetingStreamFileLanguageURI>/vmrest/postgreetingrecordings/b7cfa709-9f06-4cd2-94b3-8e5910d5b041/postgreetingrecordingstreamfiles/1033</PostGreetingStreamFileLanguageURI>
</PostGreetingRecordingStreamFile>
</PostGreetingRecordingStreamFiles>
RESPONSE Code: 200
Example 2
The following is an example of the GET request that lists a particular languages/stream files for a custom
recording represented by <language-code>:
https://<connection_server>/vmrest/postgreetingrecordings/<objectId>/postgreetingrecordingstreamfiles/<language-code>
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
520
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings
Listing Languages for a Custom Recording
Page 553
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<PostGreetingRecordingStreamFile>
<PostGreetingRecordingObjectId>b7cfa709-9f06-4cd2-94b3-8e5910d5b041</PostGreetingRecordingObjectId>
<LanguageCode>1033</LanguageCode>
<StreamFile>58b0c574-62e6-4276-8e25-cb1227570492.wav</StreamFile>
</PostGreetingRecordingStreamFile>
RESPONSE Code: 200
Modifying Custom Recording
Example 1
The following is an example of the PUT request that modifies the custom recording as represented by
<objectId>:
https://<connection_server>/vmrest/postgreetingrecordings/<objectId>
The following is an example of the response from the above PUT request and the actual response will
depend upon the information given by you:
<PostGreetingRecording>
<DisplayName>custom-rec</DisplayName>
</PostGreetingRecording>
RESPONSE Code: 204
Example 2
The following is an example of the PUT request that modifies a stream file for a custom recording as represented
by <language-code>:
https://<connection_server>/vmrest/postgreetingrecordings/<object-id>/postgreetingrecordingstreamfiles/<language-code>
The following is an example of the response from the above PUT request and the actual response will
depend upon the information given by you:
<PostGreetingRecordingStreamFile>
<StreamFile>82dd9884-5cee-42f0-8537-bdc5e622de1f.wav</StreamFile>
</PostGreetingRecordingStreamFile>
RESPONSE Code: 204
Deleting Custom Recording
The following is an example of the DELETE request that deletes a User Template as represented by
<usertemplateid>:
https://<connection_server>/vmrest/postgreetingrecordings/<objectId>
The output for this request returns the successful response code.
Cisco Unity Connection Provisioning Interface (CUPI) API
521
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings
Modifying Custom Recording
Page 554
RESPONSE Code: 204
Explanation of Data Fields
The following chart lists all of the data fields available on custom.
Explanation/ Comments
DB Value
Writable?
Field Name
ObjectId of the Device
36 Characters
Read-only
ObjectId
Friendly name for the Device like "Mobile
Phone"
1-64 Characters
Read/Write
DisplayName
List all the languages of custom recordings.
Read-only
PostGreetingRecordingStreamFilesURI
List all the custom recordings
36 Characters
Read-only
PostGreetingRecordingObjectId
List all the locales/languages
4 characters
Read-only
LanguageCode
Record Greetings
40 characters
Read/Write
StreamFile
Cisco Unity Connection Provisioning Interface (CUPI) API
522
Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings
Explanation of Data Fields
Page 555
C H A P T E R 39
Cisco Unity Connection Provisioning Interface
(CUPI) API--Directory Handler APIs
• Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs, on page 523
• Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler Greeting APIs, on page
545
Cisco Unity Connection Provisioning Interface (CUPI)
API--Directory Handler APIs
Directory Handler APIs
Directory handlers provide access to a corporate directory that callers can use to reach Cisco Unity Connection
users with mailboxes. When a caller searches for a username or part of a name, a directory handler looks up
the extension and routes the call to the appropriate user. Administrator can use this API to
create/update/delete/fetch the directory handler. You can update various attributes of directory handler using
this API.
Listing the Directory Handlers
The following is an example of the GET request that fetch the list of directory handlers:
GET https://<connection-server>/vmrest/handlers/directoryhandlers
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
523

Page 556
<DirectoryHandlers total="1">
<DirectoryHandler>
<URI>/vmrest/handlers/directoryhandlers/16090424-1c38-4901-a465-3b76ffaf437a</URI>
<CreationTime>2012-12-10T19:24:31Z</CreationTime>
<Language>1033</Language>
<DisplayName>System Directory Handler</DisplayName>
Cisco_Unity_Connection_Provisioning_Interface_(CUPI)API--_Directory_Handler_APIs
Contents 1
<Undeletable>true</Undeletable>
<VoiceName>b09bd14d-15ef-4100-b0f7-4ba2f0c15343.wav</VoiceName>
<VoiceFileURI>/vmrest/voicefiles/b09bd14d-15ef-4100-b0f7-
4ba2f0c15343.wav</VoiceFileURI>
<VoiceNameURI>/vmrest/handlers/directoryhandlers/16090424-1c38-4901-a465-
3b76ffaf437a/voicename</VoiceNameURI>
<LocationObjectId>08b0402c-ba81-4f16-bcba-ca7883de0482</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/08b0402c-ba81-4f16-bcbaca7883de0482</
LocationURI>
<EndDialDelay>4</EndDialDelay>
<MaxMatches>8</MaxMatches>
<MenuStyle>true</MenuStyle>
<SayExtension>true</SayExtension>
<SearchByFirstName>false</SearchByFirstName>
<StartDialDelay>5</StartDialDelay>
<Tries>1</Tries>
<UseStarToExit>true</UseStarToExit>
<SearchScope>0</SearchScope>
<SearchScopeObjectId>08b0402c-ba81-4f16-bcba-ca7883de0482</SearchScopeObjectId>
<PlayAllNames>false</PlayAllNames>
<ExitAction>2</ExitAction>
<ExitTargetConversation>PHTransfer</ExitTargetConversation>
<ExitTargetHandlerObjectId>04786933-dd71-45e1-b2fb-
1a5dd99503f6</ExitTargetHandlerObjectId>
<NoInputAction>2</NoInputAction>
<NoInputTargetConversation>PHTransfer</NoInputTargetConversation>
<NoInputTargetHandlerObjectId>f8bac9c4-62a2-4744-a9e6-74ac90fb87fd</NoInputTargetHandlerObjectId>
<NoSelectionAction>2</NoSelectionAction>
<NoSelectionTargetConversation>PHTransfer</NoSelectionTargetConversation>
<NoSelectionTargetHandlerObjectId>f8bac9c4-62a2-4744-a9e6-
74ac90fb87fd</NoSelectionTargetHandlerObjectId>
<ZeroAction>2</ZeroAction>
<ZeroTargetConversation>PHTransfer</ZeroTargetConversation>
<ZeroTargetHandlerObjectId>b6cd5cfd-312c-4eb0-96ea-
57531fa9058d</ZeroTargetHandlerObjectId>
<AutoRoute>false</AutoRoute>
<ObjectId>16090424-1c38-4901-a465-3b76ffaf437a</ObjectId>
<TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId>
<DtmfAccessId>555</DtmfAccessId>
<ScopeObjectLocationObjectId>08b0402c-ba81-4f16-bcbaca7883de0482</
ScopeObjectLocationObjectId>
<ScopeObjectLocationURI>/vmrest/locations/connectionlocations/08b0402c-ba81-4f16-bcbaca7883de0482</
ScopeObjectLocationURI>
<VoiceEnabled>false</VoiceEnabled>
<UseCallLanguage>true</UseCallLanguage>
<UseDefaultLanguage>true</UseDefaultLanguage>
<PartitionObjectId>ff1c9ff2-6fcc-47e9-a4e0-a220c6e3ae4e</PartitionObjectId>
<PartitionURI>/vmrest/partitions/ff1c9ff2-6fcc-47e9-a4e0-a220c6e3ae4e</PartitionURI>
<SpeechConfidenceThreshold>10</SpeechConfidenceThreshold>
<SayCity>false</SayCity>
<SayDepartment>false</SayDepartment>
</DirectoryHandler>
</DirectoryHandlers>
Response Code: 200
Cisco Unity Connection Provisioning Interface (CUPI) API
524
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Listing the Directory Handlers
Page 557
JSON Example
To list of directory handlers, do the following:
GET https://<connection-server>/vmrest/handlers/directoryhandlers
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
525
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Listing the Directory Handlers
Page 558
"@total": "1",
"DirectoryHandler": [
{
"URI": "/vmrest/handlers/directoryhandlers/36408c02-4b25-4549-b3a4-deafa5945339",
"CreationTime": "2013-02-08T04:59:36Z",
"Language": "1033",
"DisplayName": "System Directory Handler",
"Undeletable": "true",
"VoiceName": "41a5ba0d-5267-40d8-aa2c-dd1f61046f7c.wav",
"VoiceFileURI": "/vmrest/voicefiles/41a5ba0d-5267-40d8-aa2c-dd1f61046f7c.wav",
"VoiceNameURI": "/vmrest/handlers/directoryhandlers/36408c02-4b25-4549-b3a4-
deafa5945339/voicename",
"LocationObjectId": "df46033e-0058-4f7e-b5fc-8346df0ffee1",
"LocationURI": "/vmrest/locations/connectionlocations/df46033e-0058-4f7e-b5fc-
8346df0ffee1",
"EndDialDelay": "4",
"MaxMatches": "8",
"MenuStyle": "true",
"SayExtension": "true",
"SearchByFirstName": "false",
"StartDialDelay": "5",
"Tries": "1",
"UseStarToExit": "true",
"SearchScope": "0",
"SearchScopeObjectId": "df46033e-0058-4f7e-b5fc-8346df0ffee1",
"PlayAllNames": "false",
"ExitAction": "2",
"ExitTargetConversation": "PHTransfer",
"ExitTargetHandlerObjectId": "e6fd6ae4-7bf5-4a46-b994-e9fd13d83c30",
"NoInputAction": "2",
"NoInputTargetConversation": "PHTransfer",
"NoInputTargetHandlerObjectId": "d4d920f6-d7d4-4a3e-8876-21917480867f",
"NoSelectionAction": "2",
"NoSelectionTargetConversation": "PHTransfer",
"NoSelectionTargetHandlerObjectId": "d4d920f6-d7d4-4a3e-8876-21917480867f",
"ZeroAction": "2",
"ZeroTargetConversation": "PHTransfer",
"ZeroTargetHandlerObjectId": "b45f1e23-ce6d-4406-a9b2-48c647094a77",
"AutoRoute": "false",
"ObjectId": "36408c02-4b25-4549-b3a4-deafa5945339",
"TenantObjectId": "fe6541fb-b42c-44f2-8404-ded14cbf7438",
"DtmfAccessId": "555",
"ScopeObjectLocationObjectId": "df46033e-0058-4f7e-b5fc-8346df0ffee1",
"ScopeObjectLocationURI": "/vmrest/locations/connectionlocations/df46033e-0058-
4f7e-b5fc-8346df0ffee1",
"VoiceEnabled": "false",
"UseCallLanguage": "true",
"UseDefaultLanguage": "true",
"PartitionObjectId": "92ef3894-5bf0-430c-a1f1-4ef67925aecf",
"PartitionURI": "/vmrest/partitions/92ef3894-5bf0-430c-a1f1-4ef67925aecf",
"SpeechConfidenceThreshold": "10",
"SayCity": "false",
"SayDepartment": "false",
"UseCustomGreeting": "false",
"ExitConversationURI":
"/vmrest/conversations?query=(cnvdirectoryhandlerexit%20is%201)",
"NoInputConversationURI":
"/vmrest/conversations?query=(cnvdirectoryhandlernoinput%20is%201)",
"NoSelectionConversationURI":
Cisco_Unity_Connection_Provisioning_Interface_(CUPI)API--_Directory_Handler_APIs
Listing the Directory Handlers 3
"/vmrest/conversations?query=(cnvdirectoryhandlernoselection%20is%201)",
"ZeroExitConversationURI":
"/vmrest/conversations?query=(cnvdirectoryhandlerzeroexit%20is%201)",
Cisco Unity Connection Provisioning Interface (CUPI) API
526
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Listing the Directory Handlers
Page 559
"DirectoryHandlerStreamFileURI":
"/vmrest/handlers/directoryhandlers/36408c02-4b25-4549-b3a4-deafa5945339/directoryhandlerstreamfiles"
}
]
}
Response Code: 200
Listing Specific Tenant Related Directory Handlers by System Administrator
In Cisco Unity Connection 10.5(2) and later, the system administrator can use TenantObjectID to list the
specific tenant related directory handlers using the following URI:
GET https://<connection-server>/vmrest/handlers/directoryhandlers?query=(TenantObjectId is
<Tenant>
To get the TenantObjectID, use the following URI:
GET https://<connection-server>/vmrest/tenants
Viewing the Specific Directory Handler
The following is an example of the GET request that lists the details of specific directory handler represented
by the provided value of directory handler ID:
GET https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
527
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Listing Specific Tenant Related Directory Handlers by System Administrator
Page 560
<DirectoryHandler>
<URI>/vmrest/handlers/directoryhandlers/16090424-1c38-4901-a465-3b76ffaf437a</URI>
<CreationTime>2012-12-10T19:24:31Z</CreationTime>
<Language>1033</Language>
<DisplayName>System Directory Handler</DisplayName>
<Undeletable>true</Undeletable>
<VoiceName>b09bd14d-15ef-4100-b0f7-4ba2f0c15343.wav</VoiceName>
<VoiceFileURI>/vmrest/voicefiles/b09bd14d-15ef-4100-b0f7-4ba2f0c15343.wav</VoiceFileURI>
<VoiceNameURI>/vmrest/handlers/directoryhandlers/16090424-1c38-4901-a465-
3b76ffaf437a/voicename</VoiceNameURI>
<LocationObjectId>08b0402c-ba81-4f16-bcba-ca7883de0482</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/08b0402c-ba81-4f16-bcbaca7883de0482</
LocationURI>
<EndDialDelay>4</EndDialDelay>
<MaxMatches>8</MaxMatches>
<MenuStyle>true</MenuStyle>
<SayExtension>true</SayExtension>
<SearchByFirstName>false</SearchByFirstName>
<StartDialDelay>5</StartDialDelay>
<Tries>1</Tries>
<UseStarToExit>true</UseStarToExit>
<SearchScope>0</SearchScope>
<SearchScopeObjectId>08b0402c-ba81-4f16-bcba-ca7883de0482</SearchScopeObjectId>
<PlayAllNames>false</PlayAllNames>
<ExitAction>2</ExitAction>
<ExitTargetConversation>PHTransfer</ExitTargetConversation>
<ExitTargetHandlerObjectId>04786933-dd71-45e1-b2fb-
1a5dd99503f6</ExitTargetHandlerObjectId>
Cisco_Unity_Connection_Provisioning_Interface_(CUPI)API--_Directory_Handler_APIs
Listing Specific Tenant Related Directory Handlers by System Administrator 4
<NoInputAction>2</NoInputAction>
<NoInputTargetConversation>PHTransfer</NoInputTargetConversation>
<NoInputTargetHandlerObjectId>f8bac9c4-62a2-4744-a9e6-74ac90fb87fd</NoInputTargetHandlerObjectId>
<NoSelectionAction>2</NoSelectionAction>
<NoSelectionTargetConversation>PHTransfer</NoSelectionTargetConversation>
<NoSelectionTargetHandlerObjectId>f8bac9c4-62a2-4744-a9e6-
74ac90fb87fd</NoSelectionTargetHandlerObjectId>
<ZeroAction>2</ZeroAction>
<ZeroTargetConversation>PHTransfer</ZeroTargetConversation>
<ZeroTargetHandlerObjectId>b6cd5cfd-312c-4eb0-96ea-
57531fa9058d</ZeroTargetHandlerObjectId>
<AutoRoute>false</AutoRoute>
<ObjectId>16090424-1c38-4901-a465-3b76ffaf437a</ObjectId>
<DtmfAccessId>555</DtmfAccessId>
<ScopeObjectLocationObjectId>08b0402c-ba81-4f16-bcba-ca7883de0482</ScopeObjectLocationObjectId>
<ScopeObjectLocationURI>/vmrest/locations/connectionlocations/08b0402c-ba81-4f16-bcbaca7883de0482</
ScopeObjectLocationURI>
<VoiceEnabled>false</VoiceEnabled>
<UseCallLanguage>true</UseCallLanguage>
<UseDefaultLanguage>true</UseDefaultLanguage>
<PartitionObjectId>ff1c9ff2-6fcc-47e9-a4e0-a220c6e3ae4e</PartitionObjectId>
<PartitionURI>/vmrest/partitions/ff1c9ff2-6fcc-47e9-a4e0-a220c6e3ae4e</PartitionURI>
<SpeechConfidenceThreshold>10</SpeechConfidenceThreshold>
<SayCity>false</SayCity>
<SayDepartment>false</SayDepartment>
</DirectoryHandler>
Response Code: 200
JSON Example
To list details of a particular directory handler, do the following:
Cisco Unity Connection Provisioning Interface (CUPI) API
528
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Viewing the Specific Directory Handler
Page 561
GET https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId>
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
529
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Viewing the Specific Directory Handler
Page 562
{
"URI": "/vmrest/handlers/directoryhandlers/36408c02-4b25-4549-b3a4-deafa5945339",
"CreationTime": "2013-02-08T04:59:36Z",
"Language": "1033",
"DisplayName": "System Directory Handler",
"Undeletable": "true",
"VoiceName": "41a5ba0d-5267-40d8-aa2c-dd1f61046f7c.wav",
"VoiceFileURI": "/vmrest/voicefiles/41a5ba0d-5267-40d8-aa2c-dd1f61046f7c.wav",
"VoiceNameURI": "/vmrest/handlers/directoryhandlers/36408c02-4b25-4549-b3a4-
deafa5945339/voicename",
"LocationObjectId": "df46033e-0058-4f7e-b5fc-8346df0ffee1",
"LocationURI": "/vmrest/locations/connectionlocations/df46033e-0058-4f7e-b5fc-
8346df0ffee1",
"EndDialDelay": "4",
"MaxMatches": "8",
"MenuStyle": "true",
"SayExtension": "true",
"SearchByFirstName": "false",
"StartDialDelay": "5",
"Tries": "1",
"UseStarToExit": "true",
"SearchScope": "0",
Cisco_Unity_Connection_Provisioning_Interface_(CUPI)API--_Directory_Handler_APIs
Viewing the Specific Directory Handler 5
"SearchScopeObjectId": "df46033e-0058-4f7e-b5fc-8346df0ffee1",
"PlayAllNames": "false",
"ExitAction": "2",
"ExitTargetConversation": "PHTransfer",
"ExitTargetHandlerObjectId": "e6fd6ae4-7bf5-4a46-b994-e9fd13d83c30",
"NoInputAction": "2",
"NoInputTargetConversation": "PHTransfer",
"NoInputTargetHandlerObjectId": "d4d920f6-d7d4-4a3e-8876-21917480867f",
"NoSelectionAction": "2",
"NoSelectionTargetConversation": "PHTransfer",
"NoSelectionTargetHandlerObjectId": "d4d920f6-d7d4-4a3e-8876-21917480867f",
"ZeroAction": "2",
"ZeroTargetConversation": "PHTransfer",
"ZeroTargetHandlerObjectId": "b45f1e23-ce6d-4406-a9b2-48c647094a77",
"AutoRoute": "false",
"ObjectId": "36408c02-4b25-4549-b3a4-deafa5945339",
"DtmfAccessId": "555",
"ScopeObjectLocationObjectId": "df46033e-0058-4f7e-b5fc-8346df0ffee1",
"ScopeObjectLocationURI": "/vmrest/locations/connectionlocations/df46033e-0058-
4f7e-b5fc-8346df0ffee1",
"VoiceEnabled": "false",
"UseCallLanguage": "true",
"UseDefaultLanguage": "true",
"PartitionObjectId": "92ef3894-5bf0-430c-a1f1-4ef67925aecf",
"PartitionURI": "/vmrest/partitions/92ef3894-5bf0-430c-a1f1-4ef67925aecf",
"SpeechConfidenceThreshold": "10",
"SayCity": "false",
"SayDepartment": "false",
"UseCustomGreeting": "false",
"ExitConversationURI":
"/vmrest/conversations?query=(cnvdirectoryhandlerexit%20is%201)",
"NoInputConversationURI":
"/vmrest/conversations?query=(cnvdirectoryhandlernoinput%20is%201)",
"NoSelectionConversationURI":
"/vmrest/conversations?query=(cnvdirectoryhandlernoselection%20is%201)",
"ZeroExitConversationURI":
"/vmrest/conversations?query=(cnvdirectoryhandlerzeroexit%20is%201)",
"DirectoryHandlerStreamFileURI":
"/vmrest/handlers/directoryhandlers/36408c02-4b25-4549-b3a4-deafa5945339/directoryhandlerstreamfiles"
}
Cisco Unity Connection Provisioning Interface (CUPI) API
530
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Viewing the Specific Directory Handler
Page 563
Response Code: 200
Creating a Directory Handler
The following is an example of the POST request that creates a new directory handler:
POST https://<connection-server>/vmrest/handlers/directoryhandlers
Request Body:
<DirectoryHandler>
<DisplayName>Taxoma_Directory Handler</DisplayName>
</DirectoryHandler>
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/handlers/directoryhandlers/16090424-1c38-4901-a465-3b76ffaf437a
JSON Example
To create a new directory handler, do the following:
POST https://<connection-server>/vmrest/handlers/directoryhandlers
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"DisplayName": "Texoma123_Directory Handler"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/handlers/directoryhandlers/16090424-1c38-4901-a465-3b76ffaf437a
Delete the Directory Handler
This request can be used to delete a directory handler.
DELETE https://<connection-server>/vmrest/directory handler/<directoryHandlerObjectId>
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
JSON Example
To delete the directory handler, do the following:
DELETE https://<connection-server>/vmrest/directory handler/<directoryHandlerObjectId>
Accept: application/json
Connection: keep-alive
Cisco Unity Connection Provisioning Interface (CUPI) API
531
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Creating a Directory Handler
Page 564
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
Updating the Search Scope of the Directory Handler
The following is an example of the PUT request that can be used to modify the search scope of the directory
handler. In the request body, the search scope value corresponds to the type of search scope and search scope
object ID represents the objectid corresponding to the search scope value. For Example Value for COS as
search scope is 5 and search scope object ID should be COS.
PUT https://<connection-server>/vmrest/directory handler /<directoryHandlerObjectId>
Request Body:
<DirectoryHandler>
<SearchScope>5</SearchScope>
<SearchScopeObjectId>03815b4e-3b88-48b3-918d-91a9d1673880</SearchScopeObjectId>
</DirectoryHandler>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
The table given below lists the possible values of the search scope:
Description
Value
Name
VMS - directory handler search restricted to the local VMS.
0
VMS
Dialing domain - directory handler search restricted to a dialing
domain.
1
DialingDomain
Global - directory handler search expanded to the entire Unity
organization (global).
2
Global
Location - directory handler search restricted to a Unity location.
3
Location
Distribution list - directory handler search is restricted to a
distribution list.
4
DistributionList
COS - directory handler search restricted to a class of service.
5
cos
SearchSpace - directory handler search restricted to a search space.
6
SearchSpace
Inherit - directory handler search is restricted to the search space
of the call.
7
Inherit
Invalid - directory handler search scope is no longer valid; used
by the replicator.
8
Invalid
Cisco Unity Connection Provisioning Interface (CUPI) API
532
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Updating the Search Scope of the Directory Handler
Page 565
You can set the search scope of a directory handler by defining only search scope and search scope object ID.
The search scope object Id can have these references, COS object Id, location object Id, distribution list, and
search space object ID.
Example 1: Update the Search Scope of a Directory Handler to a Class of Service
To update the search scope of a directory handler to a class of service, you must obtain the COS object ID.
GET https://<connection-server>/vmrest/coses
The following is an example of the PUT request to update the directory handler to COS object ID:
Request URI
PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId>
Request Body:
<DirectoryHandler>
<SearchScope>5</SearchScope>
<SearchScopeObjectId>03815b4e-3b88-48b3-918d-91a9d1673880</SearchScopeObjectId>
</DirectoryHandler>
Response Code: 204
Example 2: Update the Search Scope of a Directory Handler to Entire Server
To update the search scope of a directory handler to entire server, you must obtain the location of the object
id of the connection server:
GET https://<connection-server>/vmrest/locations/connectionlocations
The following is an example of the PUT request to update the directory handler to entire server:
Request URI:
PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId>
Request Body:
<DirectoryHandler>
<SearchScope>0</SearchScope>
<SearchScopeObjectId>08b0402c-ba81-4f16-bcba-ca7883de0482</SearchScopeObjectId>
</DirectoryHandler>
Response Code: 204
Example 3: Update the Search Scope of a Directory Handler to Inherit Search Scope from Call
The following is an example of the PUT request to update the search scope of directory handler to inherit
search scope from call:
Request URI:
PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId>
Request Body:
<DirectoryHandler>
<SearchScope>7</SearchScope>
</DirectoryHandler>
Cisco Unity Connection Provisioning Interface (CUPI) API
533
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Updating the Search Scope of the Directory Handler
Page 566
Response Code: 204
Example 3: Update the Search Scope of a Directory Handler to Inherit Search Scope from Call
The following is an example of the PUT request to update the search scope of directory handler to inherit
search scope from call:
Request URI:
PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId>
Request Body:
<DirectoryHandler>
<SearchScope>7</SearchScope>
</DirectoryHandler>
Response Code: 204
Example 4: Update the Search Scope of a Directory Handler to a Distribution List
The following is an example of the PUT request to update the search scope of directory handler to a distribution
list:
PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId>
Request Body:
<DirectoryHandler>
<SearchScope>4</SearchScope>
<SearchScopeObjectId>0995fc34-6791-4d9a-b20f-52c8dadd65b5</SearchScopeObjectId>
</DirectoryHandler>
Response Code: 204
Example 5: Update the Search Scope of a Directory Handler to a Search Space
To update the search scope of a directory handler to a search space, you must obtain the object ID of the search
scope using the following URL:
GET https://<connection-server>/vmrest/searchspaces
The following is an example of the PUT request to update the search scope of directory handler to a search
space:
Request URI:
PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId>
Request Body:
<DirectoryHandler>
<SearchScope>6</SearchScope>
<SearchScopeObjectId>1cdaa964-0514-4364-ad74-e55364efb4b4</SearchScopeObjectId>
</DirectoryHandler>
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
534
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Updating the Search Scope of the Directory Handler
Page 567
JSON Example
To update the search scope of a directory handler to a search space, do the following:
Request URI:
PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId>
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"SearchScope":"6",
"SearchScopeObjectId":"1cdaa964-0514-4364-ad74-e55364efb4b4"
}
The following is an example of the PUT request to update the search scope of directory handler to a search
space:
Response Code: 200
Updating the Exit Action on a directory handler
You can update the exit action, no input action, no selection action and action when caller presses zero on a
directory handler. To specify the destination when a caller exits the directory handler using the * key/ or #key,
the following fields are used to specify the destination:
• ExitAction
• ExitTargetConversation
• ExitTargetHandlerObjectId
In a scenario where caller does not respond to the name entry prompt, the following fields are used to specify
the destination the fields:
• NoInputAction
• NoInputTargetConversation
• NoInputTargethandlerObjectId
In another scenario where caller does not respond to the name entry prompt the fields, the following fields
are used to specify the destination the fields:
• NoSelectionAction
• NoSelectionTargetConversation
• NoSelectionTargetHandlerObjectId
If callers press the zero key, the following fields are used to specify the destination the fields:
• ZeroAction
• ZeroTargetConversation
Cisco Unity Connection Provisioning Interface (CUPI) API
535
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Updating the Exit Action on a directory handler
Page 568
• ZeroTargetHandlerObjectId
The following are the URLs to fetch the call handlers, directory handlers, and interview handlers:
• Call Handlers: /vmrest/handlers/callhandlers
• Directory Handlers: /vmrest/handlers/directoryhandlers
• InterviewHandler : /vmrest/handlers/interviewhandlers
The following sections give some examples of how to specify different types of destinations by using these
fields when caller exits the directory handler.
Example 1: Call should hang up on exit action.
Request URI
PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId>
Request Body
<DirectoryHandler>
<ExitAction>1</ExitAction>
</DirectoryHandler>
Response Code: 204
Example 2: Call should be sent to a call handler or a user greeting
Request URI
PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId>
Request Body
<DirectoryHandler>
<ExitAction>2</ExitAction>
<ExitTargetConversation>PHGreeting</ExitTargetConversation>
<ExitTargetHandlerObjectId>5f8b4a28-8042-4cce-a11c-
0222f106f79f</ExitTargetHandlerObjectId>
</DirectoryHandler>
Response Code: 204
JSON Example
To update the directory handler, do the following:
Request URI
PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId>
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body
Cisco Unity Connection Provisioning Interface (CUPI) API
536
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Updating the Exit Action on a directory handler
Page 569
{
"ExitAction": "2",
"ExitTargetConversation": "PHGreeting",
"ExitTargetHandlerObjectId": "e6fd6ae4-7bf5-4a46-b994-e9fd13d83c30"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Example 3: Call should be transferred to a call handler or user
Request URI
PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId>
Request Body
<DirectoryHandler>
<ExitAction>2</ExitAction>
<ExitTargetConversation>SystemTransfer</ExitTargetConversation>
</DirectoryHandler>
Response Code: 204
The fields for that needs to be sent as input are Exit Action and ExitTargetConversation.
Note
Example 5: Call should be sent to an Interview Handler
Request URI
PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId>
Request Body
<DirectoryHandler>
<ExitAction>2</ExitAction>
<ExitTargetConversation>PHInterview</ExitTargetConversation>
<ExitTargetHandlerObjectId>1ff9ef5e-1b97-4f3f-a30d-
48aef7733d7f</ExitTargetHandlerObjectId>
</DirectoryHandler>
Response Code: 204
Example 6: Call should be sent to a Directory Handler.
Request URI
PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId>
Request Body
Cisco Unity Connection Provisioning Interface (CUPI) API
537
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Updating the Exit Action on a directory handler

Page 570
<DirectoryHandler>
<ExitAction>2</ExitAction>
<ExitTargetConversation>AD</ExitTargetConversation>
<ExitTargetHandlerObjectId>249056ed-5954-493d-9d87-
aec9cedafe25</ExitTargetHandlerObjectId>
</DirectoryHandler>
Response Code: 204
Setting Voice Enable to true for a Directory Handler
Voice enabled directory handlers cannot use a class of service or a distribution list as per their search scope.
Only entire server, a specific search space, or Inherit search space from call are allowed.
Request URI
PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId>
Request Body
<DirectoryHandler>
<VoiceEnabled>true</VoiceEnabled>
</DirectoryHandler>
Response Code: 204
JSON Example
To update the voice enable, do the following:
Request URI
PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId>
Accept: application/json
Content-Type: application/json
Connection: keep-alive
{
"VoiceEnabled":"true"
}
The following is an example of the PUT request to update the search scope of directory handler to a search
space:
Response Code: 204
• If a request is sent to enable the voiceenabled field and set the search scope to a COS or distribution list,
the search scope is set to entire server.
• If the search scope of a directory handler is already a COS or a distribution list and request is sent to set
the voiceenabled to true, the search scope is set to entire server.
Note
Cisco Unity Connection Provisioning Interface (CUPI) API
538
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Setting Voice Enable to true for a Directory Handler

Page 571
Updating the Language of Directory Handler
This request can be used to update a language for a directory handler. It can be used to set a particular language
for a directory handler, set the system default language as the language of directory handler or set the language
of directory handler as inherit from call.
URI to get Language code: https://<connection-server>/vmrest/languagemap
URI to Get Language code for installed languages:
https://<connection-server>/vmrest/installedlang
The below table specify the details of value for each field:
Description
Language
UseDefaultLanguage
UseCallLanguage
This will select the default
language.
Null/Language Code
true
false
This will inherit the
language from user.
Null/Language Code
true/false
true
This will select the
particular language as per
the code.
Language Code
false
false
Request URI
PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectid>
Example 1: Updating the Inherit Language field and not the Language field
Request Body
<Directoryhandler>
<UseCallLanguage>true</UseCallLanguage>
<UseDefaultLanguage>false</UseDefaultLanguage>
</Directoryhandler>
Response Code: 204
The Inherit Language field from the call is selected but the UseDefaultLanguage field will not get updated in
the database as the Language field is missing. If the Language field is NULL, the UseDefaultLanguage field
is by default set to TRUE.
Example 2: Updating the Inherit Language field and the Language field
Request Body
<Directoryhandler>
<UseCallLanguage>true</UseCallLanguage>
<UseDefaultLanguage>false</UseDefaultLanguage>
<Language>1033</Language>
</Directoryhandler>
Response Code: 204
The Inherit Language field from the call is selected but the UseDefaultLanguage field is updated in the database
as the Language field is specified.
Cisco Unity Connection Provisioning Interface (CUPI) API
539
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Updating the Language of Directory Handler
Page 572
JSON Example
To change language, do the following:
Request URI
PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId>
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body
{
"UseCallLanguage":"true",
"UseDefaultLanguage":"false",
"Language":"1033"
}
Response Code: 204
Explanation of Data Fields
Comments
Data
Type
Operations
Parameter
Specifies the language code.
All possible language code values can be fetched using
<connection server>/vmrest/languagemap.
Integer
Read/Write
Language
The display name of Directory Handler
String(64)
Read/Write
Display Name
Shows whether the Directory Handler can be deleted or not.
Values:
• false: The handler can be deleted by an administrator.
• true: The handler cannot be deleted by an administrator.
Default value: false
Boolean
Read/Write
Undeletable
Specifies the .wav file which is the recorded name.
String(40)
Read/Write
VoiceName
Specifies the URI of the voice file.
String
Read
Only
VoiceFileURI
Specifies the URI of voice names.
String
Read
Only
VoiceNameURI
The unique identifier of the location object to which this
handler belongs. Location, e.g. "Seattle Office."
String(36)
Read
Only
LocationObjectId
Specifies the URI of location.
String
Read
Only
LocationURI
Cisco Unity Connection Provisioning Interface (CUPI) API
540
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Explanation of Data Fields
Page 573
Comments
Data
Type
Operations
Parameter
The amount of time (in seconds) that Cisco Unity Connection
waits after caller input before performing the action indicated
by the input.
Value can be in the range 1-10. Default Value: 4.
Integer
Read/Write
EndDialDelay
The number of matches that if exceeded, will result in Cisco
Unity Connection prompting the caller to dial more letters.
Value can be in the range 1-30. Default value: 8.
Integer
Read/Write
MaxMatches
A flag indicating how Cisco Unity Connection presents
directory matches to callers - either in "menu choice" or
"extension list" format.
Note: MenuStyle cannot be set to false for the System Default
Directory Handler. Possible values can be:
• true : menu choice
• false : extension list.
Default value: true.
Boolean
Read/Write
MenuStyle
A flag indicating whether Cisco Unity Connection provides
a menu of subscriber names including extensions, or just
subscriber names.
Possible values can be:
• false: Play only subscriber names in menu list.
• true: Play subscriber names and extensions in menu list.
Default value : true
Boolean
Read/Write
SayExtension
A flag indicating whether a directory handler searches for
subscribers by using first name first, or last name first.
Values:
• false: Search by last name, then first name.
• true: Search by first name, then last name.
Default value: false.
Boolean
Read/Write
SearchByFirstName
The amount of time (in seconds) that Cisco Unity Connection
waits for the caller to start dialing.
Default value: 5. Value can be in the range 1-10.
Integer
Read/Write
StartDialDelay
The number of times Cisco Unity Connection will reprompt
the caller for input, e.g. dial name.
Default value : 1. Value can be in the range 0-10.
Integer
Read/Write
Tries
Cisco Unity Connection Provisioning Interface (CUPI) API
541
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Explanation of Data Fields
Page 574
Comments
Data
Type
Operations
Parameter
A flag indicating the key on the phone to use for "exit the
directory."
Values:
• true: Use star ("*") key to exit directory handler.
• false: Use pound/hash ("#") key to exit directory
handler.
Default value: true.
Boolean
Read/Write
UseStarToExit
The scope of the directory that Cisco Unity Connection will
search.
Default value: 0( search scope set as entire server). Possible
values : Refer to the SearchScope section under the
Enumeration Type as given at the end of the document
Integer
Read/Write
SearchScope
ObjectId of the Search Scope type set. For example : For
Class of Service it will be Class Of Service Object ID.
String(36)
Read/Write
SearchScopeObjectId
Represents a Class of Service(COS) .Only users with this
COS will be included in the directory handler.
String(36)
Read
Only
ScopeObjectCosObjectId
Represents a Distribution List. Only users who are members
of this distribution list will be included in the directory
handler.
String(36)
Read
Only
ScopeObjectDistributionListObjectId
Represents a Cisco Unity Connection Location .Only those
users assigned to this location will be included in the
directory handler.
String(36)
Read
Only
ScopeObjectLocationObjectId
Represents a Search Space .The unique identifier of the
search space which can act as filter for the directory handler.
String(36)
Read
Only
ScopeObjectSearchSpaceObjectId
A flag indicating whether Cisco Unity Connection plays the
names of subscribers in the directory for caller selection,
rather than requiring the caller to search by spelled name.
Default value: false.
Boolean
Read/Write
PlayAllNames
Specifies the exit action. Default Value is 2.
Possible Values: Refer to the section Enumeration Type at
the end of the document.
Integer
Read/Write
ExitAction
Specifies the conversation to go to upon exit. Default value
is "PHTransfer". Possible Values:
Refer to the section Enumeration Type at the end of the
document.
String(64)
Read/Write
ExitTargetConversation
The Unique Identifier of the call action object that Cisco
Unity Connection performs if the caller exits the directory
handler.
String(36)
Read/Write
ExitTargetHandlerObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
542
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Explanation of Data Fields
Page 575
Comments
Data
Type
Operations
Parameter
Specifies the action to be performed if there is no caller Input.
Default Value: 2. Possible Values: Refer to the section
Enumeration Type at the end of the document.
Integer
Read/Write
NoInputAction
Specifies the conversation to go when caller gives no Input.
Default value is "PHTransfer".
Refer to the section Enumeration Type at the end of the
document.
String(64)
Read/Write
NoInputTargetConversation
The unique identifier of the CallAction object that Cisco
Unity Connection performs (or the destination to which calls
are sent) if the caller does not enter a name or by not
responding to prompts.
String(36)
Read/Write
NoInputTargetHandlerObjectId
Specifies the action to be performed when caller does not
select anything. Default Value: 2.
Possible Values: Refer to the section Enumeration Type at
the end of the document.
Integer
Read/Write
NoSelectionAction
Specifies the conversation to go when caller does not select
anything.Default value is "PHTransfer" .
Refer to the section Enumeration Type at the end of the
document.
String(64)
Read/Write
NoSelectionTargetConversation
The unique identifier of the CallAction object that Cisco
Unity Connection performs (or the destination to which the
caller is sent to) if the caller makes no selection from a list
of matches.
String(36)
Read/Write
NoSelectionTargetHandlerObjectId
Specifies the action to be performed for caller input '0'.
Default Value: 2 Possible Values: Refer to the section
Enumeration Type at the end of the document.
Integer
Read/Write
ZeroAction
Specifies the conversation when caller presses 0. Default
value is "PHTransfer".
Refer to the section Enumeration Type at the end of the
document.
String(64)
Read/Write
ZeroTargetConversation
The unique identifier of the CallAction object that Cisco
Unity Connection performs if caller presses zero ("0") key
during menu style list of names.
String(36)
Read/Write
ZeroTargetHandlerObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
543
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Explanation of Data Fields
Page 576
Comments
Data
Type
Operations
Parameter
Represents how the call should be routed once the matches
are found in the Directory.
Default value: false. Values:
• false: Presents a list of matches, even if only one, and
prompts the user to verify the match.
• true: Automatically routes a call to the extension
assigned to the subscriber on a unique match without
prompting the caller to verify the match.
Boolean
Read/Write
AutoRoute
Object Id of the directory handler
String(36)
Read
Only
ObjectId
The unique identifier of the tenant to which the directory
handler belongs. This field is reflected in the response only
if the directory handler belongs to a particular tenant.
String(36)
Read
Only
TenantObjectId
Extension of the Directory handler
String(40)
Read/Write
DtmfAccessId
A flag indicating whether the directory handler will use voice
based addressing rather than touchtones.
Default value: false. Values:
• false: Use touchtones
• true: Use voice commands
Boolean
Read/Write
VoiceEnabled
Specifies if the language as inherited from the call is to be
used. Default value is true.
Boolean
Read/Write
UseCallLanguage
Specifies if the system default language has to be used.
Default value is true.
Boolean
Read/Write
UseDefaultLanguage
Object Id of the partition the directory handler belongs to
String(36)
Read/Write
PartitionObjectId
URI of partitions
String
Read
Only
PartitionURI
When the engine matches a spoken phrase, it associates a
confidence level with that conclusion. This parameter
determines what confidence level should be considered a
successful match.
Default Value is 10. Range of Value is 0 -100
Integer
Read/Write
SpeechConfidenceThreshold
A flag indicating if the user's city is voiced when a match is
voiced.
Default value is false.
Boolean
Read/Write
SayCity
A flag indicating if the user's department is voiced when a
match is voiced.
Default value is false.
Boolean
Read/Write
SayDepartment
Cisco Unity Connection Provisioning Interface (CUPI) API
544
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Explanation of Data Fields
Page 577
Comments
Data
Type
Operations
Parameter
Indicates whether to use the directory handler's custom
greeting or the system prompt.
Default value is false.
Boolean
Read/Write
UseCustomGreeting
Specifies the creation time of the directory handlers.
DateTime
Read
Only
CreationTime
Specifies the URI to fetch the conversation values which can
be used as the ExitConversation
String
Read
Only
ExitConversationURI
Specifies the URI to fetch the conversation values which can
be used as the NoInputConversation.
String
Read
Only
NoInputConversationURI
Specifies the URI to fetch the conversation values which can
be used as the NoSelectionConversation.
String
Read
Only
NoSelectionConversationURI
Specifies the URI to fetch the conversation values which can
be used as the ZeroExitConversation
String
Read
Only
ZeroExitConversationURI
Specifies the URI for the Directory Handler Stream files
which are used as the greeting for the Directory Handler.
String
Read
Only
DirectoryHandlerStreamFileURI
Cisco Unity Connection Provisioning Interface (CUPI)
API--Directory Handler Greeting APIs
Directory Handler Greeting APIs
Administrator can use this API to create/update/fetch the Directory Handler Greeting.
There are three ways to upload the Custom Greeting for the Directory Handler :
- Upload a .wav file from the desktop.
- Record a recording using CUTI(Cisco Unity Telephony Interface) and upload to the Directory Handler.
- Pass the .wav as an inputStream to the Directory Handler.Administrator can use this API to
create/update/fetch the directory handler greeting. You can update various attributes of directory handler
greeting using this API.
Enable Use of Custom Recordings on a Directory Handler
Custom Greetings can be enabled on a directory handler using the directory handler API. A PUT operation
has to be performed to set the UseCustomGreetings field to True:
PUT https://<connection-server>/vmrest/directoryhandlers/<DirectoryhandlerObjectId>
<DirectoryHandler>
<UseCustomGreeting>true<UseCustomGreeting>
</DirectoryHandler>
Cisco Unity Connection Provisioning Interface (CUPI) API
545
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler Greeting APIs
Page 578
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
To enable use of custom recordings on a directory handler, do the following:
PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<DirectoryhandlerObjectId>
Accept: application /json
Content-Type: application/json
Connection: keep-alive
{
"UseCustomGreeting": "true"
}
The following is an example of the PUT request and the actual response will depend upon the information
given by you:
Response Code: 204
Listing Directory Handler Greeting
The following is an example of the GET request that lists all the custom recordings for a directory handler
represented by the provided value of directory handler ID:
GET https://<connection-
server>/vmrest/handlers/directoryhandlers/<DirectoryHandlerObjectId>/directoryhandlerstreamfiles
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<DirectoryHandlerStreamFiles>
<DirectoryHandlerStreamFile>
<DirectoryHandlerObjectId>3a0043ab-933b-45f6-852d-e0a261554da2</DirectoryHandlerObjectId>
<LanguageCode>1033</LanguageCode>
<StreamFile>5a0c7347-4064-4e94-a9c8-b12426d38f8a.wav</StreamFile>
</DirectoryHandlerStreamFile>
</DirectoryHandlerStreamFiles>
Response Code: 200
JSON Example
To list directory handler greeting, do the following:
Request URI:
GET https://<connection-
server>/vmrest/handlers/directoryhandlers/<DirectoryHandlerObjectId>/directoryhandlerstreamfiles
Accept: application /json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
546
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Listing Directory Handler Greeting
Page 579
{
"DirectoryHandlerStreamFile":
{
"DirectoryHandlerObjectId": "06628a5c-b755-466d-9e39-66e1956c2242",
"LanguageCode": "1033",
"StreamFile": "050590b8-fb8f-4e8d-ab17-4e29eab7d412.wav"
}
}
Response Code: 200
Viewing Custom Recording for a Particular Language
The following is an example of the GET request that list the custom recording for a particular language from
a directory handler:
GET https://<connection-
server>/vmrest/handlers/directoryhandlers/<DirectoryHandlerObjectId>/directoryhandlerstreamfiles
/1033
Playing an Existing Greeting
The following is an example that will play an existing greeting in the browser:
https://<connection-
server>/vmrest/handlers/directoryhandlers/<DirectoryHandlerObjectId>/directoryhandlerstreamfiles
/1033/audio
Add or Update Greeting by Uploading File from the Desktop
It is a 3 step process
Step 1: A place-holder for the WAV file must be created with a POST. This is a temporary file place-holder
that can be used for up to 30 minutes. If it is not assigned to a resource within 30 minutes, the file is assumed
to be abandoned and is automatically cleaned.
POST https://<connection-server>/vmrest/voicefiles
Response Code: 201
The content is the name of the newly created temporary .wav file.
JSON Example
To create a place-holder for the WAV file, do the following:
Request URI:
POST https://<connection-server>/vmrest/voicefiles
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Cisco Unity Connection Provisioning Interface (CUPI) API
547
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Viewing Custom Recording for a Particular Language
Page 580
Response Code: 201
Sample Response: 6d9f3b85-c1df-4af8-89f3-6a975ebfb24c.wav
Step 2: Use the temporary file name to PUT the new audio data. The HTTP content type is "audio/wav" and
the payload content is the audio data.
NOTE:*Rename the .wav file which is to be uploaded as the greeting to the temporary file name generated
as part of the response from step1. For eg : If the file on desktop has name "greeting.wav" and the temporary
file name is 6d9f3b85-c1df-4af8-89f3-6a975ebfb24c.wav(got as part of the response of step1), then the file
should be renamed to 6d9f3b85-c1df-4af8-89f3-6a975ebfb24c.wav before step 2 is performed.
• The length of the greeting can be set under the System Settings > General Configuration settings. Here
you can enter the maximum length for system call handler greetings. The range is 1 to 1,200 seconds.
Default setting: 90 seconds. PUT /vmrest/voicefiles/<temporary file name>< /pre>
Response Code: 204
The content gets accepted and copied into the temporary file.
JSON Example To use the temporary file name, do the following:
Request URI:
PUT https://<connection server>/vmrest/voicefiles/<temporary file name>
Content-Type: audio/wav
Connection: keep-alive
Response Code: 204
Step 3: Set the Greeting field of the target resource. Both POST/ PUT can be used for adding a greeting. The
PUT request should be used for updating the greeting with a new stream file.
POST https://<connection-
server>/vmrest/handlers/directoryhandlers/<directoryhandlerObjectId>/directoryhandlerstreamfiles
/1033
Request Body:
<DirectoryHandlerStreamFile>
<StreamFile>7acbfec8-25a3-4b02-bd23-2b61acc175c9.wav</StreamFile>
</DirectoryHandlerStreamFile >
Response Code: 201
JSON Example
To set the greeting field of the target resource, do the following:
Request URI:
POST
https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryhandlerObjectId>/directoryhandlerstreamfiles/1033
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"StreamFile":"050590b8-fb8f-4e8d-ab17-4e29eab7d412.wav"
}
Cisco Unity Connection Provisioning Interface (CUPI) API
548
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Add or Update Greeting by Uploading File from the Desktop
Page 581
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
Use the following URL in a browser to play the stream file:
https://<connection-server>/vmrest/handlers/directoryhandlers/<DirectoryHandlerObjectId>/directoryhandlerstreamfiles/1033/audio
Add/Update Greeting Recording Used in Telephony Interface
It is a three step process to record a new file then modify the current stream with this new stream.
Step 1: Call Connection In the first step integration between Unity Connection and Call Manager must be
setup so that a call can be setup. Refer to the document at the below link to check how to make the call.
http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Telephony_Interface_(CUTI)_API_--_Using_CUTI_for_Basic_Call_Operations
In the first step integration between Unity Connection and Call Manager must be setup so that a call can be
setup. Refer to the document at the below link to check how to make the call.
Step 2: Recording Once the phone is answered, the second step is to record the greeting. Refer to the document
below to check how to record a greeting.
http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Telephony_Interface_(CUTI)_API_--_Using_CUTI_for_Basic_Call_Operations
Step 3: Upload Greeting The response for the step 2 is a Call Control object xml. That xml is to be passed
in as the request body for this request.
PUT https://<Connection
Server>/vmrest/handlers/directoryhandlers/<DirectoryHandlerObjectId>/directoryhandlerstreamfiles/1033/audio
Request Body:
<CallControl>
<op>RECORD</op>
<resourceType>STREAM</resourceType>
<resourceId>67ed783c-203f-454b-a0e6-57b77820c831.wav</resourceId>
<lastResult>0</lastResult>
<speed>100</speed>
<volume>100</volume>
<startPosition>0</startPosition>
</CallControl>
Response Code: 204
JSON Example
To upload greeting, do the following:
PUT
https://<connection-server>/vmrest/handlers/directoryhandlers/<DirectoryHandlerObjectId>/directoryhandlerstreamfiles/1033/audio
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"op":"RECORD",
"resourceType":"STREAM",
"resourceId":"67ed783c-203f-454b-a0e6-57b77820c831.wav",
"lastResult":"0",
"speed":"100",
"volume":"100",
"startPosition":"0"
}
Cisco Unity Connection Provisioning Interface (CUPI) API
549
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Add/Update Greeting Recording Used in Telephony Interface
Page 582
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Use the following URL in browser to play the stream file:
Use the following URL in browser to play the stream file: https://<connection-
server>/vmrest/handlers/directoryhandlers/<DirectoryHandlerObjectId>/directoryhandlerstreamfiles/10
33/audio Update the Greeting using the Input Stream The Directory Handler greeting can also be updated
using the Input Stream. An input stream can be created from the wav file and passed as the request body. The
URL for this should be :
<connection-
server>/vmrest/handlers/directoryhandlers/<DirectoryHandlerObjectId>/directoryhandlerstreamfiles/10
33/audio Update the Greeting using the Input Stream The Directory Handler greeting can also be updated
using the Input Stream. An input stream can be created from the wav file and passed as the request body. The
URL for this should be :
RequestURI :
https://<connectionserver>/vmrest/handlers/directoryhandlers/<directoryhandlerobjectid>/directoryhan
dlerstreamfiles/1033/audio.
The request body should be like this: put.setRequestBody(new FileInputStream(file3)); Here put is the PUT
request created, file3 is the wav file which user want to upload. Also the content type for the request should
be passed as "audio/wav". Following URL can be used to listen to the greeting associated with the directory
handler. Paste the URL in the browser and listen to the uploaded greeting:
https://<connectionserver>/vmrest/handlers/directoryhandlers/<directoryhandlerobjectid>/directoryhan
dlerstreamfiles/1033/audio
Explanation of Data Fields
Comments
Data
Type
Operations
Parameter
Object ID of the custom recording.
String
(36)
Read
Only
DirectoryHandlerObjectId
Specifies the enumeration type.
Integer
Read/Write
LanguageCode
Contains the .wav file that has been sent.
String
(40)
Read/Write
StreamFile
To fetch the languages installed on a Unity Connection server, use the following URL:
Note
GET https://<connection-server>/vmrest/installedlanguages
For more information on the Language Map API, please refer to the following document:
http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Language_Map
Cisco Unity Connection Provisioning Interface (CUPI) API
550
Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs
Explanation of Data Fields

Page 583
C H A P T E R 40
Cisco Unity Connection Provisioning Interface
(CUPI) API--Interview Handler APIs
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Interview Handler APIs, on page 551
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Interview Handler Questions APIs, on
page 561
Cisco Unity Connection Provisioning Interface (CUPI) API --
Interview Handler APIs
Interview Handler APIs
Interview Handler APIs
Interview Handler Questions APIs
Listing the Interview Handlers
The following is an example of the GET request that fetch the list of interview handlers:
GET https://<connection-server>/vmrest/handlers/interviewhandlers
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
551

Page 584
<InterviewHandlers total="1">
<InterviewHandler>
<URI>/vmrest/handlers/interviewhandlers/9153ef65-c38a-4588-b041-1cfac4ae0226</URI>
<CreationTime>2013-01-10T12:02:20Z</CreationTime>
<Language>1033</Language>
<DisplayName>Texoma_IH2</DisplayName>
<Undeletable>false</Undeletable>
<VoiceName>7b904f83-2b9c-4283-a22e-6e28028b2750.wav</VoiceName>
<VoiceFileURI>/vmrest/voicefiles/ccb35746-d253-42ed-b481-
4d906ae2e882</VoiceFileURI>
<VoiceNameURI>/vmrest/handlers/interviewhandlers/9153ef65-c38a-4588-b041-
1cfac4ae0226/voicename</VoiceNameURI>
<LocationObjectId>312f6d60-f9e8-447a-b7d9-a25040fa0ca2</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/312f6d60-f9e8-447a-b7d9-
a25040fa0ca2</LocationURI>
<SendUrgentMsg>0</SendUrgentMsg>
<ObjectId>9153ef65-c38a-4588-b041-1cfac4ae0226</ObjectId>
<TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId>
<RecipientDistributionListObjectId>80b13e8d-1dbe-4389-ba97-
91aaa10512fe</RecipientDistributionListObjectId>
<RecipientDistributionListURI>/vmrest/distributionlists/80b13e8d-1dbe-4389-ba97-
91aaa10512fe</RecipientDistributionListURI>
<AfterMessageAction>1</AfterMessageAction>
<UseCallLanguage>true</UseCallLanguage>
<UseDefaultLanguage>true</UseDefaultLanguage>
<DispatchDelivery>false</DispatchDelivery>
<PartitionObjectId>d3c659f3-27f7-43c8-bb25-778cec9fba21</PartitionObjectId>
<PartitionURI>/vmrest/partitions/d3c659f3-27f7-43c8-bb25-
778cec9fba21</PartitionURI>
<InterviewQuestionsURI>/vmrest/handlers/interviewhandlers/9153ef65-c38a-4588-b041-1cfac4ae0226/interviewquestions</InterviewQuestionsURI>
</InterviewHandler>
</InterviewHandlers>
Response Code: 200
JSON Example
To view the list of interview handlers, do the following:
Request URI:
GET https://<connection-server>/vmrest/handlers/interviewhandlers
Accept: application/json
Connection: Keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
552
Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs
Listing the Interview Handlers
Page 585
{
"@total": "1",
"InterviewHandler":[
{
"URI": "/vmrest/handlers/interviewhandlers/f1d0640b-f268-4725-87bb-e1762314fee6",
"CreationTime": "2013-02-13T10:10:43Z",
"Language": "1033",
"DisplayName": "Taxoma_Interviewer_1",
"Undeletable": "false",
"LocationObjectId": "df46033e-0058-4f7e-b5fc-8346df0ffee1",
"LocationURI": "/vmrest/locations/connectionlocations/df46033e-0058-4f7e-b5fc-
8346df0ffee1",
"SendUrgentMsg": "0",
"ObjectId": "f1d0640b-f268-4725-87bb-e1762314fee6",
"TenantObjectId": "fe6541fb-b42c-44f2-8404-ded14cbf7438",
"RecipientSubscriberObjectId": "47749981-5ceb-4674-a6b7-0b0afde4bfcc",
"RecipientUserURI": "/vmrest/users/47749981-5ceb-4674-a6b7-0b0afde4bfcc",
"AfterMessageAction": "4",
"UseCallLanguage": "true",
"UseDefaultLanguage": "true",
"DispatchDelivery": "false",
"PartitionObjectId": "30438c03-e8de-4584-bb5b-0dae05faf0af",
"PartitionURI": "/vmrest/partitions/30438c03-e8de-4584-bb5b-0dae05faf0af",
"InterviewQuestionsURI": "/vmrest/handlers/interviewhandlers/f1d0640b-f268-4725-
87bb-e1762314fee6/interviewquestions"
},
]
}
Response Code: 200
Listing Specific Tenant Related Interview Handlers by System Administrator
In Cisco Unity Connection 10.5(2) and later, the system administrator can use TenantObjectID to list the
specific tenant related interview handlers using the following URI:
GET https://<connection-server>/vmrest/handlers/interviewhandlers?query=(TenantObjectId is
<Tenant-ObjectId>)
To get the TenantObjectID, use the following URI:
GET https://<connection-server>/vmrest/tenants
Viewing the Details of Specific Interview Handler
The following is an example of the GET request that lists the details of interview handler represented by the
provided value of interview handler ID:
GET https://<
connection-server>/vmrest/handlers/interviewhandlers/<InterviewHandlerObject-Id>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
553
Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs
Listing Specific Tenant Related Interview Handlers by System Administrator
Page 586
<InterviewHandler>
<URI>/vmrest/handlers/interviewhandlers/9153ef65-c38a-4588-b041-1cfac4ae0226</URI>
<CreationTime>2013-01-10T12:02:20Z</CreationTime>
<Language>1033</Language>
<DisplayName>Texoma_IH2</DisplayName>
<Undeletable>false</Undeletable>
<VoiceName>7b904f83-2b9c-4283-a22e-6e28028b2750.wav</VoiceName>
<VoiceFileURI>/vmrest/voicefiles/ccb35746-d253-42ed-b481-4d906ae2e882</VoiceFileURI>
<VoiceNameURI>/vmrest/handlers/interviewhandlers/9153ef65-c38a-4588-b041-
1cfac4ae0226/voicename</VoiceNameURI>
<LocationObjectId>312f6d60-f9e8-447a-b7d9-a25040fa0ca2</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/312f6d60-f9e8-447a-b7d9-
a25040fa0ca2</LocationURI>
<SendUrgentMsg>0</SendUrgentMsg>
<ObjectId>9153ef65-c38a-4588-b041-1cfac4ae0226</ObjectId>
<RecipientDistributionListObjectId>80b13e8d-1dbe-4389-ba97-
91aaa10512fe</RecipientDistributionListObjectId>
<RecipientDistributionListURI>/vmrest/distributionlists/80b13e8d-1dbe-4389-ba97-
91aaa10512fe</RecipientDistributionListURI>
<AfterMessageAction>1</AfterMessageAction>
<UseCallLanguage>true</UseCallLanguage>
<UseDefaultLanguage>true</UseDefaultLanguage>
<DispatchDelivery>false</DispatchDelivery>
<PartitionObjectId>d3c659f3-27f7-43c8-bb25-778cec9fba21</PartitionObjectId>
<PartitionURI>/vmrest/partitions/d3c659f3-27f7-43c8-bb25-778cec9fba21</PartitionURI>
<InterviewQuestionsURI>/vmrest/handlers/interviewhandlers/9153ef65-c38a-4588-b041-
1cfac4ae0226/interviewquestions</InterviewQuestionsURI>
</InterviewHandler>
Response Code: 200
JSON Example
To view the list of interview handlers, do the following:
Request URI:
GET https://<
connection-server>/vmrest/handlers/interviewhandlers/<InterviewHandlerObject-Id>
Accept: application/json
Connection: Keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
554
Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs
Viewing the Details of Specific Interview Handler
Page 587
{
"URI": "/vmrest/handlers/interviewhandlers/f1d0640b-f268-4725-87bb-e1762314fee6",
"CreationTime": "2013-02-13T10:10:43Z",
"Language": "1033",
"DisplayName": "Texoma_IH2",
"Undeletable": "false",
"LocationObjectId": "df46033e-0058-4f7e-b5fc-8346df0ffee1",
"LocationURI": "/vmrest/locations/connectionlocations/df46033e-0058-4f7e-b5fc-
8346df0ffee1",
"SendUrgentMsg": "0",
"ObjectId": "f1d0640b-f268-4725-87bb-e1762314fee6",
"RecipientSubscriberObjectId": "47749981-5ceb-4674-a6b7-0b0afde4bfcc",
"RecipientUserURI": "/vmrest/users/47749981-5ceb-4674-a6b7-0b0afde4bfcc",
"AfterMessageAction": "4",
"UseCallLanguage": "true",
"UseDefaultLanguage": "true",
"DispatchDelivery": "false",
"PartitionObjectId": "30438c03-e8de-4584-bb5b-0dae05faf0af",
"PartitionURI": "/vmrest/partitions/30438c03-e8de-4584-bb5b-0dae05faf0af",
"InterviewQuestionsURI": "/vmrest/handlers/interviewhandlers/f1d0640b-f268-4725-87bb-
e1762314fee6/interviewquestions"
}
Response Code: 200
<pre>
=== Creating a New Interview Handler ===
The following is an example of the POST request that creates a new interview handler:
<pre>
POST https://<connection-server>/vmrest/handlers/interviewhandlers
Request Body:
<InterviewHandler>
<DisplayName>Texoma_IH2</DisplayName>
<RecipientDistributionListObjectId>80b13e8d-1dbe-4389-ba97-
91aaa10512fe</RecipientDistributionListObjectId>
</InterviewHandler>
Response Code: 200
<pre>
'''JSON Example'''
To create a new interview handler:
<pre>
POST https://<connection-server>/vmrest/handlers/interviewhandlers
Accept: application/json
Content-Type: application/json
Connection: Keep-alive
{
"DisplayName": "Taxoma_Interviewer",
"RecipientDistributionListObjectId": "c596c45c-00a3-4714-a359-4ac45da38232"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
Cisco Unity Connection Provisioning Interface (CUPI) API
555
Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs
Viewing the Details of Specific Interview Handler
Page 588
Delete the Interview Handler
This request can be used to delete an interview handler specified by an object ID.
DELETE: https://<connection-server>/vmrest/
handlers/interviewhandlers/<interviewhandler-objectid>
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
JSON Example
To delete interview handler, do the following:
Request URI:
DELETE
https://<connection-server>/vmrest/handlers/interviewhandlers/<interviewhandler-objectid>
Accept: application/json
Connection: Keep-alive
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
Updating the Interview Handler
Example 1: Modify the Interview Handler The following is an example of the PUT request that can be
used to modify the interview handler.
PUT https://<connection-server>/vmrest/handlers/interviewhandlers/<interviewhandler-objectid>
Request Body:
<InterviewHandler>
<UseCallLanguage>true</UseCallLanguage>
<UseDefaultLanguage>false</UseDefaultLanguage>
<Language>1033</Language>
</InterviewHandler>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
The Inherit Language field from the call is selected and the UseDefaultLanguage field will get updated in the
database as the Language field is specified.
Note
JSON Example
To update the interview handler, do the following:
Cisco Unity Connection Provisioning Interface (CUPI) API
556
Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs
Delete the Interview Handler

Page 589
Request URI:
PUT https://<connection-server>/vmrest/handlers/interviewhandlers/<interviewhandler-objectid>
Accept: application/json
Content-Type: application/json
Connection: Keep-alive
Request Body:
{
"Language": "1033",
"UseCallLanguage": "true",
"UseDefaultLanguage": "false"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Example 2: Recipient is switched from user with mailbox to Distribution List
Request Body:
<InterviewHandler>
<RecipientDistributionListObjectId>68d149ff-59f6-4394-8103-
f3c2bf75d8bb</RecipientDistributionListObjectId>
</InterviewHandler>
Response Code: 204
RecipientSubscriberObjectId and RecipientUserURI fields are replaced with RecipientDistributionListObjectId
and RecipientDistributionListURI The table given below lists the possible values of the After Interview Action:
AfterMessageTargetHandlerObjectId
AfterMessageTargetConversation
AfterMessageAction
AfterInterviewAction
NA
NA
1-8
CallAction (Refer
to the table given
below)
<object-id> of call handler having
IsPrimary parameter as true. URI to get
object id of call handlers:
htps:/<connection-server>/vmrest/handlers/calhandlers?query=(IsPrimary%20is%201)
PHTransfer/PHGreeting
2
CallHandler
<object-id> of interview handler. URI to
get object id of Interview handlers:
https://<connection-server>/vmrest/handlers/interviewhandlers.
PHInterview
2
Interview
Handler
<object-id> of directory handler. URI to
get object id of directory handlers:
https://<connection-server>/vmrest/handlers/directoryhandlers
AD
2
Directory
Handler
NA
BroadcastMessageAdministrator
• SystemTransfer
• GreetingsAdministrator
• SubSignIn
• SubSysTransfer
2
Conversation
Cisco Unity Connection Provisioning Interface (CUPI) API
557
Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs
Updating the Interview Handler
Page 590
AfterMessageTargetHandlerObjectId
AfterMessageTargetConversation
AfterMessageAction
AfterInterviewAction
<object-id> which can be captured from
/vmrest/users.
PHTransfer/PHGreeting
2
User with
Mailbox
Description
Call Action
Value
Name
Ignore - no action taken.
0
Ignore
Hangup - the call is immediately terminated.
1
Hangup
Goto - go to an object such as a call handler, directory handler or interview
handler.
2
Goto
Error - play the error greeting.
3
Error
Take a message.
4
TakeMsg
Skip greeting.
5
SkipGreeting
RestartGreeting - restart greeting on current handler
6
RestartGreeting
Transfer to Alternate Contact Number
7
TransferAltContact
Route From Next Call Routing Rule
8
RouteFromNextRule
Explanation of Data Fields
Comments
Data
Type
Operations
Parameter
Interview Handler URI
String
Read
Only
URI
Stores the time of creation of Interview Handler
Datetime
Read
Only
Creation Time
Stores code for language where valid values range from 1024
to 58378 and 0 is not allowed. All possible language code
values can be fetched using
https://<connection-server>/vmrest/languagemap
Integer
Read/Write
Language
Name of an interview handler
String
(64)
Read/Write
DisplayName
Cisco Unity Connection Provisioning Interface (CUPI) API
558
Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs
Explanation of Data Fields
Page 591
Comments
Data
Type
Operations
Parameter
A flag indicating whether this handler can be deleted via an
administrative application such as Cisco Unity Connection
Administration. It is used to prevent the deletion of factory
defaults such as the "Opening Greeting" call handler.
Possible values:
• false: The handler can be deleted by an administrator
(with the required privilege) via an administrative
application such as Cisco Unity Connection
Administration or Cisco Unity Connection Bulk
Administration Manager.
• true: The handler cannot be deleted by an administrator
via Cisco Unity Connection Administration or Cisco
Unity Connection Bulk Administration Manager.
Boolean
Read/Write
Undeletable
The name of the .wav file containing the recorded audio of
the name of an interview handler.
String
(40)
Read/Write
VoiceName
Specifies the URI of voice file.
String
Read
Only
VoiceFileURI
Specifies the URI of voice name.
String
Read
Only
VoiceNameURI
The unique identifier of the Location object to which this
handler belongs.
String
(36)
Read
Only
LocationObjectID
Specifies the URI of locations
String
Read
Only
LocationURI
A flag indicating whether an unidentified caller is given a
choice to mark a message as Urgent or Normal, or if not
given the choice, whether the message is always marked
Normal (default value) or Urgent.
Possible values :-
• 2 Ask - Cisco Unity Connection asks unidentified
callers whether to mark their interview messages normal
or urgent.
• 0 Normal - interview messages left by unidentified calls
are always marked normal.
• 1 Urgent - all interview messages left by unidentified
calls are always marked urgent.
Integer
Read/Write
SendUrgentMsg
Object ID of interview handler.
String
(36)
Read
Only
ObjectId
The unique identifier of the tenant to which the interview
handler belongs. This field is reflected in the response only
if the interview handler belongs to a particular tenant.
String
(36)
Read
Only
TenantObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
559
Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs
Explanation of Data Fields
Page 592
Comments
Data
Type
Operations
Parameter
Object ID of distribution list if the recipient of interview
handler is set to distribution list.
String
(36)
Read/Write
RecipientDistributionListObjectId
URI of the distribution list.
String
Read
Only
RecipientDistributionListURI
Object ID of the subscriber if the recipient of interview
handler is set to a user.
String
(36)
Read/Write
RecipientSubscriberObjectId
URI of the subscriber.
String
Read/Write
RecipientSubscriberURI
Possible types of call action to take, e.g., hang-up, go to
another object, etc.
• 0 Ignore - no action taken.
• 1 Hangup - the call is immediately terminated.
• 2 Goto - go to an object such as a call handler, directory
handler or interview handler.
• 3 Error - play the error greeting.
• 4 Take a message.
• 5 Skip greeting.
• 6 RestartGreeting
• 7 Transfer to Alternate Contact Number
• 8 Route From Next Call Routing Rule
Default value: 4
Integer
Read/Write
AfterMessageAction
The name of the conversation used to set up, send, and
retrieve messages.
String
(64)
Read/Write
AfterMessageTargetConversation
Specifies the URI of the target specified.
String
(36)
Read/Write
AfterMessageTargetHandlerObjectId
A flag indicating whether Cisco Unity Connection will use
the language assigned to the call.
Possible values:
• true: Use the language specified by the system call
routing rule to play prompts for users.
• false: Do not use the language specified by the system
call routing rule to play prompts for users.
Default value: true
Boolean
Read/Write
UseCallLanguage
A flag that is dependent on the value of Language Field. If
Language is set to Null, UseDefaultLanguage is set to
true(1). If any language is specified, UseDefaultLanguage
is set to false(0).
Default value: true.
Boolean
Read/Write
UseDefaultLanguage
Cisco Unity Connection Provisioning Interface (CUPI) API
560
Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs
Explanation of Data Fields
Page 593
Comments
Data
Type
Operations
Parameter
A flag indicating that all messages left for the interview
handler is for dispatch delivery.
Possible values:-
• true: Messages left for interview handler is for dispatch
delivery.
• false: Messages left for interview handler is not for
dispatch delivery
Default value: false
Boolean
Read/Write
DispatchDelivery
The unique identifier of the Partition to which the
InterviewHandler is assigned.
String
(36)
Read/Write
PartitionObjectId
Specifies the partition URI.
String
Read
Only
PartitionURI
Specifies the URI of interview questions of an interview
handler
String
Read
Only
InterviewQuestionsURI
Specifies an extension number where minimum length can
be 1 and maximum length can be 40.
Integer
Read/Write
DtmfAccessId
Cisco Unity Connection Provisioning Interface (CUPI) API --
Interview Handler Questions APIs
Interview Handler Questions APIs
Administrator can use this API to fetch/update the interview questions of a particular interview handler. You
can update various attributes of interview handler questions as well using this API.
Listing the Interview Handler Questions
The following is an example of the GET request that fetch the list of interview handler questions:
GET https://<connection-server>/vmrest/handlers/interviewhandlers/<interviewhandler-
objectid>/interviewquestions
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
561
Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs
Cisco Unity Connection Provisioning Interface (CUPI) API -- Interview Handler Questions APIs
Page 594
<InterviewQuestions total="1">
<InterviewQuestion>
<InterviewHandlerObjectId>9fa58ed4-af0b-4de5-977c-
8c080b0727c1</InterviewHandlerObjectId>
<InterviewHandlerURI>/vmrest/handlers/interviewhandlers/9fa58ed4-af0b-4de5-977c-
8c080b0727c1</InterviewHandlerURI>
<QuestionNumber>1</QuestionNumber>
<MaxMsgLength>30</MaxMsgLength>
<StreamText>1</StreamText>
<IsActive>true</IsActive>
</InterviewQuestion>
</InterviewQuestions>
Response Code: 200
JSON Example
To update the interview handler, do the following:
Request URI:
GET
https://<connection-server>/vmrest/handlers/interviewhandlers/<interviewhandler-objectid>/interviewquestions
Accept: application/json
Connection: Keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
},{
"@total": "2",
"InterviewQuestion": [
{
"InterviewHandlerObjectId": "99800fcc-e8df-42d3-ac3f-5117483b293e",
"InterviewHandlerURI": "/vmrest/handlers/interviewhandlers/99800fcc-e8df-42d3-ac3f-
5117483b293e",
"QuestionNumber": "1",
"MaxMsgLength": "30",
"StreamText": "1",
"IsActive": "true"
},
{
"InterviewHandlerObjectId": "99800fcc-e8df-42d3-ac3f-5117483b293e",
"InterviewHandlerURI": "/vmrest/handlers/interviewhandlers/99800fcc-e8df-42d3-ac3f-
5117483b293e",
"QuestionNumber": "2",
"MaxMsgLength": "30",
"StreamText": "2",
"IsActive": "true"
}
]
}
Response Code: 200
Viewing the Specific Interview Handler Question
The following is an example of the GET request that lists the details of interview handler question represented
by the provided value of interview handler ID:
Cisco Unity Connection Provisioning Interface (CUPI) API
562
Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs
Viewing the Specific Interview Handler Question
Page 595
GET https://< connection-server>/vmrest/handlers/interviewhandlers/<Interviewhandler-
objectid>/interviewquestions/<questionnumber>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<InterviewQuestion>
<InterviewHandlerObjectId>9fa58ed4-af0b-4de5-977c-
8c080b0727c1</InterviewHandlerObjectId>
<InterviewHandlerURI>/vmrest/handlers/interviewhandlers/9fa58ed4-af0b-4de5-977c-
8c080b0727c1</InterviewHandlerURI>
<QuestionNumber>2</QuestionNumber>
<MaxMsgLength>30</MaxMsgLength>
<StreamText>2</StreamText>
<IsActive>true</IsActive>
</InterviewQuestion>
Response Code: 200
Updating the Interview Handler Questions
The following is an example of the PUT request that can be used to modify an interview handler questions.
PUT
https://<connection-server>/vmrest/handlers/interviewhandlers/<interviewhandler-objectid>/interviewquestions/<questionnumber>
Request Body:
<InterviewQuestion>
<IsActive>false</IsActive>
</InterviewQuestion>
Response Code: 204
JSON Example
To update the interview handler, do the following:
Request URI:
PUT
https://<connection-server>/vmrest/handlers/interviewhandlers/<interviewhandler-objectid>/interviewquestions/<questionnumber>
Accept: application/json
Content-Type: application/json
Connection: Keep-alive
Request Body:
{
"IsActive": "false"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
563
Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs
Updating the Interview Handler Questions
Page 596
Explanation of Data Fields
Comments
Data
Type
Operations
Parameter
Object id of the parent interview handler.
String
Read
Only
InterviewHandlerObjectId
URI of the parent interview handler.
String
Read
Only
InterviewHandlerURI
Specifies the question number.Questions are numbered from 1 to
20.
Integer
Read
Only
QuestionNumber
The maximum recording length (in seconds) allowed for caller
responses to the question.
Value can range from 1 to 1200. Default value: 30 seconds
Integer
Read/Write
MaxMsgLength
Specifies the question text. Defaults to the index "1", "2", etc.
String
Read/Write
StreamText
Specifies whether question is active or not
Possible values:
• true: activate question
• false: Inactivate question
Default Value: true
Boolean
Read/Write
IsActive
Specifies the name of the .wav file.
NA
Read/Write
VoiceFile
Update the Interview question using the Input Stream
The Interview question can also be updated using the Input Stream. An input stream can be created from the
wav file and passed as the request body. The URL for this should be :
PUT
https://<connectionserver>/vmrest/handlers/interviewhandlers/<interviewhandlerobjectid>/interviewquestions/
<QuestionNumber>/audio.
The request body will contain an attachment with media type audio/wav. Attachment can be uploaded via
application to upload the wave file over HTTPS. Also add the header "content-type" for the request which
value will be passed as "audio/wav".
Following URL can be used to listen/get to the question associated with the interview handler: Paste the URL
in the browser and listen to the uploaded question.
https://<connectionserver>/vmrest/handlers/interviewhandlers/<interviewhandlerobjectid>/interviewquestions/<QuestionNumber>/audio.
Cisco Unity Connection Provisioning Interface (CUPI) API
564
Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs
Explanation of Data Fields
Page 597
C H A P T E R 41
Cisco Unity Connection Provisioning Interface
(CUPI) API--Call Routing
• Cisco Unity Connection Provisioning Interface (CUPI) API-- Routing Rules, on page 565
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Routing Rule Conditions, on page 580
Cisco Unity Connection Provisioning Interface (CUPI) API--
Routing Rules
About Routing Rules and Routing Rule Conditions
This page contains information on how to use the API to create, list, update, and delete Routing Rules and
their support objects, Routing Rule Conditions. Please note that the syntax for Routing Rules and Routing
Rule Conditions is relatively complicated. Retrieving existing rules and conditions is not too difficult, but
creating and modifying them via CUPI should only be done with great care. If the Routing Rules or Routing
Rule Conditions are misconfigured, they might not display correctly in Cisco Unity Connection Administration
(CUCA), and calls into Cisco Unity Connection might not get answered or might route to the wrong
Conversation. Routing Rules and Routing Rule Conditions both include some fields that are enumeration
types (meaning numeric constants), which makes understanding these fields more complicated. Some examples
can be found near the end of this document.
Each Routing Rule has a Type (Direct, Forwarded, or Both) and a RuleIndex (starting at index 0 and increasing
by 1 for each additional rule). When Cisco Unity Connection answers a call of the specified type, it attempts
to match the Routing Rules in order starting at RuleIndex 0 and continuing with each successive index until
a rule matches. The factory default rules (which are built in and cannot be deleted) should match any call that
doesn't match a custom rule. An individual Routing Rule also specifies the destination for the call in the event
the rule matches, such as a user, call handler, interview handler, directory handler, or conversation.
In addition, each Routing Rule can have 0 or more Routing Rule Conditions, and a call must match all of
these conditions before it is considered a match. If a Routing Rule does not have any Routing Rule Conditions,
then all calls match it. The default Routing Rule, which transfers to the Opening Greeting, does not have any
Routing Rule Conditions and is usually at the highest RuleIndex, so if a call does not match any other Routing
Rules it ends up at the Opening Greeting. An individual Routing Rule Condition can specify any of the
following conditions: call information such as Calling Number, Called Number, or Redirecting Number
(Forwarded Routing Rules only); port or phone system; or schedule.
Cisco Unity Connection Provisioning Interface (CUPI) API
565

Page 598
Routing Rules
Listing and Viewing
The following is an example of a GET that lists all Routing Rules:
GET https://<connection-server>/vmrest/routingrules
The following is the response from the above GET request:
Cisco Unity Connection Provisioning Interface (CUPI) API
566
Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing
Routing Rules
Page 599
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<RoutingRules total="3">
<RoutingRule>
<URI>/vmrest/routingrules/a2f64719-c82f-491c-996f-ee543e6d7e38</URI>
<ObjectId>a2f64719-c82f-491c-996f-ee543e6d7e38</ObjectId>
<DisplayName>Opening Greeting</DisplayName>
<State>0</State>
<RuleIndex>2</RuleIndex>
<Type>3</Type>
<Flags>3</Flags>
<RouteTargetConversation>PHTransfer</RouteTargetConversation>
<RouteTargetHandlerObjectId>198ff222-1129-486c-9bef-c05057dae950</RouteTargetHandlerObjectId>
Cisco_Unity_Connection_Provisioning_Interface_(CUPI)API--_Routing_Rules
About Routing Rules and Routing Rule Conditions 2
<RouteTargetHandlerDisplayName>Opening Greeting</RouteTargetHandlerDisplayName>
<RouteTargetHandlerObjectType>3</RouteTargetHandlerObjectType>
<RouteAction>2</RouteAction>
<LanguageCode>0</LanguageCode>
<UseDefaultLanguage>true</UseDefaultLanguage>
<UseCallLanguage>true</UseCallLanguage>
<CallType>2</CallType>
<SearchSpaceObjectId>02cb3fba-1525-4768-89f6-64f4712ea177</SearchSpaceObjectId>
<SearchSpaceURI>/vmrest/searchspaces/02cb3fba-1525-4768-89f6-64f4712ea177</SearchSpaceURI>
<Undeletable>true</Undeletable>
<RoutingRuleConditionsURI>/vmrest/routingrules/a2f64719-c82f-491c-996f-ee543e6d7e38/routingruleconditions</</RoutingRule>
<RoutingRule>
<URI>/vmrest/routingrules/857c5cd6-0153-4673-a917-27c59bf5ce37</URI>
<ObjectId>857c5cd6-0153-4673-a917-27c59bf5ce37</ObjectId>
<DisplayName>Attempt Sign In</DisplayName>
<State>0</State>
<RuleIndex>1</RuleIndex>
<Type>1</Type>
<Flags>3</Flags>
<RouteTargetConversation>AttemptSignIn</RouteTargetConversation>
<RouteTargetHandlerObjectType>0</RouteTargetHandlerObjectType>
<RouteAction>2</RouteAction>
<LanguageCode>0</LanguageCode>
<UseDefaultLanguage>true</UseDefaultLanguage>
<UseCallLanguage>true</UseCallLanguage>
<CallType>2</CallType>
<SearchSpaceObjectId>02cb3fba-1525-4768-89f6-64f4712ea177</SearchSpaceObjectId>
<SearchSpaceURI>/vmrest/searchspaces/02cb3fba-1525-4768-89f6-64f4712ea177</SearchSpaceURI>
<Undeletable>true</Undeletable>
<RoutingRuleConditionsURI>/vmrest/routingrules/857c5cd6-0153-4673-a917-27c59bf5ce37/routingruleconditions</</RoutingRule>
<RoutingRule>
<URI>/vmrest/routingrules/8b7ea5be-48c5-4e7b-bc9d-c06f052074a4</URI>
<ObjectId>8b7ea5be-48c5-4e7b-bc9d-c06f052074a4</ObjectId>
<DisplayName>Attempt Forward</DisplayName>
<State>0</State>
<RuleIndex>0</RuleIndex>
<Type>2</Type>
<Flags>3</Flags>
<RouteTargetConversation>AttemptForward</RouteTargetConversation>
<RouteTargetHandlerObjectType>0</RouteTargetHandlerObjectType>
<RouteAction>2</RouteAction>
<LanguageCode>0</LanguageCode>
<UseDefaultLanguage>true</UseDefaultLanguage>
<UseCallLanguage>true</UseCallLanguage>
<CallType>2</CallType>
<SearchSpaceObjectId>02cb3fba-1525-4768-89f6-64f4712ea177</SearchSpaceObjectId>
<SearchSpaceURI>/vmrest/searchspaces/02cb3fba-1525-4768-89f6-64f4712ea177</SearchSpaceURI>
<Undeletable>true</Undeletable>
Cisco Unity Connection Provisioning Interface (CUPI) API
567
Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing
Listing and Viewing
Page 600
<RoutingRuleConditionsURI>/vmrest/routingrules/8b7ea5be-48c5-4e7b-bc9d-c06f052074a4/routingruleconditions</</RoutingRule>
</RoutingRules>
To retrieve a sorted list of all Routing Rules, add the following query parameter to the GET: sort=(column[asc
| desc])
For example, to retrieve a list of all Routing Rules sorted by RuleIndex in ascending order:
GET https://<connection-server>/vmrest/routingrules?sort=(RuleIndex%20asc)
To retrieve a specific Routing Rule by its ObjectId:
GET https://<connection-server>/vmrest/routingrules/<objectid>
JSON Example
To list all the routing rules, use the following command:
Request URI:
GET https://<connection-server>/vmrest/routingrules
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"@total": "1",
"RoutingRule": [
{
"URI": "/vmrest/routingrules/6ba11848-3eb2-47b9-ab2b-b1464165a1bf",
"ObjectId": "6ba11848-3eb2-47b9-ab2b-b1464165a1bf",
"DisplayName": "Opening Greeting",
"State": "1",
"RuleIndex": "20",
"Type": "3",
"Flags": "3",
"RouteTargetConversation": "PHTransfer",
"RouteTargetHandlerObjectId": "e6fd6ae4-7bf5-4a46-b994-e9fd13d83c30",
"RouteTargetHandlerDisplayName": "Opening Greeting",
"RouteTargetHandlerObjectType": "3",
"RouteAction": "2",
"LanguageCode": "0",
"UseDefaultLanguage": "true",
"UseCallLanguage": "true",
"CallType": "2",
"SearchSpaceObjectId": "f8a97bde-8f75-4c84-b2e6-aa6e54cc26c2",
"SearchSpaceURI": "/vmrest/searchspaces/f8a97bde-8f75-4c84-b2e6-aa6e54cc26c2",
"Undeletable": "true",
"RoutingRuleConditionsURI":
"/vmrest/routingrules/6ba11848-3eb2-47b9-ab2bb1464165a1bf/routingruleconditions",
"CallHandlerURI": "/vmrest/handlers/callhandlers",
"DirectoryHandlerURI": "/vmrest/handlers/directoryhandlers",
"InterviewHandlerURI": "/vmrest/handlers/interviewhandlers",
"ConversationURI":"/vmrest/conversations?query=(CnvRoutingRuleForwardedCall%20is%201)",
"SearchSpaceFetchURI": "/vmrest/searchspaces"
},
]
}
Cisco Unity Connection Provisioning Interface (CUPI) API
568
Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing
Listing and Viewing
Page 601
Response Code: 200
Searching
To retrieve a list of Routing Rules that meet a specified search criteria, add the following query parameter to
a GET: query=(column [is | startswith] value)
For example, to find the Routing Rule at RuleIndex 1:
GET https://<connection-server>/vmrest/routingules?query=(RuleIndex%20is%201)
Creating
The only required field for creating a Routing Rule is DisplayName. All other Routing Rule fields are optional.
A Routing Rule that is created with default fields has Type=1 (Direct) and routes to the System Directory
Handler. Some examples of other types of Routing Rules can be found at the end of this document.
Note that RuleIndex cannot be specified when creating a new Routing Rule; all new Routing Rules are created
at RuleIndex 0, and the RuleIndex of all other Routing Rules is incremented by 1 when the new Routing Rule
is created.
The following is an example of a POST that creates a Routing Rule with the name "My Routing Rule" of
Type 1 (Direct):
POST https://<connection-server>/vmrest/routingrules
<RoutingRule>
<DisplayName>My Routing Rule</DisplayName>
<Type>1</Type>
</RoutingRule>
The following is the response from the above POST request:
201
Created
/vmrest/routingrules/bd73528d-e810-4533-8aab-89de32013885
JSON Example
To create new routing rule, do the following:
Request URI:
POST https://<connection-server>/vmrest/routingrules
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"DisplayName": "Texoma Routing Rule",
"Type": "1"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
569
Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing
Searching
Page 602
Response Code: 201
Updating
The following is an example of a PUT request that modifies the DisplayName of an existing Routing Rule:
PUT https://<connection-server>/vmrest/routingrules/<objectid>
<RoutingRule>
<DisplayName>Changed Display Name</DisplayName>
</RoutingRule>
The following is the response from the above PUT request:
204
No Content
Note that the RuleIndex of a Routing Rule cannot be modified with this method. Rather, the ordering of the
entire Routing Rules collection can be modified, as described later in this document.
JSON Example
To update display name of routing rule, do the following:
PUT https://<connection-server>/vmrest/routingrules/<routingrulesobjectId>
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body
{
"DisplayName": "Texoma_1 Routing Rule"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Deleting
The following is an example of a DELETE request that deletes a Routing Rule:
DELETE https://<connection-server>/vmrest/routingrules/<objectid>
The following is the response from the above DELETE request:
204
No Content
JSON Example
DELETE https://<connection-server>/vmrest/routingrules/<routingrulesobjectId>
Accept: application/json
Connection: keep-alive
Cisco Unity Connection Provisioning Interface (CUPI) API
570
Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing
Updating
Page 603
Response Code: 204
Changing Routing Rule Indices
As noted in previous sections, a Routing Rule's RuleIndex field cannot be modified when creating or updating
a Routing Rule. Instead, you can change a Routing Rule's RuleIndex only in the context of ordering all of the
Routing Rules in a collection.
The following is an example of a PUT request that modifies the RuleIndices of a collection of Routing Rules:
PUT https://<connection-server>/vmrest/routingrules
<RoutingRules>
<RoutingRule>
<ObjectId>aabbccdd-1111-2222-3333-1234567890ab</ObjectId>
</RoutingRule>
<RoutingRule>
<ObjectId>12345678-abcd-abcd-abcd-123412341234</ObjectId>
</RoutingRule>
<RoutingRule>
<ObjectId>99990000-1234-1234-1234-abcdef012345</ObjectId>
</RoutingRule>
</RoutingRules>
The following is a response from the above PUT request:
204
No Content
After this PUT request is processed, the Routing Rule with ObjectId aabbccdd-1111-2222-3333-1234567890ab
would have RuleIndex 0, the Routing Rule with ObjectId 12345678-abcd-abcd-abcd-123412341234 would
have RuleIndex 1, and the Routing Rule with ObjectId 99990000-1234-1234-1234-abcdef012345 would have
RuleIndex 2.
JSON Example
To update the order of routing rule, do the following:
Request URI:
PUT https://<connection-server>/vmrest/routingrules
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
Cisco Unity Connection Provisioning Interface (CUPI) API
571
Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing
Changing Routing Rule Indices
Page 604
{
"RoutingRule": [
{
"ObjectId": "d083fa0b-76ec-4bec-add3-c54aae6033df"
},
{
"ObjectId": "983efa07-ccb2-4b61-a1e5-083e16ca7513"
},
{
"ObjectId": "bd8b8092-1c08-4d25-8d35-116d7a677bf4"
},
{
"ObjectId": "7ee01b59-a619-42f9-9311-5df0f27763ac"
}
]
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Routing Rule Conditions
Each Routing Rule can have a collection of Routing Rule Conditions. The Routing Rule Conditions that
belong to a specified Routing Rule can be accessed at
/vmrest/routingrules/<routingruleobjectid>/routingruleconditions. When first created, a Routing Rule does
not have any Routing Rule Conditions, which means that every call matches it and is routed to its destination.
Listing and Viewing
The following is an example of a GET that lists all Routing Rule Conditions that belong to a specified Routing
Rule:
GET
https://<connection-server>/vmrest/routingrules/<routingruleobjectid>/routingruleconditions
The following is the response from the above GET request:
Cisco Unity Connection Provisioning Interface (CUPI) API
572
Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing
Routing Rule Conditions
Page 605
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<RoutingRuleConditions total="2">
<RoutingRuleCondition>
<URI>/vmrest/routingrules/d2f86bc0-4cab-4c29-9321-d756fe3add6a/routingruleconditions/2a5263b7-<ObjectId>2a5263b7-c896-47ff-ad8c-749e0459a28c</ObjectId>
<RoutingRuleObjectId>d2f86bc0-4cab-4c29-9321-d756fe3add6a</RoutingRuleObjectId>
<RoutingRuleURI>/vmrest/routingrules/d2f86bc0-4cab-4c29-9321-d756fe3add6a</RoutingRuleURI>
<Parameter>1</Parameter>
<Operator>2</Operator>
<OperandValue>12345</OperandValue>
</RoutingRuleCondition>
<RoutingRuleCondition>
<URI>/vmrest/routingrules/d2f86bc0-4cab-4c29-9321-d756fe3add6a/routingruleconditions/d9635722-<ObjectId>d9635722-f1ee-4459-a2d4-533f85cd2c24</ObjectId>
<RoutingRuleObjectId>d2f86bc0-4cab-4c29-9321-d756fe3add6a</RoutingRuleObjectId>
<RoutingRuleURI>/vmrest/routingrules/d2f86bc0-4cab-4c29-9321-d756fe3add6a</RoutingRuleURI>
<Parameter>7</Parameter>
<Operator>2</Operator>
<OperandValue>4cc6c1be-e1ba-4fcf-be81-95bce20acbec</OperandValue>
</RoutingRuleCondition>
</RoutingRuleConditions>
To retrieve a specific Routing Rule Condition by its ObjectId:
GET
https://<connection-server>/vmrest/routingrules/<routingruleobjectid>/routingruleconditions/<objectid>
Creating
The required fields for creating a Routing Rule Condition are Parameter, Operator, and OperandValue. All
other Routing Rule Condition fields are optional.
The following is an example of a POST that creates a Routing Rule Condition with Parameter=2 (Dialed
Number), Operator=2 (Equals), and OperandValue=8675309:
<RoutingRuleCondition>
<Parameter>2</Parameter>
<Operator>2</Operator>
<OperandValue>8675309</OperandValue>
</RoutingRuleCondition>
The following is the response from the above POST request:
201
Created
/vmrest/routingrules/d2f86bc0-4cab-4c29-9321-d756fe3add6a/routingruleconditions/74b50eeb-8c06-4e86
Updating
The following is an example of a PUT request that modifies the OperandValue of an existing Routing Rule
Condition to 5551212:
PUT
https://<connection-server>/vmrest/routingrules/d2f86bc0-4cab-4c29-9321-d756fe3add6a/routingruleconditions
<RoutingRuleCondition>
<OperandValue>5551212</OperandValue>
</RoutingRuleCondition>
Cisco Unity Connection Provisioning Interface (CUPI) API
573
Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing
Creating
Page 606
The following is the response from the above PUT request:
204
No Content
Deleting
The following is an example of a DELETE request that deletes a Routing Rule Condition:
DELETE
https://<connection-server>/vmrest/routingrules/d2f86bc0-4cab-4c29-9321-d756fe3add6a/routingruleconditions/
The following is the response from the above DELETE request:
204
No Content
Routing Rule Examples
It can be relatively complicated to specify the destination for a Routing Rule. The fields RouteAction,
RouteTargetConversation, and RouteTargetHandlerObjectId are used together to specify the destination. The
fields RouteTargetHandler, DisplayName and RouteTargetHandlerObjectType should not be specified when
creating or updating a Routing Rule; rather they are set automatically based on the other specified values.
The following sections give some examples of how to specify different types of route destinations by using
these fields. Note that all other fields in the Routing Rule objects have been omitted for brevity.
This list of examples covers all of the Routing Rules that can be configured by using Cisco Unity Connection
Administration (CUCA). Creating a different type of Routing Rule by using CUPI is likely to yield a Routing
Rule that will not display properly in CUCA, and it also may not operate as expected when Connection tries
to route a call.
Transfer to a User or a Call Handler
To transfer a caller to a user or a call handler, do the following PUT request:
PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>2</Action>
<TargetConversation>PHTransfer</TargetConversation>
<TargetHandlerObjectId>05d9e169-5c87-4415-aaed-c58a14816c8d</TargetHandlerObjectId>
</MenuEntry>
The Action field of 2 denotes that this key should transfer the caller to another conversation. This is used to
transfer callers to other objects, or to send callers to other conversations such as the system transfer conversation.
The TargetConversation should be set to PHTransfer if you want to transfer to the call handler in question.
If you want to have the call go directly the call handler greeting, set it to PHGreeting instead.
The TargetHandlerObjectId is the object ID of the call handler that you want the key to transfer the caller to.
Go to a User or Call Handler's Greeting
The following Routing Rule will go to (Action=2) the call handler aab5eab2-38f7-4231-a3be-bf2a8fde820c
(which happens to be a user's primary call handler) by using the PHGreeting Conversation (meaning it will
Cisco Unity Connection Provisioning Interface (CUPI) API
574
Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing
Deleting
Page 607
go directly to the call handler's greeting, bypassing transfer). If you want to go to a different call handler's
greeting, set RouteTargetCallHandlerObjectId to it.
<RoutingRule>
<RouteAction>2</RouteAction>
<RouteTargetConversation>PHGreeting</RouteTargetConversation>
<RouteTargetHandlerObjectId>aab5eab2-38f7-4231-a3be-bf2a8fde820c</RouteTargetHandlerObjectId>
</RoutingRule>
Go to an Interview Handler
PUT
https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>2</Action>
<TargetConversation>PHInterview</TargetConversation>
<TargetHandlerObjectId>interview handler object id</TargetHandlerObjectId>
</MenuEntry>
The TargetConversation should be set to PHInterview and the TargetHandlerObjectId is the object ID of the
interview handler that you want to the caller input key to go to.
Go to a Directory Handler
PUT
https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MenuEntry>
<Action>2</Action>
<TargetConversation>AD</TargetConversation>
<TargetHandlerObjectId>object id of directory handler</TargetHandlerObjectId>
</MenuEntry>
The TargetConversation should be set to AD and the TargetHandlerObjectId is the object ID of the directory
handler you want to the caller input key to go to.
Go to a Specific Conversation
The following Routing Rule will go to (Action=2) the BroadcastMessageAdministrator Conversation. Note
that RouteTargetHandlerObjectId is ignored if the RouteTargetConversation is anything other than PHTransfer,
PHGreeting, PHInterview, or AD.
<RoutingRule>
<RouteAction>2</RouteAction>
<RouteTargetConversation>BroadcastMessageAdministrator</RouteTargetConversation>
</RoutingRule>
Routing Rule Condition Examples
Routing Rule Conditions are not as complicated as Routing Rules, but care should still be taken when creating
or modifying them. The fields Parameter, Operator, and OperandValue are used to specify the conditions.
This list of examples covers all of the Routing Rule Conditions that can be configured by using Cisco Unity
Connection Administration (CUCA). Creating a different type of Routing Rule Condition by using CUPI is
likely to yield a Routing Rule Condition that will not display properly in CUCA, and it also may not operate
as expected when Connection tries to match a call.
Cisco Unity Connection Provisioning Interface (CUPI) API
575
Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing
Go to an Interview Handler
Page 608
Condition Based on a Phone Number
The following Routing Rule Condition specifies a match of Calling Number (Parameter=1) Equals (Operator=2)
1234 (OperandValue). A Routing Rule Condition to match on Called Number would use Parameter=2, and
a Routing Rule Condition to match on Forwarded Number (valid only on Forwarded Routing Rules) would
use Parameter=3. Other Operators are allowed when matching Phone Numbers, such as In and Less Than.
With the Equals Operator, the OperandValue can include the wildcards * and ?, and with the In Operator, the
OperandValue can include comma-separated ranges of numbers like 2000-2199,3001-3199, 4001.
<RoutingRuleCondition>
<Parameter>1</Parameter>
<Operator>2</Operator>
<OperandValue>1234</OperandValue>
</RoutingRuleCondition>
Condition Based on a Port
The following Routing Rule Condition specifies a match of a Port (Parameter=5) Equals (Operator=2) ObjectId
b79765f1-e14f-47b6-b8e1-00479909f710 (OperandValue). Creating a Routing Rule Condition to match based
on a Port has the side effect of setting MediaPortObjectId to the same value as OperandValue. When matching
Ports, only the Equals Operator is allowed, and the OperandValue must be a single ObjectId.
<RoutingRuleCondition>
<Parameter>5</Parameter>
<Operator>2</Operator>
<OperandValue>b79765f1-e14f-47b6-b8e1-00479909f710</OperandValue>
</RoutingRuleCondition>
Condition Based on a Phone System
The following Routing Rule Condition specifies a match of a Phone System (Parameter=9) Equals (Operator=2)
ObjectId 2eb79e66-1e53-415c-9222-36665e0e76ae (OperandValue). Creating a Routing Rule Condition to
match based on a Port has the side effect of setting MediaSwitchObjectId to the same value as OperandValue.
When matching Phone Systems, only the Equals Operator is allowed, and the OperandValue must be a single
ObjectId.
<RoutingRuleCondition>
<Parameter>9</Parameter>
<Operator>2</Operator>
<OperandValue>2eb79e66-1e53-415c-9222-36665e0e76ae</OperandValue>
</RoutingRuleCondition>
Condition Based on a Schedule Set
The following Routing Rule Condition specifies a match of a Schedule Set (Parameter=7) Equals (Operator=2)
ObjectId 4cc6c1be-e1ba-4fcf-be81-95bce20acbec (OperandValue). Note that you must specify the ObjectId
of a Schedule Set, not a Schedule. When matching Schedule Sets, only the Equals Operator is allowed, and
the OperandValue must be a single ObjectId.
<RoutingRuleCondition>
<Parameter>7</Parameter>
<Operator>2</Operator>
<OperandValue>4cc6c1be-e1ba-4fcf-be81-95bce20acbec</OperandValue>
</RoutingRuleCondition>
Cisco Unity Connection Provisioning Interface (CUPI) API
576
Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing
Condition Based on a Phone Number
Page 609
Enumeration Type
Routing Rule RouteAction
The RouteAction field in a Routing Rule is read/write, and can take the following values. It defaults to 2, and
should be set to that value in most cases (it is set to 2 in all of the examples above).
Description
Value
Ignore (take no action)
0
Hang up call
1
Go to specified object
2
Error (play error message)
3
Take a message
4
Skip greeting
5
Restart greeting
6
Transfer to Alternate Contact Number
7
Route from Next Call Routing Rule
8
Routing Rule RouteTargetHandlerObjectType
The RouteTargetHandlerObjectType field in a Routing Rule is read-only and can take various values. The
relevant values are listed here. As noted previously, it will automatically be set to the type of object specified
by the RouteTargetHandlerObjectId field.
Description
Value
Call Handler
3
Interview Handler
5
Directory Handler
6
Routing Rule State
The State field in a Routing Rule is read/write, and can take the following values. It defaults to 0.
Description
Value
Active
0
Inactive
1
Invalid
2
Cisco Unity Connection Provisioning Interface (CUPI) API
577
Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing
Enumeration Type
Page 610
Routing Rule Type
The Type field in a Routing Rule is read/write, and can take the following values. It defaults to 1.
Description
Value
Direct
1
Forwarded
2
Both (normally only used by Opening Greeting)
3
Routing Rule Condition Operator
The Operator field in a Routing Rule Condition is read/write, and can take the following values. It does not
have a default value.
Description
Value
In
1
Equals
2
Greater than
3
Less than
4
Less than or equal to
5
Greater than or equal to
6
Schedule Set
7
Phone System
9
Routing Rule Condition Parameter
The Parameter field in a Routing Rule Condition is read/write, and can take the following values. It does not
have a default value. Several values are legacy and should not be used.
Description
Value
Calling Number
1
Dialed Number
2
Forwarding Number
3
PortID
5
Routing Rule RouteTargetConversation
The RouteTargetConversation field in a Routing Rule is read/write, and can take the following values. It
defaults to AD. Although it is not an enumeration type, only certain string values are valid Conversation
Cisco Unity Connection Provisioning Interface (CUPI) API
578
Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing
Routing Rule Type
Page 611
names. For some Conversations, it is required to specify a Route_TargetHandlerObjectId as well. Examples
of how to use several of these Conversations can be found earlier in this document.
TargetHandler
Description
Value
Directory Handler
Directory Conversation
AD
User or Call Handler
Transfer to User or Call Handler
PHTransfer
User or Call Handler
Play Greeting of User or Call
Handler
PHGreeting
Interview Handler
Interview Conversation
PHInterview
n/a
Forwards the call to the User's
Greeting if the Forwarding Number
matches a User
AttemptForward
n/a
Sends the call to a User's Sign-in if
the Calling Number matches a User
AttemptSignIn
n/a
Sends the call to a Conversation for
Sending Broadcast Messages
BroadcastMessageAdministrator
n/a
Sends the call to a Conversation
allowing the caller to transfer to a
number they specify (assuming the
restriction table allows it)
SystemTransfer
n/a
Sends the call to a Conversation for
checked-out hotel guests
CheckedOutGuest
n/a
Sends the call to a Conversation
allowing changing greetings by
phone
GreetingsAdministrator
n/a
Connects to Visual Voicemail
ReverseTrapConv
n/a
Sends the call to the Sign-In
Conversation, which prompts the
user to enter their ID
SubSignIn
n/a
Sends the call to the Live-Record
pilot number configured on CUCM
ConvUtilsLiveRecord
n/a
Similar to SystemTransfer, but
requires users sign-in first (so
unknown callers cannot use it)
SubSysTransfer
Cisco Unity Connection Provisioning Interface (CUPI) API
579
Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing
Routing Rule RouteTargetConversation
Page 612
Cisco Unity Connection Provisioning Interface (CUPI) API --
Routing Rule Conditions
Routing Rule Condition API
Administrator can use this API to create/update/delete/fetch the routing rule condition. Various attributes of
routing rule condition can also be updated using this API.
Listing the Routing Rule Conditions
JSON Example
To list all the routing rule conditions use the following command:
Request URI:
GET
https://<connection-server>/vmrest/routingrules/<routingrulesobjectId>/routingruleconditions
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"@total": "2",
"RoutingRuleCondition": [
{
"URI":
"/vmrest/routingrules/bd8b8092-1c08-4d25-8d35-116d7a677bf4/routingruleconditions/06d1d4e2-45f7-4f9d-b083-ac19bfc9347f",
"ObjectId": "06d1d4e2-45f7-4f9d-b083-ac19bfc9347f",
"RoutingRuleObjectId": "bd8b8092-1c08-4d25-8d35-116d7a677bf4",
"RoutingRuleURI": "/vmrest/routingrules/bd8b8092-1c08-4d25-8d35-116d7a677bf4",
"Parameter": "1",
"Operator": "1",
"OperandValue": "1000-2000"
},
{
"URI":
"/vmrest/routingrules/bd8b8092-1c08-4d25-8d35-116d7a677bf4/routingruleconditions/08019fb3-265b-48fb-a973-d5128b62572e",
"ObjectId": "08019fb3-265b-48fb-a973-d5128b62572e",
"RoutingRuleObjectId": "bd8b8092-1c08-4d25-8d35-116d7a677bf4",
"RoutingRuleURI": "/vmrest/routingrules/bd8b8092-1c08-4d25-8d35-116d7a677bf4",
"Parameter": "2",
"Operator": "2",
"OperandValue": "4242"
}
]
}
Response Code: 200
Cisco Unity Connection Provisioning Interface (CUPI) API
580
Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing
Cisco Unity Connection Provisioning Interface (CUPI) API -- Routing Rule Conditions
Page 613
Creating a Routing Rule Condition
JSON Example
To create new routing rule condition, do the following:
Request URI:
POST
https://<connection-server>/vmrest/routingrules/<routingrulesobjectId>/routingruleconditions
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"Parameter": "2",
"Operator": "3",
"OperandValue": "3000"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
Updating a Routing Rule Condition
JSON Example
To update display name of routing rule condition, do the following:
Request URI:
PUT
https://<connectionserver>/vmrest/routingrules/<routingrulesobjectId>/routingruleconditions/<routingruleconditionobjectId>
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"OperandValue": "5011"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Deleting a Routing Rule Condition
JSON Example
To delete routing rule condition, do the following:
DELETE
https://<connectionserver>/vmrest/routingrules/<routingrulesobjectId>/routingruleconditions/<routingruleconditionobjectId>
Accept: application/json
Connection: keep-alive
Cisco Unity Connection Provisioning Interface (CUPI) API
581
Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing
Creating a Routing Rule Condition
Page 614
Response Code: 204
Explanation of Data Fields
Comments
Data
Type
Operations
Parameter
URI of the routing rule condition
String
Read
Only
URI
Unique identifier for Routing rule condition
String
(36)
Read
Only
ObjectId
Object Id of the routing rule to which this routing rule condition
belongs.
String
(36)
Read
Only
RoutingRuleObjectId
URI of the routing rule which is associated with the routing rule
condition Parameter Read/Write Integer Type of parameter in a
routing rule, such as "dialed number" or "port id".
Possible values:
• 1 :CallingNumber
• 2 : DialedNumber
• 3 : ForwardingStation
• 4 :Origin
• 5 :PhoneSystem
• 6 : PortID
• 7 : Reason
• 8 : Schedule
• 9 : TrunkID
String
Read
Only
RoutingRuleURI
Type of operator in this condition - equals, greater than, etc.
Possible value:
• 1 : IN
• 2 : EQ
• 3 : GT
• 4 : LT
• 5 : LTE
• 6 : GTE
Integer
Read/Write
Operator
Value of operand in condition. This could be a port number, a phone
number, etc. depending on parameter value.
• Minimum Length: 0
• Maximum Length: 64
String
(64)
Read/Write
OperandValue
The unique identifier of the phone system that can be used as a
condition for a routing rule.
String
(36)
Read/Write
MediaSwitchObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
582
Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing
Explanation of Data Fields
Page 615
Comments
Data
Type
Operations
Parameter
The unique identifier of the media port that can be used as a condition
for a routing rule.Value displayed when Routing Rule Condition
based on Phone System/Port is created.
String
(36)
Read/Write
MediaPortObjectId
Value displayed when Routing Rule Condition based on Phone
System is created.
String
Read
Only
PhoneSystemURI
Value displayed when Routing Rule Condition based on Port is
created.
String
Read
Only
PortURI
Cisco Unity Connection Provisioning Interface (CUPI) API
583
Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing
Explanation of Data Fields
Page 616
Cisco Unity Connection Provisioning Interface (CUPI) API
584
Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing
Explanation of Data Fields
Page 617
C H A P T E R 42
Cisco Unity Connection Provisioning Interface
(CUPI) API--Message Aging Policy APIs
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Mailbox Store API, on page 585
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Mailbox Quota alert, on page 592
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Aging Policy, on page 595
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Aging Rules , on page 600
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Aging Text, on page 606
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Expiration , on page 610
Cisco Unity Connection Provisioning Interface (CUPI) API --
Mailbox Store API
Mailbox Stores Configuration
Administrator can use this APIs for creating, reading, modifying and deleting mailbox stores for listing,viewing,
creation, selection, and deletion. During installation, Cisco Unity Connection automatically creates:
• A mailbox store database for information on voice messages (who each message was sent to,when it was
sent, the location of the WAV file on the hard disk, and so on).
• An operating-system directory for voice message WAV files.
• An administrator with the required permissions can create up to four additional mailbox stores. Each
additional mailbox store includes:
• Another mailbox-store database for information on voice messages that are saved in that mailbox store.
The database is pre-sized for an average of approximately 40 messages each for 10,000 users, or about
1.25 GB. (The database application currently being used for Connection cannot dynamically resize a
database after it is created.)
• Another operating-system directory for the voice message WAV files and other message attachments.
Listing the Mailbox Stores
The following is an example of the GET request that lists all the mailbox stores:
GET https://<connection-server>/vmrest/mailboxstores
Cisco Unity Connection Provisioning Interface (CUPI) API
585

Page 618
The following is the response from the above GET request.
<MailboxStores total="1">
<MailboxStore>
<URI>/vmrest/mailboxstores/fd3ad7cd-805d-4727-82dd-c05dae4261c0</URI>
<MailDatabase>UnityMbxDb1</MailDatabase>
<Server>ucbu-aricent-vm256.cisco.com</Server>
<ObjectId>fd3ad7cd-805d-4727-82dd-c05dae4261c0</ObjectId>
<Mounted>true</Mounted>
<RequiredSecurity>0</RequiredSecurity>
<MailboxStoreType>0</MailboxStoreType>
<DisplayName>Unity Messaging Database -1</DisplayName>
<DbInstance>ciscounity</DbInstance>
<Status>0</Status>
<Undeletable>true</Undeletable>
<LastError>0</LastError>
<MaxSizeMB>15000</MaxSizeMB>
<TotalSizeOfMailbox>0.0 Kilobytes</TotalSizeOfMailbox>
<TimeAtWhichSizeCalculated>2013-04-10 22:59:23.323</TimeAtWhichSizeCalculated>
<MailboxURI>/vmrest/mailboxstores/fd3ad7cd-805d-4727-82ddc05dae4261c0/
mailboxes</MailboxURI>
</MailboxStore>
</MailboxStores>
Response Code: 200
JSON Example
To list all mailboxstores(GET), do the following:
Request URI:
GET https://<connection-server>/vmrest/mailboxstores
Accept: application /json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"@total": "1",
"MailboxStore": {
"URI": "/vmrest/mailboxstores/2668cf73-c234-4fb4-82e1-8b7299485b3c",
"MailDatabase": "UnityMbxDb1",
"Server": "ucbu-aricent-vm506.cisco.com",
"ObjectId": "2668cf73-c234-4fb4-82e1-8b7299485b3c",
"Mounted": "true",
"RequiredSecurity": "0",
"MailboxStoreType": "0",
"DisplayName": "Unity Messaging Database -1",
"DbInstance": "ciscounity",
"Status": "0",
"Undeletable": "true",
"LastError": "0",
"MaxSizeMB": "15000",
"TotalSizeOfMailbox": "0.0 Kilobytes",
"TimeAtWhichSizeCalculated":"2013-04-10 22:59:23.323",
"MailboxURI": "/vmrest/mailboxstores/2668cf73-c234-4fb4-82e1-
8b7299485b3c/mailboxes"
}
}
Response Code: 200
Cisco Unity Connection Provisioning Interface (CUPI) API
586
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Listing the Mailbox Stores
Page 619
Viewing the Specific Mailbox Stores
The following is an example of the GET request that lists the details of specific mailbox stores represented
by the provided value of mailbox store object ID:
GET https://<connection-server>/vmrest/mailboxstores /<mailboxstore-objectid>
The following is the response from the above GET request:
<MailboxStore>
<URI>/vmrest/mailboxstores/fd3ad7cd-805d-4727-82dd-c05dae4261c0</URI>
<MailDatabase>UnityMbxDb1</MailDatabase>
<Server>ucbu-aricent-vm256.cisco.com</Server>
<ObjectId>fd3ad7cd-805d-4727-82dd-c05dae4261c0</ObjectId>
<Mounted>true</Mounted>
<RequiredSecurity>0</RequiredSecurity>
<MailboxStoreType>0</MailboxStoreType>
<DisplayName>Unity Messaging Database -1</DisplayName>
<DbInstance>ciscounity</DbInstance>
<Status>0</Status>
<Undeletable>true</Undeletable>
<LastError>0</LastError>
<MaxSizeMB>15000</MaxSizeMB>
<TotalSizeOfMailbox>0.0 Kilobytes</TotalSizeOfMailbox>
<TimeAtWhichSizeCalculated>2013-04-10 22:59:23.323</TimeAtWhichSizeCalculated>
<MailboxURI>/vmrest/mailboxstores/fd3ad7cd-805d-4727-82ddc05dae4261c0/
mailboxes</MailboxURI>
</MailboxStore>
Response Code: 200
JSON Example
To view individual mailbox store (GET), do the following:
Request URI:
GET https://<connection-server>/vmrest/mailboxstores/<mailboxstore-objectid>
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"URI": "/vmrest/mailboxstores/2668cf73-c234-4fb4-82e1-8b7299485b3c",
"MailDatabase": "UnityMbxDb1",
"Server": "ucbu-aricent-vm506.cisco.com",
"ObjectId": "2668cf73-c234-4fb4-82e1-8b7299485b3c",
"Mounted": "true",
"RequiredSecurity": "0",
"MailboxStoreType": "0",
"DisplayName": "Unity Messaging Database -1",
"DbInstance": "ciscounity",
"Status": "0",
"Undeletable": "true",
"LastError": "0",
"MaxSizeMB": "15000",
"TotalSizeOfMailbox": "0.0 Kilobytes",
"TimeAtWhichSizeCalculated":"2013-04-10 22:59:23.323",
"MailboxURI": "/vmrest/mailboxstores/2668cf73-c234-4fb4-82e1-8b7299485b3c/mailboxes"
}
Cisco Unity Connection Provisioning Interface (CUPI) API
587
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Viewing the Specific Mailbox Stores
Page 620
Response Code: 200
Viewing the Number of Mailboxes in a Mailbox Store
The following is an example of the GET request that lists the number of mailboxes in a mailbox store
represented by the provided value of mailbox store object ID:
GET https://<connection-server>/vmrest/mailboxstores/<mailboxstore-objectid>/mailboxes
The following is the response from the above GET request:
Response Code: 200
<Mailboxes total="3"/>
JSON Example
To view the number of mailboxes in a mailbox store, do the following:
Request URI
GET https://<connection-server>/vmrest/mailboxstores/<mailboxstore-objectid>/mailboxes
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"@total": "3"
}
Response Code: 200
Creating the Mailbox Store
The parameters that can be given as part of the POST Request Body are : DisplayName, MaxSizeMB,Mounted,
Undeletable. Even If the other values such as "server" are mentioned as part of the request body , the values
will not be used while creation and default values will be used. The following is an example of the POST
request that creates a mailbox store:
POST https://<connection-server>/vmrest/mailboxstores
Request Body:
<MailboxStore>
<DisplayName>Unity Messaging Database</DisplayName>
<MaxSizeMB>15000</MaxSizeMB>
</MailboxStore>
The following is the example of the response from the above POST request:
Response Code: 201
/vmrest/voicemailboxstores /2668cf73-c234-4fb4-82e1-8b7299485b3ce
JSON Example
To create a new mailbox store, do the following:
Cisco Unity Connection Provisioning Interface (CUPI) API
588
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Viewing the Number of Mailboxes in a Mailbox Store
Page 621
Request URI:
POST https://<connection-server>/vmrest/mailboxstores
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"DisplayName":"Unity Messaging Database",
"MaxSizeMB":"15000"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/voicemailboxstores /2668cf73-c234-4fb4-82e1-8b7299485b3ce
Updating the Mailbox Stores
The following is an example of the PUT request that allows you to update the content of the mailbox store:
PUT https://<connection-server>/vmrest/mailboxstores/<mailboxstore-objectid>
Request Body:
<MailboxStore>
<Mounted>false</Mounted>
</MailboxStore>
</pre
<pre>
Response Body: 204
The output for this request returns the successful response code.
JSON Example
To update mounted field of mailbox store, do the following:
Request URI:
PUT https://<connection-server>/vmrest/mailboxstores/<mailboxstore-objectid>
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"Mounted":"false"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Deleting the Mailbox Store
The following is an example of the DELETE request that deletes a specific mailbox store where you need to
mention the mailbox store object ID:
DELETE https://<connection-server>/vmrest/mailboxstores/<mailboxstore-objectid
Cisco Unity Connection Provisioning Interface (CUPI) API
589
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Updating the Mailbox Stores
Page 622
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
The output for this request returns the successful response code.
JSON Example
To delete mailbox store, do the following:
DELETE https://<connection-server>/vmrest/mailboxstores/<mailboxstore-objectid>
Accept: application/json
Connection: keep-alive
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
Explanation of Data Fields
The following chart lists all of the data fields:
Description
Operations
Data
Type
Parameter
The URI of the mailbox store.
Read
Only
String
URI
The name of the mailbox database,such as "UnityMbxDb1". For
external IMAP mailstores this value will be NULL.
Read
Only
String
(512)
MailDatabase
The name of the server on which the mailbox store resides.
Read
Only
String
(256)
Server
A globally unique, system-generated identifier for a MailboxStore
object.
Read
Only
String
(36)
ObjectId
A flag indicating whether the mailbox store is mounted. You
should check this setting before accessing the mailbox store
database. Tools can set it to denote that a mailbox store is offline
when offline database maintenance needs to be performed.
Default Value: true
Read/Write
Boolean
Mounted
The method of encryption that Cisco Unity Connection will use
on a mailbox store connection. Possible values are:
• 0: No encryption.
• 1: TLS level encryption.
• 2: SSL encryption.
• 3: IPSec encryption.
Default Value: 0
Read
Only
String
RequiredSecurity
Cisco Unity Connection Provisioning Interface (CUPI) API
590
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Explanation of Data Fields
Page 623
Description
Operations
Data
Type
Parameter
The type of mailbox store (e.g.,UMSS). Possible values are:
• 0: UMSS - Cisco Unity Connection message store solution.
• 1: IMAP
• 2: POP3
• 3: WebDAV
• 4: MPE_WS Used by the Common Calendaring Library to
retrieve calendaring and meeting information from the
Meeting Place Express web service.
Default Value: 0
Read
Only
String
MailboxStoreType
A descriptive name for the message Store.
Read/Write
String
(64)
DisplayName
The name of the dbinstance on which the mailbox store resides.
Default Value: ciscounity Status Read Only String Current status
of the mailbox store. Possible values are:
• 0: OK
• 1: Moving
• 2: MoveFailed
• 3: MoveRequested
Read
Only
String
(256)
DbInstance
A flag indicating whether this mailbox store can be deleted. It is
used to prevent deletion of factory defaults.
Default Value: true
Read/Write
Boolean
Undeletable
Cisco Unity Connection Provisioning Interface (CUPI) API
591
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Explanation of Data Fields
Page 624
Description
Operations
Data
Type
Parameter
Last error result from a mailbox store maintenance action, that is
create or delete. Possible values are:
• 0: OK
• 1: UnknownError
• 2: DuplicateDisplayName
• 3: InternalNameError
• 4: DatabaseError
• 5: InsufficientDiskSpace
• 6: MailstoreNotEmpty
• 7: MailstoreStillReferenced:This error is returned when
deleting an mbx database is still referenced by another object
(user template,etc).
• 8: MailstoreOverMaxSize
• 9: MailstoreNotFound
• 10: MailstoreUndeletable
• 11: RemoteServerOffline
• 12: MailstoreNotMounted
• 13: InvalidRequest
• 14: MailboxNotMounted
• 15: MustRunOnPublisher
Default Value: 0
Read
Only
String
LastError
This is the max size in MB for the mailbox store. The range can
vary from 1 to 2147483647.
Default Value: 15000
Read/Write
Integer
MaxSizeMB
Total Size of the voicemail messages and the mailbox attachments
in the mailbox store.
Read
Only
String
TotalSizeOfMailbox
Time at which the total size of mailbox store was calculated.
Read
Only
String
TimeAtWhichSizeCalculated
The URI of the mailboxes.
Read
Only
String
MailboxesURI
Cisco Unity Connection Provisioning Interface (CUPI) API --
Mailbox Quota alert
Mailbox Quota Alert
These APIs are capable of retrieving and updating the email notification Mailbox Quota Alert text from CUC.
Acceptance criteria :
Cisco Unity Connection Provisioning Interface (CUPI) API
592
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Cisco Unity Connection Provisioning Interface (CUPI) API -- Mailbox Quota alert
Page 625
• GET API to view the "header" and body of the quota alert text in specified language.
• API to set the "header" and body of the quota alert text for specified language.
GET : https:// <connection-server>/vmrest/mailboxquotatexts
This API can be used by Administrator to fetch the list of Mailbox Quota alerts that will be used as email
notification alert texts for end user. Currently, there is only one Mailbox Quota Alert which is Warning Quota,
that can be configured in different languages. Output of this API will be:
<MailboxQuotaTexts total="1">
<MailboxQuotaText>
<URI>/vmrest/mailboxquotatexts/da9d6130-baf7-4b8b-8aa5-1d973567d0b6</URI>
<ObjectId>da9d6130-baf7-4b8b-8aa5-d973567d0b6</ObjectId>
<Body/>
<DefaultBody>Your mailbox has exceeded the quota warning threshold
specified by your administrator.
\n\nCurrent Usage: %CURRENTUSAGE%\nQuota Warning Threshold: %THRESHOLD%\nQuota Size Limit:
%LIMIT%\n
nPlease reduce your mailbox size by deleting few items from your mailbox.</DefaultBody>
<DefaultSubject>Voicemail Mailbox Quota Warning</DefaultSubject>
<LanguageCode>1033</LanguageCode>
<Subject/>
<UseDefault>true</UseDefault>
<RuleDescription>Text for Mailbox Warning Quota</RuleDescription>
</MailboxQuotaText>
</MailboxQuotaTexts>
GET :https:// <connection-server>/vmrest/mailboxquotatexts/<mailboxQuotaTextObjectId>
This API can be used by Administrator to fetch the details of a particular Mailbox Quota Alert.
Output of this API will be:
Cisco Unity Connection Provisioning Interface (CUPI) API
593
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
GET : https:// <connection-server>/vmrest/mailboxquotatexts
Page 626
<MailboxQuotaText>
<URI>/vmrest/mailboxquotatexts/da9d6130-baf7-4b8b-8aa5-1d973567d0b6</URI>
<ObjectId>da9d6130-baf7-4b8b-8aa5-1d973567d0b6</ObjectId>
<Body/>
<DefaultBody>Your mailbox has exceeded the quota warning threshold specified by
your administrator.\n\nCurrent Usage: %CURRENTUSAGE%\nQuota
Warning Threshold: %THRESHOLD%\nQuota Size Limit: %LIMIT%\n\nPlease reduce your mailbox
size by deleting few items
from your mailbox.</DefaultBody>
<DefaultSubject>Voicemail Mailbox Quota Warning</DefaultSubject>
<LanguageCode>1033</LanguageCode>
<Subject/>
<UseDefault>true</UseDefault>
<RuleDescription>Text for Mailbox Warning Quota</RuleDescription>
</MailboxQuotaText>
PUT : https:// <connection-server>/vmrest/mailboxquotatexts/<mailboxQuotaTextObjectId>
This API can be used by an administrator to modify the subject line, body and Use Default flag for the email
notification alert for the end users. If an administrator updates "UseDefault" option to false and if "Subject"
and "Body" (customized subject and body texts) of the Alert are null in the database or in input XML, then
it is mandatory to provide both of them. Input will be an XML with following data :
<MailboxQuotaText>
<Body>changed body content</Body>
<Subject>Changed subject line</Subject>
<UseDefault>false</UseDefault>
</MailboxQuotaText>
Output: HTTP response code : 204
Explanation of Data Fields
The following chart lists all of the data fields:
Description
Operations
Data
Type
Parameter
URI of Mailbox Quota alert
Read
Only
String
URI
Acts as a primary key for the API. The ObjectID is a unique
system-generated identifier for a Mailbox Quota Alert object.
Read
Only
Char
(36)
ObjectId
Customized body text for Mailbox Quota Alert.
Read/Write
String
Body
Cisco Unity Connection Provisioning Interface (CUPI) API
594
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
PUT : https:// <connection-server>/vmrest/mailboxquotatexts/<mailboxQuotaTextObjectId>
Page 627
Description
Operations
Data
Type
Parameter
Default body text for the Mailbox Quota Alert
Read
Only
String
DefaultBody
Default subject line for Mailbox Quota Alert
Read
Only
String
DefaultSubject
Specified the language code in which the alert will be displayed
Read/Write
Integer
LanguageCode
Customized subject line for Mailbox Quota Alert
Read/Write
String
Subject
Specify that whether DefaultSubject and DefaultBody is used or not.
Values can be:
• false -0
• true -1
Read/Write
Boolean
UseDefault
Specified the type of Mailbox Quota Alert
Read
Only
String
RuleDescription
Cisco Unity Connection Provisioning Interface (CUPI) API --
Message Aging Policy
Message Aging Policy
In Cisco Unity Connection, the Message Aging Policies ensures that the hard disk where voice messages are
stored does not get filled up. Each policy allows you to specify message aging rules to automatically:
• Move new messages to the Saved Items folder after a specified number of days.
• Move read messages to the Deleted Items folder after a specified number of days.
• Permanently delete messages in the Deleted Items folder after a specified number of days. In the Default
System Policy message aging policy, this is the only rule that is enabled.
• Based on the age of the messages, permanently delete secure messages that have been touched in any
way (for example by saving, deleting, or opening but then saving messages as new).
• Based on the age of the messages, permanently delete all secure messages regardless of whether users
have listened to or touched the messages in any way.
There are total numbers of 2 Default Message Aging Policies:
• Default System Policy
• Do Not Age Messages
Note
Administrator can use this API to create/update/delete/fetch the message aging policy. Various attributes of
message aging policy can also be updated using this API.
Cisco Unity Connection Provisioning Interface (CUPI) API
595
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Aging Policy

Page 628
Listing the Message Aging Policies
The following is an example of the GET request that lists all the message aging policies:
GET https://<connection-server>/vmrest/messageagingpolicies
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<MessageAgingPolicies total="2">
<MessageAgingPolicy>
<URI>/vmrest/messageagingpolicies/0f02be4e-5d70-4a1d-b182-ce14ede90ac0</URI>
<ObjectId>0f02be4e-5d70-4a1d-b182-ce14ede90ac0</ObjectId>
<Enabled>true</Enabled>
<DisplayName>Default System Policy</DisplayName>
<MessageAgingRuleURI>/vmrest/messageagingpolicies/0f02be4e-5d70-4a1d-b182-
ce14ede90ac0/messageagingrules</MessageAgingRuleURI>
</MessageAgingPolicy>
<MessageAgingPolicy>
<URI>/vmrest/messageagingpolicies/7f762fe2-ef33-4664-afb9-bd47c2ef7e41</URI>
<ObjectId>7f762fe2-ef33-4664-afb9-bd47c2ef7e41</ObjectId>
<Enabled>false</Enabled>
<DisplayName>Do Not Age Messages</DisplayName>
<MessageAgingRuleURI>/vmrest/messageagingpolicies/7f762fe2-ef33-4664-afb9-
bd47c2ef7e41/messageagingrules</MessageAgingRuleURI>
</MessageAgingPolicy>
</MessageAgingPolicies>
Response Code: 200
JSON Example
To list all the message aging policies, do the following:
Request URI:
GET https://<connection-server>/vmrest/messageagingpolicies
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
596
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Listing the Message Aging Policies
Page 629
{
"@total":"2"
"MessageAgingPolicy":[
{
"URI":"/vmrest/messageagingpolicies/adac77f4-8a77-430d-8836-0fc9aef3fef5"
"ObjectId":"adac77f4-8a77-430d-8836-0fc9aef3fef5"
"Enabled":"true"
"DisplayName":"Default System Policy"
"MessageAgingRuleURI":"/vmrest/messageagingpolicies/adac77f4-8a77-430d-8836-
0fc9aef3fef5/messageagingrules"
}
{
"URI":"/vmrest/messageagingpolicies/2e02eca6-270b-4b7f-a153-f03ea74d403d"
"ObjectId":"2e02eca6-270b-4b7f-a153-f03ea74d403d"
"Enabled":"false"
"DisplayName":"Do Not Age Messages"
"MessageAgingRuleURI":"/vmrest/messageagingpolicies/2e02eca6-270b-4b7f-a153-
f03ea74d403d/messageagingrules"
}
]
}
Response Code: 200
Viewing the Specific Message Aging Policy
The following is an example of the GET request that lists the details of specific message aging policy
represented by the provided value of object ID:
GET https://<connection-server>/vmrest/messageagingpolicies/<messageagingpolicyobject-id>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<MessageAgingPolicy>
<URI>/vmrest/messageagingpolicies/3f3f9297-e1eb-46a5-bbdf-d86298e2531c</URI>
<ObjectId>3f3f9297-e1eb-46a5-bbdf-d86298e2531c</ObjectId>
<Enabled>true</Enabled>
<DisplayName>Texoma_Message_Policy</DisplayName>
<MessageAgingRuleURI>/vmrest/messageagingpolicies/3f3f9297-e1eb-46a5-bbdf-
d86298e2531c/messageagingrules</MessageAgingRuleURI>
</MessageAgingPolicy>
Response Code: 200
JSON Example
To list details of an individual message aging policy, do the following:
Request URI:
GET https://<connection-server>/vmrest/messageagingpolicies/<messageagingpolicyobject-id>
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
597
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Viewing the Specific Message Aging Policy
Page 630
{
"URI":"/vmrest/messageagingpolicies/3f3f9297-e1eb-46a5-bbdf-d86298e2531c"
"ObjectId":"3f3f9297-e1eb-46a5-bbdf-d86298e2531c"
"Enabled":"true"
"DisplayName":"Default System Policy"
"MessageAgingRuleURI":"/vmrest/messageagingpolicies/3f3f9297-e1eb-46a5-bbdf-
d86298e2531c/messageagingrules"
}
Response Code: 200
Creating a Message Aging Policy
Example 1: The following is an example of the POST request that creates a message aging policy:
*POST https://<connection-server>/vmrest/messageagingpolicies
Request Body:
<MessageAgingPolicy>
<DisplayName>Texoma_Message_Policy</DisplayName>
</MessageAgingPolicy>
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/messageagingpolicies/3f3f9297-e1eb-46a5-bbdf-d86298e2531c
JSON Example
To create new message aging policy, do the following:
Request URI:
POST https://<connection-server>/vmrest/messageagingpolicies
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"DisplayName":"Texoma_Message_Policy"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/messageagingpolicies/3f3f9297-e1eb-46a5-bbdf-d86298e2531c
Example 2: The following is the example of the create a new message aging policy with some more parameter
*POST https://<connection-server>/vmrest/messageagingpolicies
Request Body:
<MessageAgingPolicy>
<DisplayName>Texoma_New_Message_Policy</DisplayName>
<Enabled>false</Enabled>
</MessageAgingPolicy>
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
598
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Creating a Message Aging Policy
Page 631
Response Code: 201
/vmrest/messageagingpolicies/3f3f9297-e1eb-46a5-bbdf-d86298e2531c
Updating a Message Aging Policy Parameters
The following is an example of the PUT request that allows you to update the display name of message aging
policy:
*PUT https://<connection-server>/vmrest/messageagingpolicies/<messageagingpolicyobject-id>
Request Body:
<MessageAgingPolicy>
<DisplayName>Texoma_Message_Policy_2</DisplayName>
</MessageAgingPolicy>
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
To update the display name of message aging policy, do the following:
Request URI:
PUT https://<connection-server>/vmrest/messageagingpolicies/<messageagingpolicyobject-id>
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"DisplayName":"Texoma_Message_Policy_2"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Deleting a Message Aging Policy
The following is an example of the DELETE request that deletes a message aging policy with a valid object
ID:
DELETE https://<connection-server>/vmrest/messageagingpolicies<messageagingpolicyobject-id>
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
JSON Example
To delete a message aging policy with a valid object ID, do the following:
Cisco Unity Connection Provisioning Interface (CUPI) API
599
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Updating a Message Aging Policy Parameters
Page 632
DELETE https://<connection-server>/vmrest/messageagingpolicies<messageagingpolicyobject-id>
Accept: application/json
Connection: keep-alive
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
Explanation of Data Fields
The following chart lists all of the data fields:
Comments
Data
Type
Operations
Parameters
Name of the Message Aging Policy
Maximum length: 64
String
Read/Write
DisplayName
Specifies if message aging rules to be applied or not.
Possible values:
• true: If message aging rules to be enforced.
• false: If message aging rules to be ignored.
Default value is true.
Boolean
Read/Write
Enabled
Specifies the URI of message aging rules.
String
Read
Only
MessageAgingRuleURI
Object Id of the message aging policy.
Maximum length : 36
String
Read
Only
ObjectId
Specifies the message aging policy URI.
String
Read
Only
URI
Cisco Unity Connection Provisioning Interface (CUPI) API --
Message Aging Rules
Message Aging Rules
Administrator can use this API to update/ fetch the message aging rules. Various attributes of message aging
rules can also be updated using this API.
Listing the Message Aging Rules
The following is an example of the GET request that lists all the message aging rules:
GET
https://<connection-server>/vmrest/messageagingpolicies/<messageagingpolicyobject-Id>/messageagingrules
Cisco Unity Connection Provisioning Interface (CUPI) API
600
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Explanation of Data Fields
Page 633
The following is the response from the above GET request:
<MessageAgingRules total="2">
<MessageAgingRule>
<URI>/vmrest/messageagingpolicies/0f02be4e-5d70-4a1d-b182-
ce14ede90ac0/messageagingrules/6951ad4c-a16c-4bf2-b61a-300bbf24519d</URI>
<MessageAgingPolicyObjectId>0f02be4e-5d70-4a1d-b182-
ce14ede90ac0</MessageAgingPolicyObjectId>
<MessageAgingPolicyURI>/vmrest/messageagingpolicies/0f02be4e-5d70-4a1d-b182-
ce14ede90ac0</MessageAgingPolicyURI>
<ObjectId>6951ad4c-a16c-4bf2-b61a-300bbf24519d</ObjectId>
<Days>7</Days>
<Enabled>true</Enabled>
<Secure>false</Secure>
<SendNotification>true</SendNotification>
<NotificationDays>3</NotificationDays>
<RuleDescription>Move Saved Messages to the Deleted Items</RuleDescription>
</MessageAgingRule>
<MessageAgingRule>
<URI>/vmrest/messageagingpolicies/0f02be4e-5d70-4a1d-b182-
ce14ede90ac0/messageagingrules/8792058b-cf27-4c10-8ac1-e903b8d18065</URI>
<MessageAgingPolicyObjectId>0f02be4e-5d70-4a1d-b182-ce14ede90ac0</MessageAgingPolicyObjectId>
<MessageAgingPolicyURI>/vmrest/messageagingpolicies/0f02be4e-5d70-4a1d-b182-
ce14ede90ac0</MessageAgingPolicyURI>
<ObjectId>8792058b-cf27-4c10-8ac1-e903b8d18065</ObjectId>
<Days>15</Days>
<Enabled>true</Enabled>
<Secure>false</Secure>
<SendNotification>false</SendNotification>
<NotificationDays>3</NotificationDays>
<RuleDescription>Permanently Delete Messages in the Deleted Items </RuleDescription>
</MessageAgingRule>
</MessageAgingRules>
Response Code: 200
JSON Example
To list all message aging rules, do the following:
Request URI:
GET
https://<connection-server>/vmrest/messageagingpolicies/<messageagingpolicyobject-Id>/messageagingrules
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
601
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Listing the Message Aging Rules
Page 634
{
"@total":"2"
"MessageAgingRule":
[
{
"URI":"/vmrest/messageagingpolicies/2fcb9e34-bb41-41e3-b212-
1bff3e1d93ed/messageagingrules/230f8ab1-1dba-45db-8e2c-dbd22cad718a"
"MessageAgingPolicyObjectId":"2fcb9e34-bb41-41e3-b212-
1bff3e1d93ed"
"MessageAgingPolicyURI":"/vmrest/messageagingpolicies/2fcb9e34-bb41-41e3-b212-
1bff3e1d93ed"
"ObjectId":"230f8ab1-1dba-45db-8e2c-dbd22cad718a"
"Days":"30"
"Enabled":"true"
"Secure":"true"
"SendNotification":"false"
"NotificationDays":"3"
"RuleDescription":"Permanently Delete Secure Touched Messages "
}
{
"URI":"/vmrest/messageagingpolicies/2fcb9e34-bb41-41e3-b212-
1bff3e1d93ed/messageagingrules/b0bc585c-7704-4f36-b7f6-8e8319d89da3"
"MessageAgingPolicyObjectId":"2fcb9e34-bb41-41e3-b212-1bff3e1d93ed"
"MessageAgingPolicyURI":"/vmrest/messageagingpolicies/2fcb9e34-bb41-41e3-b212-
1bff3e1d93ed"
"ObjectId":"b0bc585c-7704-4f36-b7f6-8e8319d89da3"
"Days":"60"
"Enabled":"false"
"Secure":"true"
"SendNotification":"false"
"NotificationDays":"3"
"RuleDescription":"Permanently Delete All Secure Messages "
}
]
}
Response Code: 200
Viewing the Specific Message Aging Rule
The following is an example of the GET request that lists the details of specific message aging rule represented
by the provided value of object ID:
GET https://<connection-server>/vmrest/messageagingpolicies/<messageagingpolicyobject-
Id>/messageagingrules/<messageagingruleobject-Id>
The following is the response from the above GET request:
Cisco Unity Connection Provisioning Interface (CUPI) API
602
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Viewing the Specific Message Aging Rule
Page 635
<MessageAgingRule>
<URI>/vmrest/messageagingpolicies/0f02be4e-5d70-4a1d-b182-
ce14ede90ac0/messageagingrules/c160becb-0042-441e-a021-4bb4aeb05da4</URI>
<MessageAgingPolicyObjectId>0f02be4e-5d70-4a1d-b182-
ce14ede90ac0</MessageAgingPolicyObjectId>
<MessageAgingPolicyURI>/vmrest/messageagingpolicies/0f02be4e-5d70-4a1d-b182-
ce14ede90ac0</MessageAgingPolicyURI>
<ObjectId>c160becb-0042-441e-a021-4bb4aeb05da4</ObjectId>
<Days>30</Days>
<Enabled>false</Enabled>
<Secure>true</Secure>
<SendNotification>false</SendNotification>
<NotificationDays>3</NotificationDays>
<RuleDescription>Permanently Delete Secure Touched Messages </RuleDescription>
</MessageAgingRule>
Response Code: 200
JSON Example
To list details of an individual message aging rule, do the following:
Request URI:
GET https://<connection-server>/vmrest/messageagingpolicies/<messageagingpolicyobject-
Id>/messageagingrules/<messageagingruleobject-Id>
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"URI":"/vmrest/messageagingpolicies/0f02be4e-5d70-4a1d-b182-
ce14ede90ac0/messageagingrules/c160becb-0042-441e-a021-4bb4aeb05da4"
"MessageAgingPolicyObjectId":"0f02be4e-5d70-4a1d-b182-ce14ede90ac0"
"MessageAgingPolicyURI":"/vmrest/messageagingpolicies/0f02be4e-5d70-4a1d-b182-
ce14ede90ac0"
"ObjectId":"c160becb-0042-441e-a021-4bb4aeb05da4"
"Days":"60"
"Enabled":"false"
"Secure":"true"
"SendNotification":"false"
"NotificationDays":"3"
"RuleDescription":"Permanently Delete Secure Touched Messages"
}
Response Code: 200
Updating a Message Aging Rule
The following is an example of the PUT request that allows you to update the days parameter of enabled
message aging rule:
PUT
https://<connection-server>/vmrest/messageagingpolicies/<messageagingpolicyobject-Id>/messageagingrules/<messageagingruleobject-Id>
Request Body:
<MessageAgingRule>
<Days>25</Days>
</MessageAgingRule>
Cisco Unity Connection Provisioning Interface (CUPI) API
603
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Updating a Message Aging Rule
Page 636
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
To update the days parameter of enabled message aging rule, do the following:
PUT
https://<connection-server>/vmrest/messageagingpolicies/<messageagingpolicyobject-Id>/messageagingrules/<messageagingruleobject-Id>
Accept : application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"Days":"25"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
You can't update the days as well as the NotificationDays parameter if message aging rule is disabled.
Note
Explanation of Data Fields
The following chart lists all of the data fields:
Comments
Data
Type
Operation
Parameter
Age message older than this number of days. Range: 1 to 365.
Integer
Read/Write
Days
Describes the action to take when the rule is applied.
Default Value: 0 Values:
• 0: Soft Delete
• 1: Hard Delete
• 2: ToSaved
Integer
Read/Write
Action
It specifies whether the particular rule is enabled or not.
Values : true or false Default Value: true.
Boolean
Read/Write
Enabled
It specifies the object id of respective Message Aging Policy
String
(36)
Read
Only
MessageAgingPolicyObjectId
URI of Message Aging Policy.
String
Read/Write
MessageAgingPolicyURI
Cisco Unity Connection Provisioning Interface (CUPI) API
604
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Explanation of Data Fields

Page 637
Comments
Data
Type
Operation
Parameter
Contains the type or purpose of the aging rule.
Default Value: 10 Values:
• 10: MoveSeenToDeleted
• 11: HardDeleteDeleted
• 12: HardDeleteSecureTouched
• 13: HardDeleteAllSecure
• 14: MoveNewToSaved
Integer
Read/Write
AgingRuleType
This defines what column to use (modificationtime or
arrivaltime) when calculating messages to age.
Default Value: 0 Value:
• 0: ModificationTime
• 1: ArrivalTime
Integer
Read/Write
AgingTimeType
A marker used by the sysagent task so we don't send more than
one notification per message.
datetime
Read/Write
LastMessageNotifiedMarker
If SendNotification is True, send the notification this many days
before the rule takes place. It is always less than equal to Days
parameter.
Range: 0 to 365. Default Value: 3.
Integer
Read/Write
NotificationDays
Object id of Message Aging Rule
String
(36)
Read
Only
ObjectId
It describes the action taken by rule.
String
Read
Only
RuleDescription
It specifies whether the message is secured type or not.
Boolean
Read
Only
Secure
It specifies whether notification is sent prior to taking action.
Values: true or false. Default Value: false.
Boolean
Read/Write
SendNotification
Apply this rule to messages where tbl_FolderItem. Seen is equal
to this value. Default Value: NULL
Integer
Read/Write
Seen
If SendNotification is True, send the notification this many days
before the rule takes place.
Default Value: 3
Integer
Read/Write
Recent
URI of Message Aging Rule.
string
Read
Only
URI
Cisco Unity Connection Provisioning Interface (CUPI) API
605
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Explanation of Data Fields
Page 638
Cisco Unity Connection Provisioning Interface (CUPI) API --
Message Aging Text
Message Aging Text
Administrator can use this API to create/update/delete/fetch the message aging text.Various attributes of
message aging text can also be updated using this API.
Listing the Message Aging Texts
The following is an example of the GET request that lists all the message aging texts:
GET https://<connection-server>/vmrest/messageagingtexts
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<MessageAgingTexts total="1">
<MessageAgingText>
<URI>/vmrest/messageagingtexts/0220cac9-6df0-48c2-929f-e38d7ff88e3d</URI>
<ObjectId>0220cac9-6df0-48c2-929f-e38d7ff88e3d</ObjectId>
<LanguageCode>1033</LanguageCode>
<DefaultSubject>Your message from %SENDER% will be moved to the Saved Messages
folder in %DAYSUNTIL% day(s).</DefaultSubject>
<Subject/>
<DefaultBody>Your message from %SENDER%, which was received on
%MODIFICATIONTIME%, will be moved to the Saved Messages folder in %DAYSUNTIL%
day(s).</DefaultBody>
<Body/>
<UseDefault>false</UseDefault>
<RuleDescription>Text for Move New Messages to the Saved Messages Folder
Rule</RuleDescription>
</MessageAgingText>
<MessageAgingTexts>
Response Code: 200
JSON Example
To list all the message aging texts, do the following:
Request URI:
GET https://<connection-server>/vmrest/messageagingtexts
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
606
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Aging Text
Page 639
{
"@total":"1"
"MessageAgingText":[
{
"URI": "/vmrest/messageagingtexts/0220cac9-6df0-48c2-929f-e38d7ff88e3d",
"ObjectId": "0220cac9-6df0-48c2-929f-e38d7ff88e3d",
"LanguageCode": "1033",
"DefaultSubject": "Your message from %SENDER% will be moved to the Saved Messages
folder in %DAYSUNTIL% day(s).",
"Subject": [],
"DefaultBody": "Your message from %SENDER%, which was received on
%MODIFICATIONTIME%, will be moved to the Saved Messages folder in %DAYSUNTIL% day(s).",
"Body": [],
"UseDefault": "false",
"RuleDescription": "Text for Move New Messages to the Saved Messages Folder Rule"
}
]
}
Response Code: 200
JSON Example
To list all the message aging texts, do the following:
Request URI:
GET https://<connection-server>/vmrest/messageagingtexts
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"@total":"1"
"MessageAgingText":[
{
"URI": "/vmrest/messageagingtexts/0220cac9-6df0-48c2-929f-e38d7ff88e3d",
"ObjectId": "0220cac9-6df0-48c2-929f-e38d7ff88e3d",
"LanguageCode": "1033",
"DefaultSubject": "Your message from %SENDER% will be moved to the Saved Messages
folder in %DAYSUNTIL% day(s).",
"Subject": [],
"DefaultBody": "Your message from %SENDER%, which was received on
%MODIFICATIONTIME%, will be moved to the Saved Messages folder in %DAYSUNTIL% day(s).",
"Body": [],
"UseDefault": "false",
"RuleDescription": "Text for Move New Messages to the Saved Messages Folder Rule"
}
]
}
Response Code: 200
Viewing the Specific Message Aging Text
The following is an example of the GET request that lists the details of specific message aging policy
represented by the provided value of object ID:
Cisco Unity Connection Provisioning Interface (CUPI) API
607
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Viewing the Specific Message Aging Text
Page 640
GET https://<connection-server>/vmrest/messageagingtexts/<messageagingtextobject-id>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<MessageAgingText>
<URI>/vmrest/messageagingtexts/0220cac9-6df0-48c2-929f-e38d7ff88e3d</URI>
<ObjectId>0220cac9-6df0-48c2-929f-e38d7ff88e3d</ObjectId>
<LanguageCode>1034</LanguageCode>
<DefaultSubject>Your message from %SENDER% will be moved to the Saved Messages folder
in
%DAYSUNTIL% day(s).</DefaultSubject>
<Subject/>
<DefaultBody>Your message from %SENDER%, which was received on %MODIFICATIONTIME%,
will be moved to the Saved Messages folder in %DAYSUNTIL% day(s).</DefaultBody>
<Body/>
<UseDefault>true</UseDefault>
<RuleDescription>Text for Move New Messages to the Saved Messages Folder
Rule</RuleDescription>
</MessageAgingText>
Response Code: 200
JSON Example
To list details of an individual message aging text, do the following:
Request URI:
GET https://<connection-server>/vmrest/messageagingtexts/<messageagingtextobject-id>
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"URI": "/vmrest/messageagingtexts/0220cac9-6df0-48c2-929f-e38d7ff88e3d",
"ObjectId": "0220cac9-6df0-48c2-929f-e38d7ff88e3d",
"LanguageCode": "1034",
"DefaultSubject": "Your message from %SENDER% will be moved to the Saved Messages
folder in
%DAYSUNTIL% day(s).",
"Subject": [],
"DefaultBody": "Your message from %SENDER%, which was received on %MODIFICATIONTIME%,
will be moved to the Saved Messages folder in %DAYSUNTIL% day(s).",
"Body": [],
"UseDefault": "true",
"RuleDescription": "Text for Move New Messages to the Saved Messages Folder Rule"
}
Response Code: 200
Updating a Message Aging Text
Example 1: Update UseDefault Parameter
The following is an example of the PUT request that allows you to update the parameters of message aging
text:
Cisco Unity Connection Provisioning Interface (CUPI) API
608
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Updating a Message Aging Text
Page 641
PUT https://<connection-server>/vmrest/messageagingtexts/<messageagingtextobjectid>
Request Body:
<MessageAgingText>
<UseDefault>Message Aging Text</UseDefault>
</MessageAgingText>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
To update the parameter of message aging text, do the following:
Request URI:
PUT https://<connection-server>/vmrest/messageagingtexts/<messageagingtextobjectid>
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"UseDefault":"Message Aging Text"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Example 2: Update Subject and Body of Message Aging Text
The following is an example of the PUT request that allows you to update the parameters of message aging
text:
PUT https://<connection-server>/vmrest/messageagingtexts/<messageagingtextobjectid>
Request Body:
<MessageAgingText>
<UseDefault>false</UseDefault>
<Subject>Message aging text</Subject>
<Body>Message aging Text</Body>
</MessageAgingText>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
To update the subject and body of message aging text, do the following:
Cisco Unity Connection Provisioning Interface (CUPI) API
609
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Updating a Message Aging Text
Page 642
Request URI:
PUT https://<connection-server>/vmrest/messageagingtexts/<messageagingtextobjectid>
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"UseDefault": "False",
"Subject": "Message Aging test",
"Body": "Message Aging Text"
}
The following is the response from the above PUT request and the actual response will
depend upon the information given by you:
<pre>
Response Code: 204
Explanation of Data Fields
Comments
Data Type
Operations
Parameter
Object id of message aging text
String
(36)
Read
Only
ObjectId
the language identifier for this row
Integer
Read/Write
LanguageCode
Default data supplied subject
String
(84)
Read
Only
DefaultSubject
Admin supplied subject. Can be modified or updated only if UseDefault
parameter is false.
String
(84)
Read/Write
Subject
Default data supplied default body.
String
(2048)
Read
Only
DefaultBody
Cisco Unity Connection Provisioning Interface (CUPI) API --
Message Expiration
Message Expiration
Administrator can use this API to set number of days after which message will be expired and hard deleted
from the system. Message Expiration value is applicable for both audio as well as video messages.
Fetching Message Expiration field value
The following is an example of the GET request to fetch Message Expiration field value of audio and video
messages:
GET https://<connection-server>/vmrest/messageexpirations
The following is the response from the above GET request:
Cisco Unity Connection Provisioning Interface (CUPI) API
610
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Explanation of Data Fields
Page 643
<MessageExpirations total="1">
<MessageExpiration>
<URI>/vmrest/messageexpirations/72269af8-7376-48d2-bf23-9abf6e98b303</URI>
<ObjectId>72269af8-7376-48d2-bf23-9abf6e98b303</ObjectId>
<Enabled>false</Enabled>
<MaximumAgeDays>180</MaximumAgeDays>
<MaxVideoMsgAgeDays>30</MaxVideoMsgAgeDays>
</MessageExpiration>
</MessageExpirations>
Response Code: 200
JSON Example
GET https://<connection-server>/vmrest/messageexpirations
Accept: application/json
Content_type: application/json
Connection: keep_alive
The following is the response from the above GET request:
{
"@total": "1",
"MessageExpiration":
{
"URI": "/vmrest/messageexpirations/72269af8-7376-48d2-bf23-9abf6e98b303",
"ObjectId": "72269af8-7376-48d2-bf23-9abf6e98b303",
"Enabled": "true",
"MaximumAgeDays": "180",
"MaxVideoMsgAgeDays": "30"
}
}
Response Code: 200
Enabling and Updating Message Expiration field value
The following is an example of the PUT request that allows you to enable message expiration and update the
number of days for Message Expiration of audio and video messages:
PUT https://<connection-server>/vmrest/messageexpirations/<messageexpirationobjectid>
Request Body:
<MessageExpiration>
<Enabled>true</Enabled>
<MaximumAgeDays>23</MaximumAgeDays>
<MaxVideoMsgAgeDays>11</MaxVideoMsgAgeDays>
</MessageExpiration>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
Cisco Unity Connection Provisioning Interface (CUPI) API
611
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Enabling and Updating Message Expiration field value
Page 644
PUT https://<connection-server>/vmrest/messageexpirations/<messageexpirationobjectid>
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"Enabled": "true",
"MaximumAgeDays": "55",
"MaxVideoMsgAgeDays": "44"
}
The following is the response from the above PUT request:
Response Code: 204
Explanation of Data Fields
The following chart lists all of the data fields:
Comments
Data
Type
Operations
Parameter
A globally unique, system-generated identifier for Message
Expiration Policy.
String
(36)
Read
Only
ObjectId
A flag indicating whether the Message Expiration is applicable or
not.
Values can be:
• false - Message Expiration is not applicable.
• true - Message Expiration is applicable.
Default Value - false
Boolean
Read/Write
Enabled
The number of days after which the audio/video message will be
marked as expired from the Cisco Unity Connection.
• Range - 1-999 Days
Default Value - 180
Integer
Read/Write
MaximumAgeDays
The number of days after which the video part of a video message
will be deleted and only audio part will be retained.
Note: It is recommended that the number of days entered in
MaxVideoMsgAgeDays should be less than the number of days
entered in MaximumAgeDays field.
• Range - 1-999 Days
Default Value - 30
Integer
Read/Write
MaxVideoMsgAgeDays
Cisco Unity Connection Provisioning Interface (CUPI) API
612
Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs
Explanation of Data Fields
Page 645
C H A P T E R 43
Cisco Unity Connection Provisioning Interface
(CUPI) API for Unified Messaging
• Cisco Unity Connection Provisioning Interface (CUPI) API -- User Unified Messaging Account, on page
613
• Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Unified Messaging Account
, on page 615
• Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template External Services, on page
616
• Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template External Service Accounts
, on page 625
• Cisco Unity Connection Provisioning Interface (CUPI) API -- End User Unified Messaging Accounts,
on page 628
Cisco Unity Connection Provisioning Interface (CUPI) API --
User Unified Messaging Account
Create a Unified Messaging Account
To add a new unified messaging account to user, server must have Unified Messaging Services Configured.
The following URI can be used to view the user object ID:
GET https://<connection-server>/vmrest/users/<user-objectid
From the above URI, get the unified messaging account:
GET https://<connection-server>/vmrest/users/<user-objectid>/externalserviceaccounts
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
613

Page 646
<ExternalServiceAccount>
<URI>/vmrest/users/9375d893-c8eb-437b-90bf-
7de4b1d0c3e8/externalserviceaccounts/39871e30-849a-4dcf-b868-2faf360d503a</URI>
<ObjectId>39871e30-849a-4dcf-b868-2faf360d503a</ObjectId>
<ExternalServiceObjectId>1cd78b6c-1e6e-4542-a6e7-14f431d6569c</ExternalServiceObjectId>
<SubscriberObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</SubscriberObjectId>
<UserURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8</UserURI>
<EnableCalendarCapability>true</EnableCalendarCapability>
<EnableMeetingCapability>false</EnableMeetingCapability>
<EnableTtsOfEmailCapability>true</EnableTtsOfEmailCapability>
<IsPrimaryMeetingService>false</IsPrimaryMeetingService>
<LoginType>0</LoginType>
<UserPassword/>
<EmailAddress>chhavi@com</EmailAddress>
<EnableMailboxSynchCapability>true</EnableMailboxSynchCapability>
<EmailAddressUseCorp>false</EmailAddressUseCorp>
</ExternalServiceAccount>
Response Code: 200
JSON Example
GET
https://<connection-server>/vmrest/users/<user-objectid>/externalserviceaccounts/<objectid>
Accept: application/json
Content-type: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Response Code: 200
Updating the Unified Messaging Account
JSON Example
To view the unified messaging account, do the following:
Request URI:
PUT https://<connection-server>/vmrest/users/<userobjectid>/
externalserviceaccounts/<externalserviceaccountsobjectId>
Accept: application/json
Content-type: application/json
Connection: keep-alive
{
"EmailAddressUseCorp":"true"
"EnableCalendarCapability":"true"
"EnableMailboxSynchCapability":"true"
"EnablTtsOfEmailCapability":"true"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
614
Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging
Updating the Unified Messaging Account
Page 647
Explanation of Data Fields
Comments
Operation
Data
Type
Device Name
Use Corporate Email Address
Default value: False
Read/Write
Boolean
EmailAddressUseCorp
Access Exchange Email by Using Text to Speech (TTS)
Default value: False
Read/Write
Boolean
EnableTtsOfEmailCapability
Access Exchange Calendar and Contacts
Default value: False
Read/Write
Boolean
EnableCalendarCapability
Synchronize Connection and Exchange Mailboxes (Single
Inbox)
Default value: False
Read/Write
Boolean
EnableMailboxSynchCapability
Cisco Unity Connection Provisioning Interface (CUPI) API --
User Template Unified Messaging Account
Unified Messaging Account API
The following URI can be used to view the user template object ID:
GET https://<connection-server>/vmrestvmrest/usertemplates/<usertemplateobjectid>
From the above URI, get the unified messaging account:
GET https://<connection-
server>/vmrestvmrest/usertemplates/<usertemplateobjectid>/templateexternalserviceacco
unts
Updating the Unified Messaging Account
Request Body:
<TemplateExternalServiceAccount>
<EmailAddressUseCorp>true</EmailAddressUseCorp>
<EnableCalendarCapability>true</EnableCalendarCapability>
<EnableMailboxSynchCapability>true</EnableMailboxSynchCapability>
<EnableTtsOfEmailCapability>true</EnableTtsOfEmailCapability>
</TemplateExternalServiceAccount>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
615
Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging
Explanation of Data Fields
Page 648
JSON Example
To view the unified messaging account, do the following:
Request URI:
GET
https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>/templateexternalserviceaccounts/<templateexternalserviceaccountsobjectId
Accept: application/json
Content-type: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"EmailAddressUseCorp":"true"
"EnableCalendarCapability":"true"
"EnableMailboxSynchCapability":"true"
"EnablTtsOfEmailCapability":"true"
}
Response Code: 200
Explanation of Data Fields
Comments
Operation
Data
Type
Device Name
Use Corporate Email Address
Default value: False
Read/Write
Boolean
EmailAddressUseCorp
Access Exchange Email by Using Text to Speech (TTS)
Default value: False
Read/Write
Boolean
EnableTtsOfEmailCapability
Access Exchange Calendar and Contacts
Default value: False
Read/Write
Boolean
EnableCalendarCapability
Synchronize Connection and Exchange Mailboxes (Single
Inbox)
Default value: False
Read/Write
Boolean
EnableMailboxSynchCapability
Cisco Unity Connection Provisioning Interface (CUPI) API --
User Template External Services
About External Services
This page contains information on how to use the API to create, list, modify, and delete Unified Messaging
Services (also known as external services). When you create Unified Messaging Service Accounts, you base
Cisco Unity Connection Provisioning Interface (CUPI) API
616
Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging
Explanation of Data Fields
Page 649
each account on a Unified Messaging Service. Creating a new Unified Messaging service is based on any one
of the following:
• Exchange/BPOS-D
• MeetingPlace
• Office 365
• Google Workspace (applicable with Unity Connection 14 and later)
Unity Connection 14 and later provides a new way to users for accessing the voice messages on their Gmail
account. For this, you need to configure unified messaging with Google Worspace to synchronize the voice
messages between Unity Connection and Gmail server.
Listing External Services
Example 1
The following is an example of the GET request that lists the Unified Messaging Services:
https://<connection_server>/vmrest/externalservices
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
617
Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging
Listing External Services
Page 650
<ExternalServices total="3">
<ExternalService>
<URI>/vmrest/externalservices/53a7675f-94c2-4596-ae3a-69b9287d119d</URI>
<ObjectId>53a7675f-94c2-4596-ae3a-69b9287d119d</ObjectId>
<AuthenticationMode>3</AuthenticationMode>
<DisplayName>exchange_1</DisplayName>
<IsEnabled>true</IsEnabled>
<SecurityTransportType>1</SecurityTransportType>
<Server>10.78.171.187</Server>
<ServiceAlias>admin</ServiceAlias>
<ServicePassword/>
<ServerType>4</ServerType>
<SupportsCalendarCapability>true</SupportsCalendarCapability>
<SupportsTtsOfEmailCapability>true</SupportsTtsOfEmailCapability>
<ValidateServerCertificate>false</ValidateServerCertificate>
<UseServiceCredentials>true</UseServiceCredentials>
<SupportsMailboxSynchCapability>true</SupportsMailboxSynchCapability>
<ExchDoAutodiscover>false</ExchDoAutodiscover>
<MailboxSynchFaxAction>1</MailboxSynchFaxAction>
<MailboxSynchEmailAction>2</MailboxSynchEmailAction>
<ExternalServiceResetURI>/vmrest/externalservices/53a7675f-94c2-4596-ae3a-69b9287d119d/reset</ExternalServiceResetURI>
</ExternalService>
<ExternalService>
<URI>/vmrest/externalservices/bc1dbc08-bfdb-46e8-acb4-12cb511ebb01</URI>
<ObjectId>bc1dbc08-bfdb-46e8-acb4-12cb511ebb01</ObjectId>
<AuthenticationMode>1</AuthenticationMode>
<DisplayName>ofc_365</DisplayName>
<IsEnabled>true</IsEnabled>
<ServiceAlias>admin</ServiceAlias>
<ServicePassword/>
<ServerType>5</ServerType>
<SupportsCalendarCapability>true</SupportsCalendarCapability>
<SupportsTtsOfEmailCapability>true</SupportsTtsOfEmailCapability>
<ValidateServerCertificate>false</ValidateServerCertificate>
<UseServiceCredentials>true</UseServiceCredentials>
<SupportsMailboxSynchCapability>true</SupportsMailboxSynchCapability>
<ExchDoAutodiscover>true</ExchDoAutodiscover>
<ExchOrgDomain>10.78.171.70</ExchOrgDomain>
<ExchSite/>
<MailboxSynchFaxAction>1</MailboxSynchFaxAction>
<MailboxSynchEmailAction>2</MailboxSynchEmailAction>
<ProxyServer/>
<ExternalServiceResetURI>/vmrest/externalservices/bc1dbc08-bfdb-46e8-acb4-12cb511ebb01/reset</ExternalServiceResetURI>
</ExternalService>
<ExternalService>
<URI>/vmrest/externalservices/9d7f6b48-19fc-446a-8afe-6d454a0b3de1</URI>
<ObjectId>9d7f6b48-19fc-446a-8afe-6d454a0b3de1</ObjectId>
<DisplayName>meeting_place</DisplayName>
<IsEnabled>true</IsEnabled>
<Server>10.78.171.87</Server>
<ServiceAlias>admin</ServiceAlias>
<ServicePassword/>
<ServerType>1</ServerType>
<SupportsCalendarCapability>true</SupportsCalendarCapability>
<SupportsMeetingCapability>true</SupportsMeetingCapability>
<TransferExtensionDialString>12112</TransferExtensionDialString>
</ExternalService>
</ExternalServices>
Cisco Unity Connection Provisioning Interface (CUPI) API
618
Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging
Listing External Services
Page 651
Example 2
The following is an example of another GET request that lists the Unified Messaging Service based on
<externalservice-id>:
https://<connection_server>/vmrest/externalservices/<objectId>
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
<ExternalService>
<URI>/vmrest/externalservices/6f4f7023-e9e5-4cd0-bf55-e20a0be6fd78</URI>
<ObjectId>6f4f7023-e9e5-4cd0-bf55-e20a0be6fd78</ObjectId>
<TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId>
<AuthenticationMode>1</AuthenticationMode>
<DisplayName>UMS_API</DisplayName>
<IsEnabled>true</IsEnabled>
<SecurityTransportType>1</SecurityTransportType>
<Server>10.65.156.190</Server>
<ServiceAlias>clientteam\administrator</ServiceAlias>
<ServicePassword/>
<ServerType>4</ServerType>
<SupportsCalendarCapability>true</SupportsCalendarCapability>
<SupportsTtsOfEmailCapability>true</SupportsTtsOfEmailCapability>
<ValidateServerCertificate>false</ValidateServerCertificate>
<UseServiceCredentials>true</UseServiceCredentials>
<SupportsMailboxSynchCapability>true</SupportsMailboxSynchCapability>
<ExchDoAutodiscover>false</ExchDoAutodiscover>
<MailboxSynchFaxAction>1</MailboxSynchFaxAction>
<MailboxSynchEmailAction>2</MailboxSynchEmailAction>
</ExternalService>
Response Code: 200
Listing Specific Tenant Related User Template External Services by System Administrator
In Cisco Unity Connection 10.5(2) and later, the system administrator can use TenantObjectID to list the
specific tenant related user template external services using the following URI:
GET https://<connection-server>/vmrest/externalservices?query=(TenantObjectId is
<Tenant-ObjectId>)
To get the TenantObjectID, use the following URI:
GET https://<connection-server>/vmrest/tenants
Adding Unified Messaging Service
This section contains information on how to create External Services:
• Adding Exchange/BPOS-D External Service
• Adding Meeting Place External Service
• Adding Office 365 External Service
Cisco Unity Connection Provisioning Interface (CUPI) API
619
Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging
Listing Specific Tenant Related User Template External Services by System Administrator
Page 652
Adding Exchange/BPOS-D External Service
The following is an example of the POST request that adds the Exchange/BPOS-D Unified Messaging Service:
https://<connection_server>/vmrest/externalservices
The request parameters will depend upon the information given by you.
<ExternalService>
<DisplayName>UMS_API</DisplayName>
<ServiceAlias> client-team\administrator</ServiceAlias>
<ServicePassword>Ecsbulab12</ServicePassword>
<ServerType>4</ServerType>
<Server>10.65.156.190</Server>
<AuthenticationMode>1</AuthenticationMode>
<SecurityTransportType>1</SecurityTransportType>
</ExternalService>
Response Code: 201
The following are the list of mandatory parameters required to create a Unified Messaging Service:
• Display Name: The display name of the unified messaging service
• Service Alias: The alias of the unified messaging service
• Service Password: The password of the unified messaging service
• Server Type: The type of unified messaging service account (Exchange/BPOS-D: 4)
• Server: The IP address of the Exchange server
• Authentication Mode: The web-based Authentication Mode of the Unified Messaging Service: Basic
(1), Digest (2), and NTLM (3)
• Exchange Server Type: The Exchange Server Type of the Unified Messaging Account: Exchange 2003
(0) and Exchange 2007/2010/2013 (1)
• Security Transport Type: The web-based protocol of the Unified Messaging Account: HTTP (0) and
HTTPS (1)
Adding Meeting Place External Service
The following is an example of the POST request that adds the Meeting Place Unified Messaging Service:
https://<connection_server>/vmrest/externalservices
The request parameters will depend upon the information given by you.
<ExternalService>
<DisplayName>MeetingPlace</DisplayName>
<ServiceAlias> admin</ServiceAlias>
<ServicePassword>ecsbulab</ServicePassword>
<ServerType>1</ServerType>
<Server>10.76.175.167</Server>
<TransferExtensionDialString>111111</TransferExtensionDialString>
</ExternalService>
Response Code: 201
Cisco Unity Connection Provisioning Interface (CUPI) API
620
Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging
Adding Exchange/BPOS-D External Service
Page 653
Adding Office 365 External Service
Unity Connection 12.5(1) SU2 and later supports OAuth2 web authentication mode for configuring Unified
Messaging with Office 365 service. For using OAuth2 web authentication mode for configuring Unified
Messaging, you must create and register an application on Microsoft Azure portal corresponding to the Unified
Messaging Service. After registering the application, you will get the values of Application (Client) ID,
Directory ID and Client Secret on Azure portal.
With Unity Connection 11.5(1) SU9 and later, two new fields, AdAuthenticationEndpoint and ResourceURI
are introduced in this API. These fields are auto populated with default values which can be modified according
to required Active Directory.
For more information on configuring Unified Messaging with OAuth2 authentication mode, see Task List for
Configuring Unified Messaging section of "Configuring Unified Messaging" chapter in Unified Messaging
Guide for Cisco Unity Connection Release 12.x guide available at https://www.cisco.com/c/en/us/td/docs/
voice_ip_comm/connection/12x/unified_messaging/b_12xcucumgx.html.
The following is an example of the POST request that adds the Office 365 Unified Messaging Service:
https://<connection_server>/vmrest/externalservices
The request parameters will depend upon the information given by you.
<ExternalService>
<DisplayName>OFC_Service</DisplayName>
<IsEnabled>true</IsEnabled>
<ExchDoAutodiscover>true</ExchDoAutodiscover>
<ExchOrgDomain>domain.com</ExchOrgDomain>
<SupportsCalendarCapability>true</SupportsCalendarCapability>
<ServiceAlias>admin</ServiceAlias>
<SupportsCalendarCapability>true</SupportsCalendarCapability>
<SupportsTtsOfEmailCapability>true</SupportsTtsOfEmailCapability>
<SupportsMeetingCapability>false</SupportsMeetingCapability>
<ValidateServerCertificate>false</ValidateServerCertificate>
<UseServiceCredentials>true</UseServiceCredentials>
<AuthenticationMode>4</AuthenticationMode>
<ServicePassword>password123</ServicePassword>
<ServerType>5</ServerType>
<ClientId>d64ea56b-1d60-47c7-a26d-7bcbee3a09c3</ClientId>
<ClientSecret> </ClientSecret>
<DirectoryID>cafae64a-ffb2-4585-8c11-2d86aa8b3bf5</DirectoryID>
<AdAuthenticationEndpoint>https://login.microsoftonline.com</AdAuthenticationEndpoint>
<ResourceURI>https://outlook.office365.com</ResourceURI></ExternalService>
Response Code: 201
The following are the list of mandatory parameters required to create a Unified Messaging Service:
• Display Name: The display name of the unified messaging service
• Service Alias: The administrator account name of active directory
• Service Password: The administrator account password of active directory
• Server Type: The type of unified messaging service account. The value of Server Type for Office 365
is 5
• ExchOrgDomain: The domain name of hosted exchange server
• ExchDoAutodiscover: The Auto Discovery flag that should always be true for Office 365
Cisco Unity Connection Provisioning Interface (CUPI) API
621
Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging
Adding Office 365 External Service
Page 654
AuthenticationMode: The web authentication mode for Unified Messaging. The possible authentication mode
can be Basic (1), NTLM (3) and OAuth2 (4) for Office 365 service. By default, the Authentication Mode is
set to Basic (1).
Note
If you select OAuth2 authentication mode for Office 365 service, you must provide the values of DirectoryID,
ClientId and ClientSecret from Azure portal.
Note
(Applicable to 12.5SU7 and later releases) If you select OAuth2 authentication mode for Office 365 service,
Service Alias and Service Password fields are not required in API request body for adding Unified Messaging
Service.
Note
Modifying Unified Messaging Service
The following is an example of the PUT request that modifies the Unified Messaging Service represented by
<externalserviceObject-id>:
https://<connection_server>/vmrest/externalservices/<objectId>
The following is an example of the response from the above PUT request and the actual response will
depend upon the information given by you:
<ExternalService>
<ServiceAlias> client-team\administrator</ServiceAlias>
<ServicePassword>Ecsbulab13</ServicePassword>
<ServerType>4</ServerType>
<Server>10.65.156.190</Server>
<AuthenticationMode>1</AuthenticationMode>
<SecurityTransportType>1</SecurityTransportType>
</ExternalService>
<ExternalService>
<ServiceAlias> client-team\administrator</ServiceAlias>
<ServicePassword></ServicePassword>
<ServerType>4</ServerType>
<Server>10.65.156.190</Server>
<AuthenticationMode>4</AuthenticationMode>
<SecurityTransportType>1</SecurityTransportType>
<ClientId>d64ea56b-1d60-47c7-a26d-7bcbee3a09c3</ClientId>
<ClientSecret></ClientSecret>
<DirectoryID>cafae64a-ffb2-4585-8c11-2d86aa8b3bf5</DirectoryID>
</ExternalService>
Successful Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
622
Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging
Modifying Unified Messaging Service

Page 655
(Applicable to 12.5SU7 and later releases) If you select OAuth2 authentication mode for Office 365 service,
Service Alias and Service Password fields are not relevant in modification of Unified Messaging Service.
Note
Deleting Unified Messaging Service
The following is an example of the DELETE request that deletes a Unified Messaging Service as represented
by < externalserviceobject-id >:
https://<connection_server>/vmrest/usertemplates/externalservices/<objectId >
The output for this request returns the successful response code.
Response Code: 204
Explanation of Data Fields
Description
Field
The display name of the unified messaging service
Display Name
The administrator account name of active directory
Service Alias
The administrator account password of active
directory
Service Password
The type of unified messaging service account.
Possible values are:
Server Type
• 1: For Meeting Place
• 4: For Exchange /BPOS-D
• 5: For Office 365
The IP address of the Exchange server
Server
The web-based Authentication Mode of the Unified
Messaging Service. Possible value are:
Authentication Mode
• 1: For Basic
• 2: For Digest
• 3: For NTLM
• 4: OAuth2
By default, the Authentication Mode is set to Basic
(1)
Cisco Unity Connection Provisioning Interface (CUPI) API
623
Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging
Deleting Unified Messaging Service

Page 656
Description
Field
The Exchange Server Type of the Unified Messaging
Account. Possible values are:
Exchange Server Type
• 0: Exchange 2003
• 1: Exchange 2007/2010/2013 and above
The web-based protocol of the Unified Messaging
Account. Possible values are:
Security Transport Type
• 0: For HTTP
• 1: For HTTPS
The digits that Cisco Unity Connection must dial to
transfer users on the phone to the opening of the Cisco
Unified Meeting Place Server
TransferExtensionDialString
The domain name of hosted exchange server
ExchOrgDomain
The Auto Discovery flag that should always be true
for Office 365
ExchDoAutodiscover
(Applicable only when OAuth2 authentication mode
is selected) Directory id of the application registered
on Microsoft Azure portal
DirectoryID
(Applicable only when OAuth2 authentication mode
is selected) Client id of the application registered on
the Microsoft Azure portal
ClientID
(Applicable only when OAuth2 authentication mode
is selected) The value of Client Secret of the
application registered on the Microsoft Azure portal.
ClientSecret
(Applicable only when OAuth2 authentication mode
is selected) This field is optional . Its value depend
AD Authentication Endpoint
on Active Directory chosen on Microsoft Azure Portal.
For different values of AD Authentication Endpoint,
refer Endpoints of the registered application at Azure
portal. Default value of AD Authentication Endpoint
field is https://login.microsoftonline.com
(Applicable only when OAuth2 authentication mode
is selected)This field is optional . Its value depend on
Resource URI
Active Directory chosen on Microsoft Azure Portal.
Default value of Resource URI field is
https://outlook.office365.com
Cisco Unity Connection Provisioning Interface (CUPI) API
624
Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging
Explanation of Data Fields
Page 657
Cisco Unity Connection Provisioning Interface (CUPI) API --
User Template External Service Accounts
About External Service Accounts
A user template may have zero or more unified messaging service accounts (also known as external service
accounts). Examples of these services include Cisco Unified MeetingPlace 8.0, Exchange 2003, Exchange
2007, and Exchange 2010. Using CUPI for user templates, an administrator can:
• Retrieve a list of its unified messaging service accounts,
• Retrieve one of its unified messaging service accounts, and
• Change the password for one of its unified messaging service accounts
Listing External Service Accounts
To retrieve a list of unified messaging service accounts, use the GET method with URI:
https://<connection_server>/vmrest/usertemplates/usertemplateobject-id/templateexternalserviceaccounts
In the following example, the user has two unified messaging service accounts, Exchange2K3 and
Exchange2K7:
GET
https://<connection-server>/vmrest/usertemplates/<usertemplateobject-id>/externalserviceaccounts
<TemplateExternalServiceAccounts total="1">
<TemplateExternalServiceAccount>
<URI>/vmrest/usertemplates/85a845d3-063d-4641-aa70-8b536282bffb/templateexternalserviceaccounts/c4e7b01f-8b6e-4a08-9d57-856e81919c66</URI>
<EmailAddressUseCorp>false</EmailAddressUseCorp>
<EnableCalendarCapability>true</EnableCalendarCapability>
<EnableMailboxSynchCapability>true</EnableMailboxSynchCapability>
<EnableMeetingCapability>false</EnableMeetingCapability>
<EnableTtsOfEmailCapability>true</EnableTtsOfEmailCapability>
<ExternalServiceObjectId>26f20913-af8d-465a-8437-707028d376bd</ExternalServiceObjectId>
<IsPrimaryMeetingService>false</IsPrimaryMeetingService>
<LoginType>0</LoginType>
<ObjectId>c4e7b01f-8b6e-4a08-9d57-856e81919c66</ObjectId>
<UserTemplateObjectId>85a845d3-063d-4641-aa70-8b536282bffb</UserTemplateObjectId>
<UserTemplateURI>/vmrest/usertemplates/85a845d3-063d-4641-aa70-8b536282bffb</UserTemplateURI>
<DisplayName>UMS_AP1111I</DisplayName>
<ServerType>4</ServerType>
<UserTemplateDisplayName>Template</UserTemplateDisplayName>
</TemplateExternalServiceAccount>
</TemplateExternalServiceAccounts>
Response Code: 200
Cisco Unity Connection Provisioning Interface (CUPI) API
625
Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging
Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template External Service Accounts
Page 658
For each unified messaging service account, CUPI returns the following information:
• URI - The URI for retrieving the unified messaging service account
• IsEnabled - A flag to indicate whether the unified messaging service account is enabled
• UseServiceCredentials - A flag to indicate whether service credentials or user credentials are used to
sign in the unified messaging service account
• LoginType - A flag to indicate whether the user alias (0), a guest account (1), or a specified user ID (2)
is used to sign in the account
• UserId - The user ID to sign in to the unified messaging service account, if one is used
• ObjectId - The unique ID of the unified messaging service account
• Display Name - The display name of the unified messaging service account
To retrieve a specific unified messaging service account, use the GET method with the URI field from above
as follows:
GET
http://<connection_server>/vmrest/usertemplates/<objectId>/templateexternalserviceaccounts/<objectId>
<?xml version="1.0" encoding="UTF-8"?>
<TemplateExternalServiceAccount>
<URI>/vmrest/usertemplates/85a845d3-063d-4641-aa70-8b536282bffb/templateexternalserviceaccounts/c4e7b01f-8b6e-4a08-9d57-856e81919c66</URI>
<EmailAddressUseCorp>false</EmailAddressUseCorp>
<EnableCalendarCapability>true</EnableCalendarCapability>
<EnableMailboxSynchCapability>true</EnableMailboxSynchCapability>
<EnableMeetingCapability>false</EnableMeetingCapability>
<EnableTtsOfEmailCapability>true</EnableTtsOfEmailCapability>
<ExternalServiceObjectId>26f20913-af8d-465a-8437-707028d376bd</ExternalServiceObjectId>
<IsPrimaryMeetingService>false</IsPrimaryMeetingService>
<LoginType>0</LoginType>
<ObjectId>c4e7b01f-8b6e-4a08-9d57-856e81919c66</ObjectId>
<UserTemplateObjectId>85a845d3-063d-4641-aa70-8b536282bffb</UserTemplateObjectId>
<UserTemplateURI>/vmrest/usertemplates/85a845d3-063d-4641-aa70-8b536282bffb</UserTemplateURI>
<DisplayName>UMS_AP1111I</DisplayName>
<ServerType>4</ServerType>
<UserTemplateDisplayName>Template</UserTemplateDisplayName>
</TemplateExternalServiceAccount>
Response Code: 200
Adding New External Service Account
The following is an example of the POST request that adds a Unified Messaging Account:
https://<connection_server>/vmrest/usertemplates/<objectId>/templateexternalserviceaccounts/<objectId>
The actual response will depend upon the information given by you. The following are the mandatory parameters
that you need to enter to create a Unified Messaging Account:
Cisco Unity Connection Provisioning Interface (CUPI) API
626
Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging
Adding New External Service Account
Page 659
<TemplateExternalServiceAccount>
<ExternalServiceObjectId>NewUnfiedServiceAccount </ExternalServiceObjectId>
<EnableCalendarCapability>true</EnableCalendarCapability>
<EnableTtsOfEmailCapability>true</EnableTtsOfEmailCapability>
<EnableMailboxSynchCapability>true</EnableMailboxSynchCapability>
</TemplateExternalServiceAccount>
Response Code: 201
Modifying External Service Account
The following is an example of the PUT request that modifies a Unified Messaging Account as represented
by <unifiedmessagingaccountid>:
https://<connection_server>/vmrest/usertemplates/<objectId>/ templateexternalserviceaccounts
/<objectId>
The following is an example of the response from the above PUT request and the actual response will
depend upon the information given by you:
<TemplateExternalServiceAccount>
<EnableCalendarCapability>true</EnableCalendarCapability>
<EnableTtsOfEmailCapability>true</EnableTtsOfEmailCapability>
<EnableMailboxSynchCapability>true</EnableMailboxSynchCapability>
</TemplateExternalServiceAccount>
Response Code: 204
Deleting External Service Account
The following is an example of the DELETE request that deletes a Unified Messaging Account as represented
by < externalserviceaccount-id >:
https://<connection_server>/vmrest/usertemplates/<template-object-id>/
templateexternalserviceaccounts /< objectId>
The output for this request returns the successful response code.
Response Code: 204
Explanation of Data Fields
The following chart lists all of the data fields available on External Service Accounts.
Explanation/Comments
Available Value
Writable?
Field Name
Use Corporate Email
Address
True/False
Read/Write
EmailAddressUseCorp
Enables users to hear
notification of upcoming
meetings on the phone.
True/False
Read/Write
EnableCalendarCapability
Cisco Unity Connection Provisioning Interface (CUPI) API
627
Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging
Modifying External Service Account
Page 660
Explanation/Comments
Available Value
Writable?
Field Name
Synchronizes voice
messages in Connection and
Exchange.
True/False
Read/Write
EnableMailboxSynchCapability
Enables Meeting Capability
True/False
Read
Only
EnableMeetingCapability
Enables users to access
Exchange email messages
by using text to speech.
True/False
Read/Write
EnableTtsOfEmailCapability
Displays External Service
ObjectId
36 characters
Read
Only
ExternalServiceObjectId
Displays Primary Meeting
Service
True/False
Read
Only
IsPrimaryMeetingService
read
Dipslays the type of login
done by the
0-Login using user's Connection alias used
for login
1- Login as guest 2-Login as UserId| Base,
Phone, Pager
Read/Write
LoginType
ObjectId of the Device
Read Only
All
ObjectId
Displays user template URI
Read
Only
UserTemplateURI
Displays user template
ObjectId
36 characters
Read
Only
UserTemplateObjectId
Friendly name for the
Device like "Mobile Phone"
Read/Write
All
DisplayName
Displays the name of the
external service account
1-MeetingPlace
8.x,4-Exchange/BPOS-D,5-Office 365
Read
Only
ServerType
Display Name for User
Template.
1-64 characters
Read
Only
UserTemplateDisplayName
Cisco Unity Connection Provisioning Interface (CUPI) API -- End
User Unified Messaging Accounts
Unified Messaging Account API
Updating the Unified Messaging Account
JSON Example
To view the unified messaging account, do the following:
Cisco Unity Connection Provisioning Interface (CUPI) API
628
Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging
Cisco Unity Connection Provisioning Interface (CUPI) API -- End User Unified Messaging Accounts
Page 661
Request URI:
PUT https://<connection-server>/vmrest/users/<userobjectid>/
externalserviceaccounts/<externalserviceaccountsobjectId>
Accept: application/json
Content-type: application/json
Connection: keep-alive
{
"EmailAddressUseCorp":"true"
"EnableCalendarCapability":"true"
"EnableMailboxSynchCapability":"true"
"EnablTtsOfEmailCapability":"true"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Explanation of Data Fields
Comments
Data
Type
Operation
Parameters
URI of the Unified Messaging Account.
String
Read
Only
URI
Unique Identifier of the Unified Messaging Account.
String
(36)
Read
Only
ObjectId
A flag indicating whether the external service is enabled.
• false: The external service is disabled.
• true: The external service is enabled.
Default value: false.
Boolean
Read
Only
IsEnabled
A flag indicating whether to use service credentials rather than user
credentials to logon to the external service.
• false: Use user credentials.
• true: Use service credentials.
Boolean
Read
Only
UseServiceCredentials
A flag to indicate whether the user alias (0), a guest account (1), or a
specified user ID (2) is used to sign in the account .
Integer
Read
Only
Login Type
The display name of the unified messaging service account.
String
(64)
Read/Write
Display Name
The user ID to sign in to the unified messaging service account, if one
is used
String
Read
Only
UserId
Cisco Unity Connection Provisioning Interface (CUPI) API
629
Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging
Explanation of Data Fields
Page 662
Cisco Unity Connection Provisioning Interface (CUPI) API
630
Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging
Explanation of Data Fields
Page 663
C H A P T E R 44
Cisco Unity Connection Provisioning Interface
(CUPI) API for Dial Plan
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Partition API , on page 631
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Search Space API, on page 636
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Search Space Member API, on page 644
Cisco Unity Connection Provisioning Interface (CUPI) API --
Partition API
Partition API
Administrator can use this API to create, update, delete, or fetch the partition. In Cisco Unity Connection,
you create partitions as a way to group together objects to which callers and users can address messages or
place calls while interacting with Connection. One or more partitions can be grouped together as members of
a search space, and a partition can be a member of more than one search space. The following types of objects
belong to a partition:
• User Templates
• Call Handler Templates
• Contact Templates
• Users with mailboxes (primary extension)
• User alternate extensions
• Contacts (including VPIM contacts)
• System distribution lists
• System call handlers
• Directory handlers
• Interview handlers
• VPIM locations
Extensions must be unique within a partition, although partitions can contain objects that do not have an
associated extension (for example, some contacts and system distribution lists). The names of objects do not
have to be unique within a partition. Administrator-defined contact phone numbers also do not need to be
unique within a partition.
Cisco Unity Connection Provisioning Interface (CUPI) API
631

Page 664
Listing the Partitions
The following is an example of the GET request that lists all the existing partitions:
GET https://<connection-server>/vmrest/partitions
The following is the response from the above GET request:
<Partitions total="2">
<Partition>
<URI>/vmrest/partitions/53e16c90-1cc6-4bde-b6c8-77daf1d31d02</URI>
<ObjectId>53e16c90-1cc6-4bde-b6c8-77daf1d31d02</ObjectId>
<Name>ucbu-aricent-vm256 Partition</Name>
<Description>Default Partition</Description>
<LocationObjectId>6e81cad2-9c0b-42c1-bb6f-4edb38a70cbd</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/6e81cad2-9c0b-42c1-bb6f-
4edb38a70cbd</LocationURI>
</Partition>
<Partition>
<URI>/vmrest/partitions/924ee2d5-758b-4ded-8db7-ae7bc11b59b2</URI>
<ObjectId>924ee2d5-758b-4ded-8db7-ae7bc11b59b2</ObjectId>
<Name>Taxoma_DefaultPartition</Name>
<Description>Default Partition for Taxoma</Description>
<LocationObjectId>6e81cad2-9c0b-42c1-bb6f-4edb38a70cbd</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/6e81cad2-9c0b-42c1-bb6f-
4edb38a70cbd</LocationURI>
</Partition>
</Partitions>
Response Code: 200
JSON Example
The following is an example of the GET command that will list all the partitions:
Request URI:
GET https://<connection-server>/vmrest/partitions
Accept: applciation/json
Connection: keep_alive
The following is the example of the response from the above GET request:
Cisco Unity Connection Provisioning Interface (CUPI) API
632
Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan
Listing the Partitions
Page 665
{
"@total": "2",
"Partition": [
{
"URI": "/vmrest/partitions/d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b",
"ObjectId": "d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b",
"Name": "ucbu-aricent-vm259 Partition",
"Description": "Default Partition",
"LocationObjectId": "bbf3e6ed-0278-479c-9a6e-2da8756eeb6f",
"LocationURI": "/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-
9a6e-2da8756eeb6f"
},
{
"URI": "/vmrest/partitions/5c28f078-8142-4844-b3c0-8fddf33639c4",
"ObjectId": "5c28f078-8142-4844-b3c0-8fddf33639c4",
"Name": "Taxoma21_Partition_1",
"LocationObjectId": "bbf3e6ed-0278-479c-9a6e-2da8756eeb6f",
"LocationURI": "/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-
9a6e-2da8756eeb6f"
}
]
}
Response Code: 200
Viewing a Specific Partition
The following is an example of the GET request that list the detail of a particular partition:
GET https://<connection-server>/vmrest/partitions/<PartitionObjectId>
The following is the response from the above GET request:
<Partition>
<LocationObjectId>bbf3e6ed-0278-479c-9a6e-2da8756eeb6f</LocationObjectId>
<URI>/vmrest/partitions/d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b</URI>
<ObjectId>d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b</ObjectId>
<Name>ucbu-aricent-vm259 Partition</Name>
<Description>Default Partition</Description>
<LocationObjectId>bbf3e6ed-0278-479c-9a6e-2da8756eeb6f</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-9a6e-
2da8756eeb6f</LocationURI>
</Partition>
Response Code: 200
JSON Example
The following is an example of the GET command that will get the detail of a particular partition:
Request URI:
GET https://<connection-server>/vmrest/partitions/<PartitionObjectId>
Accept: applciation/json
Connection: keep_alive
The following is the example of the response from the above GET request:
Cisco Unity Connection Provisioning Interface (CUPI) API
633
Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan
Viewing a Specific Partition
Page 666
{
"URI": "/vmrest/partitions/d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b",
"ObjectId": "d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b",
"Name": "ucbu-aricent-vm259 Partition",
"Description": "Default Partition",
"LocationObjectId": "bbf3e6ed-0278-479c-9a6e-2da8756eeb6f",
"LocationURI": "/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-9a6e-
2da8756eeb6f"
}
Response Code: 200
Creating a Partition
The following is an example of the POST request that creates a partition:
POST https://<connection-server>/vmrest/partitions
Request Body:
<Partition>
<Name>Taxoma_DefaultPartition</Name>
<Description>Default Partition for Taxoma</Description>
</Partition>
The following is the example of the response from the above Post request:
Response Code: 201
JSON Example
The following is an example of the POST command that will create a new partition:
Request URI:
POST https://<connection-server>/vmrest/partitions
Accept: applciation/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"Name": "Test",
"Description": "Test_partition"
}
The following is the example of the response from the above GET request:
Response Code: 201
Updating a Partition
The following is an example of the PUT request that allows you to update a partition:
PUT https://<connection-server>/vmrest/partitions/<PartitionObjectId>
Request Body:
<Partition>
<Name>Test123</Name>
<Description>Taxoma Default Partition</Description>
</Partition>
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
634
Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan
Creating a Partition
Page 667
The output for this request returns the successful response code.
JSON Example
The following is an example of the PUT command that will update a partition:
PUT https://<connection-server>/vmrest/partitions/<PartitionObjectId>
Accept: applciation/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"Name": "Test123",
"Description": "Hello"
}
The following is the example of the response from the above *PUT * request:
Response Code: 204
Deleting a Partition
The following is an example of the DELETE request that deletes a specific partition where you need to mention
the partition object ID:
You are not allowed to delete a default search space if a partition is referred in a search space, or referred by
a user.
Note
Response Code: 204
The output for this request returns the successful response code.
JSON Example
The following is an example of the DELETE command that will delete a partition:
DELETE https://<connection-server>/vmrest/partitions/<PartitionObjectId>
Accept: applciation/json
Connection: keep_alive
Response Code: 204
Deleting a Partition Included in Search Scope
Make sure to add the partition to a search space. The following is an example of the DELETE request that
deletes a specific partition which is included in a search scope:
Delete https://<connection-server>/vmrest/partitions/<PartitionObjectId>
Response Code: 204
JSON Example
The following is an example to delete a partition included in a search scope:
Cisco Unity Connection Provisioning Interface (CUPI) API
635
Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan
Deleting a Partition

Page 668
Delete https://<connection-server>/vmrest/partitions/<PartitionObjectId>
Accept: application/json
Connection: keep_alive
Response Code: 204
Explanation of Data Fields
Comments
Data
Type
Operations
Parameter
The primary key for this table. A systemgenerated, globally unique object
identifier.
String
(36)
Read
Only
ObjectId
The unique text name of this partition. This name is used when displaying
entries in the administrative interface. The name can be upto 50 characters
long.
String
(50)
Read/Write
Name
The description of the partition. If a description is not entered, the partition
name is entered.
String
(50)
Read/Write
Description
The unique identifier of the LocationVms on which this partition was
created. It is used by networking to determine on which LocationVms the
properties of the partition are administered.
String
(36)
Read
Only
LocationObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API --
Search Space API
Search Space API
Search spaces are used to define the search scope of objects (users, distribution lists, and so on) that a user or
outside caller can reach while interacting with Connection. For example, the search scope that is applied to a
user identifies which users, distribution lists, or VPIM contacts the user can address messages to. It also
identifies which users and contacts the user can dial by name when using the voicerecognition conversation.
A search space is comprised of one or more ordered partitions. When Connection searches for an object on
behalf of a caller, it searches the partitions in the order in which they are arranged in the search space. While
extensions must be unique within a partition, they do not need to be unique within a search space, so you can
use search spaces to handle dial plans that have overlapping extensions. Operation Supported: Create, Read,
Update and Delete.
Listing the Search Spaces
The following is an example of the GET request that lists all the search spaces:
GET https://<connection-server>/vmrest/searchspaces
The following is the response from the above GET request.
Cisco Unity Connection Provisioning Interface (CUPI) API
636
Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan
Explanation of Data Fields
Page 669
<SearchSpaces total="1">
<SearchSpace>
<URI>/vmrest/searchspaces/7479b688-9c97-4a4b-ab69-ea786f6024be</URI>
<ObjectId>7479b688-9c97-4a4b-ab69-ea786f6024be</ObjectId>
<Name>Search Space</Name>
<Description>Default Search Space</Description>
<LocationObjectId>08b0402c-ba81-4f16-bcba-ca7883de0482</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/08b0402c-ba81-4f16-bcba
ca7883de0482</LocationURI>
<TimeOwnershipChanged>2012-12-10T19:23:29Z</TimeOwnershipChanged>
<SearchSpaceMembersURI>/vmrest/searchspaces/7479b688-9c97-4a4b-ab69-
ea786f6024be/searchspacemembers</SearchSpaceMembersURI>
</SearchSpace>
</SearchSpaces>
Response Code: 200
JSON Example
To list all the search spaces use the following command, do the following: Request URI: GET
https://<connection-server>/vmrest/searchspacesAccept: application/json Connection: keep_alive The following
is the response from the above GET request and the actual response will depend upon the information given
by you:
"@total":"2",
"SearchSpace": [
{
"URI":"/vmrest/searchspaces/2e836e16-f715-4a18-bb7c-ee5e33281706"
"ObjectId":"2e836e16-f715-4a18-bb7c-ee5e33281706"
"Name":"ucbu-aricent-vm463 Search Space"
"Description":"Default Search Space"
"LocationObjectId":"cff1347e-87af-4409-bead-d1970625f82e"
"LocationURI":"/vmrest/locations/connectionlocations/cff1347e-87af-4409-bead
d1970625f82e"
"TimeOwnershipChanged":"2013-02-25 09:37:36.99"
"SearchSpaceMembersURI":"/vmrest/searchspaces/2e836e16-f715-4a18-bb7c
ee5e33281706/searchspacemembers"
},
{
"URI":"/vmrest/searchspaces/97efa220-31a7-4409-a0cd-2cdfc669182f"
"ObjectId":"97efa220-31a7-4409-a0cd-2cdfc669182f"
"Name":"hello_SearchSpace_1"
"LocationObjectId":"cff1347e-87af-4409-bead-d1970625f82e"
"LocationURI":"/vmrest/locations/connectionlocations/cff1347e-87af-4409-beadd1970625f82e"
"TimeOwnershipChanged":"2013-02-26T05:05:10Z"
"SearchSpaceMembersURI":"/vmrest/searchspaces/97efa220-31a7-4409-a0cd-
2cdfc669182f/searchspacemembers"
}
]
Response Code: 200
Viewing the Specific Search Space Details
The following is an example of the GET request that lists the details of specific search space represented by
the provided value of search space object ID:
GET https://<connection-server>/vmrest/searchspaces/<searchspaceobjectId>
Cisco Unity Connection Provisioning Interface (CUPI) API
637
Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan
Viewing the Specific Search Space Details
Page 670
The following is the response from the above GET request:
<SearchSpaceMembers total="1">
<SearchSpaceMember>
<URI>/vmrest/searchspaces/7479b688-9c97-4a4b-ab69-
ea786f6024be/searchspacemembers/8433db04-60e0-414d-99bc-c48dcf8254cb</URI>
<ObjectId>8433db04-60e0-414d-99bc-c48dcf8254cb</ObjectId>
<PartitionObjectId>ff1c9ff2-6fcc-47e9-a4e0-a220c6e3ae4e</PartitionObjectId>
<PartitionURI>/vmrest/partitions/ff1c9ff2-6fcc-47e9-a4e0-a220c6e3ae4e</PartitionURI>
<SearchSpaceObjectId>7479b688-9c97-4a4b-ab69-ea786f6024be</SearchSpaceObjectId>
<SearchSpaceURI>/vmrest/searchspaces/7479b688-9c97-4a4b-ab69-
ea786f6024be</SearchSpaceURI>
<SortOrder>1</SortOrder>
</SearchSpaceMember>
</SearchSpaceMembers>
Response Code: 200
JSON Example
To view the specific search space, use the following command:
GET https://<connection-server>/vmrest/searchspaces/<searchspaceobjectid>
Accept: application/json
Connection: keep_alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"URI":"/vmrest/searchspaces/2e836e16-f715-4a18-bb7c-ee5e33281706"
"ObjectId":"2e836e16-f715-4a18-bb7c-ee5e33281706"
"Name":"ucbu-aricent-vm463 Search Space"
"Description":"Default Search Space"
"LocationObjectId":"cff1347e-87af-4409-bead-d1970625f82e"
"LocationURI":"/vmrest/locations/connectionlocations/cff1347e-87af-4409-bead
d1970625f82e"
"TimeOwnershipChanged":"2013-02-25 09:37:36.99"
"SearchSpaceMembersURI":"/vmrest/searchspaces/2e836e16-f715-4a18-bb7c
ee5e33281706/searchspacemembers"
}
Response Code: 200
Creating a Search Space
The following is an example of the POST request that creates a search space:
POST https://<connection-server>/vmrest/searchspaces
Request URI:
<SearchSpace>
<Name>Taxoma_SearchSpace</Name>
</SearchSpace>
The following is the example of the response from the above Post request:
Response Code: 201
/vmrest/searchspaces/4fc208e7-cb84-4e3f-bcf0-11f69c212b1d
Cisco Unity Connection Provisioning Interface (CUPI) API
638
Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan
Creating a Search Space
Page 671
JSON Example
To create a search space, use the following command:
Request URI:
POST https://<connection-server>/vmrest/searchspaces
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"Name": "Taxoma_SearchSpace1"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/searchspaces/4fc208e7-cb84-4e3f-bcf0-11f69c212b1d
Creating a Search Space
The following is an example of the POST request that creates a search space:
POST https://<connection-server>/vmrest/searchspaces
Request URI:
<SearchSpace>
<Name>Taxoma_SearchSpace</Name>
</SearchSpace>
The following is the example of the response from the above Post request:
Response Code: 201
/vmrest/searchspaces/4fc208e7-cb84-4e3f-bcf0-11f69c212b1d
JSON Example
To create a search space, use the following command:
Request URI:
POST https://<connection-server>/vmrest/searchspaces
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"Name": "Taxoma_SearchSpace1"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/searchspaces/4fc208e7-cb84-4e3f-bcf0-11f69c212b1d
Adding a Member in a Search Space
The following conditions should be checked before you add a member in a search space:
Cisco Unity Connection Provisioning Interface (CUPI) API
639
Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan
Creating a Search Space
Page 672
• Identify the search space to which you want to add partitions.
• Obtain the object ID of the partition that has to be added using the following URI
GET https://<connection-server>/vmrest/partitions
The following is an example of the POST request that allows you to add a member in a search space:
POST https://<connection-server>/vmrest/searchspaces/<ObjectId>/searchspacemembers
Request Body:
<SearchSpaceMember>
<PartitionObjectId>2be94430-a2b4-4a0c-b53c-a0290810d0ef</PartitionObjectId>
<SortOrder>1</SortOrder>
</SearchSpaceMember>
The output for this request returns the following response:
Response Code: 201
/vmrest/searchspaces/4fc208e7-cb84-4e3f-bcf0-11f69c212b1d/searchspacemembers/f93deeb3-71b2-
4198-bd55-53dc4a11f37c
JSON Example
To add a member in a search space, use the following command:
Request URI:
POST https://<connection-server>/vmrest/searchspaces/seacrchspaceobjectid/searchspacemembers
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"PartitionObjectId": "97bf6afe-346e-4275-967e-43c50be79d32",
"SortOrder": "1"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/searchspaces/72bf712e-ebad-4398-997c-5c21fb1c18c4/searchspacesmembers/0453712e-ebadeadc-
997c-5c21fb1c18c4
List all the Search Space Members Associated with a Specific Search Space
The following is an example of the GET request that lists all the search space members associated with a
specific search space:
Cisco Unity Connection Provisioning Interface (CUPI) API
640
Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan
List all the Search Space Members Associated with a Specific Search Space
Page 673
GET https://<connection-server>/vmrest/searchspaces/seacrchspaceobjectid/searchspacemembers
<SearchSpaceMembers total="1">
<SearchSpaceMember>
<URI>/vmrest/searchspaces/7479b688-9c97-4a4b-ab69-
ea786f6024be/searchspacemembers/8433db04-60e0-414d-99bc-c48dcf8254cb</URI>
<ObjectId>8433db04-60e0-414d-99bc-c48dcf8254cb</ObjectId>
<PartitionObjectId>ff1c9ff2-6fcc-47e9-a4e0-a220c6e3ae4e</PartitionObjectId>
<PartitionURI>/vmrest/partitions/ff1c9ff2-6fcc-47e9-a4e0-
a220c6e3ae4e</PartitionURI>
<SearchSpaceObjectId>7479b688-9c97-4a4b-ab69-
ea786f6024be</SearchSpaceObjectId>
<SearchSpaceURI>/vmrest/searchspaces/7479b688-9c97-4a4b-ab69-
ea786f6024be</SearchSpaceURI>
<SortOrder>1</SortOrder>
</SearchSpaceMember>
</SearchSpaceMembers>
Response Code: 200
JSON Example
To add a member in a search space, use the following command: GET
https://<connection-server>/vmrest/searchspaces/seacrchspaceobjectid/searchspacemembers Accept:
application/json Content_type: application/json Connection: keep_alive The following is the response from
the above GET request and the actual response will depend upon the information given by you:
"@total":"1"
"SearchSpaceMember":
{
"URI":"/vmrest/searchspaces/8190d682-9775-4622-9609-
a113e594b84a/searchspacemembers/540fc81a-d391-4760-9c5f-3d5eac6b8568"
"ObjectId":"540fc81a-d391-4760-9c5f-3d5eac6b8568"
"PartitionObjectId":"97bf6afe-346e-4275-967e-43c50be79d32"
"PartitionURI":"/vmrest/partitions/97bf6afe-346e-4275-967e-43c50be79d32"
"SearchSpaceObjectId":"8190d682-9775-4622-9609-a113e594b84a"
"SearchSpaceURI":"/vmrest/searchspaces/8190d682-9775-4622-9609-a113e594b84a"
"SortOrder":"1"
}
Response Code: 200
<pre>
=== Updating a Search Space ===
The following is an example of the PUT request that allows you to update a search space:
<pre>
PUT https://<connection-server>/vmrest/searchspaces/<searchspaceobjectid>
Request Body:
<SearchSpace>
<Name>Taxoma_SearchSpace</Name>
<Description>Default search space for taxoma</Description>
</SearchSpace>
Response Code: 204
The output for this request returns the successful response code.
JSON Example
To update a search space, use the following command:
Cisco Unity Connection Provisioning Interface (CUPI) API
641
Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan
List all the Search Space Members Associated with a Specific Search Space
Page 674
Request URI:
PUT https://<connection-server>/vmrest/searchspaces/seacrchspaceobjectid/
Accept: application/json
Content_type: application/json
Connection: keep_alive
Request Body:
{
"Name": "Taxoma_SearchSpace",
"Description": "Default search space for taxoma"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Deleting the Search Space
The following is an example of the DELETE request that deletes a specific search space where you need to
mention the search space object ID:
DELETE https://<connection-server>/vmrest/searchspaces/<seacrchspaceobjectid>
Response Code: 204
You are not allowed to delete a default search space or if a search space that has been assigned to any user,
call handler or a routing rule. The output for this request returns the successful response code.
Note
JSON Example
To delete a search space, use the following command:
DELETE: https://<connection-server>/vmrest/searchspaces/<seacrchspaceobjectid >
Accept: application/json
Connection: keep_alive
Response Code: 204
Deleting the Search Space Members
The following is an example of the DELETE request that deletes a specific search space member where you
need to mention the search space members object ID:
DELETE https://<connection-server>/vmrest/searchspaces/<seacrchspaceobjectid>
/searchspacemembers/<searchspacememberobjectid>
Response Code: 204
JSON Example
To delete a search space member, use the following command:
Cisco Unity Connection Provisioning Interface (CUPI) API
642
Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan
Deleting the Search Space

Page 675
DELETE: https://<connectionserver>/
vmrest/searchspaces/seacrchspaceobjectid/searchspacemembers/<searchspacememberobjectid>
Accept: application/json
Connection: keep_alive
Response Code: 204
Explanation of Data Fields
Search Space
The following chart lists all of the data fields for search space:
Comments
Data
Type
Operations
Parameter
The search space URL.
String
Read
Only
URI
The primary key for this table. A systemgenerated, globally unique
object identifier.
String
(36)
Read
Only
ObjectId
The unique text name of this search space.
String
(50)
Read/Write
Name
The description of the search space.
String
(50)
Read/Write
Description
The unique identifier on which this search space was created.
String
(36)
Read
Only
LocationObjectId
The location of the URL.
String
Read
Only
LocationURI
The time when the ownership of this search space changed. If
ownership has never changed, this value will show the creation time.
Date/Time
TimeOwnershipChanged
URI of the search space member
String
Read
Only
SearchSpaceMemberURI
Search Space Members
Comments
Data
Type
Operations
Parameter
URI of Search Space's member
String
Read
Only
URI
Object Id of the search space's member
String
(36)
Read
Only
ObjectId
Object Id of the partition
String
(36)
Read
Only
PartitionObjectId
URI of the partition.
String
Read
Only
PartitionURI
Cisco Unity Connection Provisioning Interface (CUPI) API
643
Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan
Explanation of Data Fields
Page 676
Comments
Data
Type
Operations
Parameter
Object Id of the search space
String
(36)
Read
Only
SearchSpaceObjectId
URI of the search space
String
Read
Only
SearchSpaceURI
Order preference of the member Partition.
Integer
Read
Only
SortOrder
Cisco Unity Connection Provisioning Interface (CUPI) API --
Search Space Member API
Search Space API
In Cisco Unity Connection, you create partitions as a way to group together objects to which callers and users
can address messages or place calls while interacting with Connection. One or more partitions can be grouped
together as members of a search space, and a partition can be a member of more than one search space. Search
Space's Members provide the list of partitions and their respective search spaces so that search spaces can be
queried on the basis of the partitions that it contains.
Listing the Search Spaces Members Based on Partition Object ID
The following is an example of the GET request that lists all the search space members:
Cisco Unity Connection Provisioning Interface (CUPI) API
644
Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan
Cisco Unity Connection Provisioning Interface (CUPI) API -- Search Space Member API
Page 677
GET:
https://<connectionserver>/vmrest/searchspacesmembers?query=(PartitionObjectId%20is%20partiti
onobjectid)
The following is the response from the above GET request and the actual response will
depend
upon the information given by you:
<SearchSpacesMembers total="2">
<SearchSpacesMember>
<URI>/vmrest/searchspacesmembers/ef101893-8687-49f6-b658-b05e110690d5</URI>
<ObjectId> ef101893-8687-49f6-b658-b05e110690d5</ObjectId>
<PartitionObjectId>a7108db5-c354-4b71-a72f-2c945291bda2</PartitionObjectId>
<PartitionURI>/vmrest/partitions/a7108db5-c354-4b71-a72f-
2c945291bda2</PartitionURI>
<SearchSpaceObjectId>d4885446-a1f9-4e4c-810f-168bcc8489af</SearchSpaceObjectId>
<SearchSpaceURI>/vmrest/searchspaces/d4885446-a1f9-4e4c-810f-
168bcc8489af</SearchSpaceURI>
<SortOrder>1</SortOrder>
</SearchSpacesMember>
<SearchSpacesMember>
<URI>/vmrest/searchspacesmembers/b3431606-ccd2-4c06-9a12-9c336c78968c</URI>
<ObjectId>b3431606-ccd2-4c06-9a12-9c336c78968c</ObjectId>
<PartitionObjectId>a7108db5-c354-4b71-a72f-2c945291bda2</PartitionObjectId>
<PartitionURI>/vmrest/partitions/a7108db5-c354-4b71-a72f-
2c945291bda2</PartitionURI>
<SearchSpaceObjectId>9b3eb53b-445f-416e-b5f3-
15c64428d190</SearchSpaceObjectId>
<SearchSpaceURI>/vmrest/searchspaces/9b3eb53b-445f-416e-b5f3-
15c64428d190</SearchSpaceURI>
<SortOrder>1</SortOrder>
</SearchSpacesMember>
</SearchSpacesMembers>
Response Code: 200
JSON Example
To list all the search space members use the following command, do the following:
GET:
https://<connectionserver>/vmrest/searchspacesmembers?query=(PartitionObjectId%20is%20partitiono
bjectid)
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
645
Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan
Listing the Search Spaces Members Based on Partition Object ID
Page 678
{
"@total":"2"
"SearchSpacesMember":[
{
"URI":"/vmrest/searchspacesmembers/063ac262-41a9-41a2-810a-5380ffec322d"
"ObjectId":"063ac262-41a9-41a2-810a-5380ffec322d"
"PartitionObjectId":"97bf6afe-346e-4275-967e-43c50be79d32"
"PartitionURI":"/vmrest/partitions/97bf6afe-346e-4275-967e-43c50be79d32"
"SearchSpaceObjectId":"2e836e16-f715-4a18-bb7c-ee5e33281706"
"SearchSpaceURI":"/vmrest/searchspaces/2e836e16-f715-4a18-bb7c-ee5e33281706"
"SortOrder":"1"
},
{
"URI":"/vmrest/searchspacesmembers/62a37620-50b0-4992-8c39-242cea8c7da9"
"ObjectId":"62a37620-50b0-4992-8c39-242cea8c7da9"
"PartitionObjectId":"44bdcf73-d5c1-4866-957d-fb35686cbe76"
"PartitionURI":"/vmrest/partitions/44bdcf73-d5c1-4866-957d-fb35686cbe76"
"SearchSpaceObjectId":"97efa220-31a7-4409-a0cd-2cdfc669182f"
"SearchSpaceURI":"/vmrest/searchspaces/97efa220-31a7-4409-a0cd-2cdfc669182f"
"SortOrder":"1"
}
]
}
Response Code: 200
Explanation of Data Fields
Comments
Data Type
Operations
Parameter
URI of Search Space's member
String
Read
Only
URI
Object Id of the search space's member
String
(36)
Read
Only
ObjectId
Object Id of the partition.
String
(36)
Read
Only
PartitionObjectId
URI of the partition.
String
Read
Only
PartitionURI
Object Id of the search space
String
(36)
Read
Only
SearchSpaceObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
646
Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan
Explanation of Data Fields
Page 679
C H A P T E R 45
Cisco Unity Connection Provisioning Interface
(CUPI) API for System Settings
• Cisco Unity Connection Provisioning Interface (CUPI) API -- General Configuration, on page 647
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Cluster, on page 651
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Configuration Values, on page 656
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Authentication Rules, on page 661
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Roles , on page 666
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Restriction Patterns, on page 673
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Restriction Tables, on page 678
• Cisco Unity Connection Provisioning Interface (CUPI) API -- License Dump APIs, on page 684
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Smart Licensing , on page 689
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Custom Subject Line, on page 699
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Language Map , on page 704
• Cisco Unity Connection Provisioning Interface (CUPI) API -- LDAP Phone Number Transform , on
page 706
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Authorization Server, on page 708
• Cisco Unity Connection Provisioning Interface (CUPI) API -- System Default Language and TTS
Language, on page 711
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Wave Formats , on page 712
Cisco Unity Connection Provisioning Interface (CUPI) API --
General Configuration
Default Unity Connection Sender Name
This section contains information on how to use the API to change the display name of Unity Connection
Default User. Display name of default user is used as the sender name for System Generated Notifications
from Connection and Outside Caller Messages. This API updates the "Unity Connection Default Sender
Name" field under General Configuration.
Cisco Unity Connection Provisioning Interface (CUPI) API
647

Page 680
Viewing the sender name for System Generated Notifications
The following is an example of the GET request that lists the details of sender name for System Generated
Notifications:
GET https://<connection-server>/vmrest/setDefaultSenderName
The following is response for the above GET request:
<User>
<ObjectId>b296be34-0f21-449a-acce-23b8eadf1af9</ObjectId>
<DisplayName>Cisco Unity Connection Messaging System</DisplayName>
</User>
Response Code: 200
JSON Example
The following is an example to GET the display name and object id of "Unity Connection" users.
Request URI:
GET
https://<connection-server>/vmrest/setDefaultSenderName
Accept : application/json
Connection : keep-alive
The following is response from the above GET request and the actual response will depend upon the information
given by you:
{
"ObjectId": "b296be34-0f21-449a-acce-23b8eadf1af9",
"DisplayName": "NewUser"
}
Response Code: 200
Updating the Sender Name for System Generated Notification
The following is an example of the PUT request that allows you to update the system generated notification:
Example : Update the system generated notification
PUT https://<connection-server>/vmrest/setDefaultSenderName
The following is response for the above PUT request.
Request Body:
<User>
<DisplayName>NewUser</DisplayName>
</User>
Response Code: 204
JSON Example
Following is an example to update the display name.
Cisco Unity Connection Provisioning Interface (CUPI) API
648
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Viewing the sender name for System Generated Notifications
Page 681
Request URI:
PUT https://<connection-server>/vmrest/setDefaultSenderName
Accept : application/json
Content-Type : application/json
Connection : keep-alive
{
"DisplayName": "NewUser"
}
The following is response for the above PUT request:
Request URI: 204
Ciphers
This section contains information on how to use the API to change the value of ciphers supported with Unity
Connection. Using this API, you can change the value of following ciphers:
• TLS ciphers over SIP interface
• SRTP ciphers over RTP interface
• HTTPS Ciphers over HTTPS interface
This API updates the "TLS Ciphers", "SRTP Ciphers", and "HTTPS Ciphers" field under General Configuration.
Viewing the Selected Option of TLS, SRTP, and HTTPS Cipher values
The following is an example of GET request to get the details of TLS, SRTP, and HTTPS ciphers.
GET https://<connection-server>/vmrest/generalconfigurations/
The following is response for the above GET request:
<GeneralConfigurations total="1">
<GeneralConfiguration>
<URI>/vmrest/generalconfigurations/b572544f-49ce-4ec4-874e-41e414597c14</URI>
<ObjectId>b572544f-49ce-4ec4-874e-41e414597c14</ObjectId>
<TlsCiphers>0</TlsCiphers>
<SrtpCiphers>0</SrtpCiphers>
<HttpsCiphers>0</HttpsCiphers>
</GeneralConfiguration>
</GeneralConfigurations>
Response Code: 200
JSON Example
The following is an example to GET the values for TLS and SRTP Ciphers.
Request URI:
GET https://<connection-server>/vmrest/generalconfigurations/
Accept : application/json
Connection : keep-alive
Cisco Unity Connection Provisioning Interface (CUPI) API
649
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Ciphers
Page 682
{
{
"GeneralConfigurations": {
"-total": "1",
"GeneralConfiguration": {
"URI": "/vmrest/generalconfigurations/b572544f-49ce-4ec4-874e-41e414597c14",
"ObjectId": "b572544f-49ce-4ec4-874e-41e414597c14",
"TlsCiphers": "0",
"SrtpCiphers": "0"
"HttpsCiphers": "0"
}
}
}
}
Response Code: 200
Updating the Values For TLS, SRTP, HTTPS Ciphers and TLS Version
The following is an example of the PUT request that allows you to update the value of TLS, SRTP, HTTPS
Ciphers and TLS Version.
Example : Update the TLS, SRTP, HTTPS Ciphers and TLS Version.
PUT https://<connection-server>/vmrest/generalconfigurations/<objectid>
The following is the response of above PUT request.
<GeneralConfiguration>
<TlsCiphers>1</TlsCiphers>
<SrtpCiphers>1</SrtpCiphers>
<HttpsCiphers>1</HttpsCiphers>
</GeneralConfiguration>
Response Code: 204
• Make sure to restart the Connection Conversation Manager service in Cisco Unity Connection
Serviceability for TLS, SRTP ciphers and TLS Version changes to take effect.
• Make sure to restart the tomcat service for HTTPS cipher changes to take effect.
• Make sure to restart the Tomcat service using CLI 'utils service restart Cisco Tomcat' for TLS Version
changes to take effect.
Note
JSON Example
The following is an example to update the TLS and SRTP Ciphers values.
Request URI:
PUT https://<connection-server>/vmrest/generalconfigurations/<objectid>
Cisco Unity Connection Provisioning Interface (CUPI) API
650
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Updating the Values For TLS, SRTP, HTTPS Ciphers and TLS Version

Page 683
Accept : application/json
Content-Type : application/json
Connection : keep-alive
{
"GeneralConfiguration": {
"TlsCiphers": "1",
"SrtpCiphers": "1"
"HttpsCiphers": "1"
}
}
The following is the response of the above PUT request :
Response Code: 204
Corresponding Enum values for TLS, SRTP and HTTPS Ciphers
The following table describes the associated Enum values of the TLS and SRTP ciphers with Unity Connection
11.5(1).
Drop-Down Menu option for
HTTPS Cipher
Drop-Down Menu option for
SRTP Cipher
Drop-Down Menu option for TLS
Cipher
Enum
Value
All Supported EC and RSA
ciphers
All supported AES-256,
AES-128 ciphers
Strongest- AES-256 SHA-384 Only:
RSA Preferred
0
RSA ciphers Only
AEAD AES256 GCM based
ciphers only
Strongest- AES-256 SHA-384 Only:
ECDSA Preferred
1
AEAD AES-256, AES-128
GCM-based ciphers:
Medium- AES-256 AES-128 Only:
RSA Preferred
2
Medium- AES-256 AES-128 Only:
ECDSA Preferred
3
All Ciphers RSA Preferred
4
All Ciphers ECDSA Preferred
5
Cisco Unity Connection Provisioning Interface (CUPI) API --
Cluster
About Clusters
Administrator can use this API to fetch the details of a Unity Connection cluster. This page contains information
on how to use the CUPI API to view cluster information.
Listing Cisco Unity Connection Cluster locations
The following is an example of a GET that displays cluster information:
Cisco Unity Connection Provisioning Interface (CUPI) API
651
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Corresponding Enum values for TLS, SRTP and HTTPS Ciphers
Page 684
GET http://<connection-server>/vmrest/cluster
The following is the response from the above GET request:
200
OK
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<VmsServers total="2">
<VmsServer>
<URI>/vmrest/vmsservers/3ee10726-9634-4066-bfcb-c936bc074be6</URI>
<ObjectId>3ee10726-9634-4066-bfcb-c936bc074be6</ObjectId>
<ServerName> qa-ks-vm-279</ServerName>
<IpAddress>10.65.156.193</IpAddress>
<VmsServerObjectId>3ee10726-9634-4066-bfcb-c936bc074be6</VmsServerObjectId>
<ClusterMemberId>0</ClusterMemberId>
<ServerState>1</ServerState>
<HostName> qa-ks-vm-279.cisco.com</HostName>
<ServerDisplayState>3</ServerDisplayState>
<IpAddressV6>fe80::250:56ff:feab:1c6</ IpAddressV6>
<SubToPerformReplicationRole>false</SubToPerformReplicationRole>
</VmsServer>
<VmsServer>
<URI>/vmrest/vmsservers/a57a68c6-782f-4757-945c-270e0fba2734</URI>
<ObjectId>a57a68c6-782f-4757-945c-270e0fba2734</ObjectId>
<ServerName> qa-ks-vm-279.cisco.com </ServerName>
<IpAddress>10.65.156.252</IpAddress>
<VmsServerObjectId>a57a68c6-782f-4757-945c-270e0fba2734</VmsServerObjectId>
<ClusterMemberId>1</ClusterMemberId>
<ServerState>8</ServerState>
<HostName> qa-ks-vm-279.cisco.com </HostName>
<ServerDisplayState>4</ServerDisplayState>
<IpAddressV6>fe85::450:56ff:feab:1c6</ IpAddressV6>
<SubToPerformReplicationRole>false</SubToPerformReplicationRole>
</VmsServer>
</VmsServers>
In case of a standalone location, only the data related to that location gets displayed.
JSON Example
The following is an example of a GET that displays the list of servers in the cluster:
GET http://<connection-server>/vmrest/vmsservers
Accept: application/json
Content-type: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
652
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Listing Cisco Unity Connection Cluster locations
Page 685
200
OK
{
"@total": "2",
"VmsServer":[
{
"URI": "/vmrest/vmsservers/ef03ca05-3c05-4465-9985-9de371e2e94e",
"ObjectId": "ef03ca05-3c05-4465-9985-9de371e2e94e",
"ServerName": " qa-ks-vm-19",
"IpAddress": "10.78.171.134",
"VmsServerObjectId": "ef03ca05-3c05-4465-9985-9de371e2e94e",
"ClusterMemberId": "0",
"ServerState": "20",
"HostName": " qa-ks-vm-19.cisco.com",
"ServerDisplayState": "3",
"IpAddressV6":"fe80::250:56ff:feab:1c6"
"SubToPerformReplicationRole": "false"
},
{
“URI” : “/vmrest/vmsservers/a57a68c6-782f-4757-945c-270e0fba2734”,
“ObjectId” : “a57a68c6-782f-4757-945c-270e0fba2734”,
“ServerName” : “qa-ks-vm-279.cisco.com”,
“IpAddress” : “10.65.156.25”,
“VmsServerObjectId” : “a57a68c6-782f-4757-945c-270e0fba2734”,
“ClusterMemberId” : “1”,
“ServerState” : “8”,
“HostName” : “qa-ks-vm-279.cisco.com”,
“ServerDisplayState>”: “4”,
"IpAddressV6":"fe85::450:56ff:feab:1c6"
“SubToPerformReplicationRole”: “false”
} ]
}
Viewing a specific location in Cisco Unity Connection Cluster
Administrator can use this API to fetch details of a particular server in a Unity Connection cluster. The
following is an example of the GET request :
GET https://<connection-server>/vmrest/vmsservers/<vmsServerObjectId>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
200
ok
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<VmsServer>
<URI>/vmrest/vmsservers/3ee10726-9634-4066-bfcb-c936bc074be6</URI>
<ObjectId>3ee10726-9634-4066-bfcb-c936bc074be6</ObjectId>
<ServerName> qa-ks-vm-279</ServerName>
<IpAddress>10.65.156.193</IpAddress>
<VmsServerObjectId>3ee10726-9634-4066-bfcb-c936bc074be6</VmsServerObjectId>
<ClusterMemberId>0</ClusterMemberId>
<ServerState>1</ServerState>
<HostName> qa-ks-vm-279.cisco.com</HostName>
<ServerDisplayState>3</ServerDisplayState>
<IpAddressV6>fe85::450:56ff:feab:1c6</ IpAddressV6>
<SubToPerformReplicationRole>false</SubToPerformReplicationRole>
</VmsServer>
Cisco Unity Connection Provisioning Interface (CUPI) API
653
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Viewing a specific location in Cisco Unity Connection Cluster
Page 686
JSON Example
The following is an example of the GET command to view the details of particular server in the cluster.
GET https://< connection-server >/vmrest/vmsservers/<vmsServerObjectId>
Accept: application/json
Content-type: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
200
Ok
{
{
"URI": "/vmrest/vmsservers/ef03ca05-3c05-4465-9985-9de371e2e94e",
"ObjectId": "ef03ca05-3c05-4465-9985-9de371e2e94e",
"ServerName": " qa-ks-vm-19",
"IpAddress": "10.78.171.134",
"VmsServerObjectId": "ef03ca05-3c05-4465-9985-9de371e2e94e",
"ClusterMemberId": "0",
"ServerState": "20",
"HostName": " qa-ks-vm-19.cisco.com",
"ServerDisplayState": "3",
"IpAddressV6":"fe80::250:56ff:feab:1c6"
"SubToPerformReplicationRole": "false"
}
}
Explanation of Data Fields
Comments
Operations
Data
Type
Parameter
Acts as a primary key for the API. The ObjectID is a unique
system-generated identifier for a VMSServer object.
Read
Only
char
Object id
Specifies the name of the server.
Read
Only
nvarchar
ServerName
Specifies the IP address of the server.
Read
Only
varchar
IpAddress
Acts as a primary key for the API. The VmsServerObjectId is a
unique system-generated identifier for a VMSServer object.
Read
Only
char
VmsServerObjectId
Specifies a unique number assigned to each server in the cluster
as per their failover order.
Values can be:
• 0-Primary
• 1-Secondary
Read
Only
smallint
ClusterMemberId
Cisco Unity Connection Provisioning Interface (CUPI) API
654
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Explanation of Data Fields
Page 687
Comments
Operations
Data
Type
Parameter
Specifies the current state of the server.
Values can be:
• 0-Pri_Init
• 1-Pri_Active
• 2-Pri_Act_Secondary
• 3-Pri_Idle
• 4-Pri_Failover
• 5-Pri_Takeover
• 6-Pri_SBR
• 7-Sec_Init
• 8-Sec_Active
• 9-Sec_Act_Primary
• 10-Sec_Idle
• 11-Sec_Takeover
• 12-Sec_Failover
• 13-Sec_SBR
• 14-Db_Sync
• 15-Set_Peer_Idle
• 16-Undefined
• 17-Pri_Active_Disconnected
• 18-Pri_Connecting
• 19-Pri_Choose_Role
• 20-Pri_Single_Server
• 21-Sec_Act_Primary_Disconnected
• 22-Sec_Connecting
• 23-Sec_Choose_Role
• 24-Shutdown
Read
Only
int
ServerState
Indicates the hostname of the VMS server
Read
Only
varchar
HostName
Specifies the values for the admin to display current server status.
Values can be:
• 0 - UNKNOWN
• 1 - DOWN
• 2 - INITIALIZING
• 3 - PRIMARY
• 4 - SECONDARY
• 5 - IDLE
• 6 - IN_DB_SYNC
• 7 - IN_SBR
Read
Only
int
ServerDisplayState
Cisco Unity Connection Provisioning Interface (CUPI) API
655
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Explanation of Data Fields
Page 688
Comments
Operations
Data
Type
Parameter
Specifies the IPV6 address of the server.
Read
Only
varchar
IpAddressV6
Note - Defined for future purpose.
Indicates whether the subscriber machine is enabled for directory
replication; On Publisher machine its value is always false. Values
can be:
• 0- false
• 1- true
Read
Only
boolean
SubToPerformReplicationRole
Cisco Unity Connection Provisioning Interface (CUPI) API --
Configuration Values
About Configuration Values
This page contains information on how to use the API to read configuration values which are also referred to
system settings. You cannot create or delete configuration values.
Most configuration values are read-only in the API. Beginning with Unity Connection 8.5, following are the
configuration values that can be updated:
• System.API.CumiAccessSecureMessageAttachments
• System.API.CumiAllowSecureMessageHeaders
• System.Conversations.UserMaxConcurrentSessionsTUI (Unity Connection 11.5(1) and later only)
• System.SA.UserInactivityTimeout (Unity Connection 11.5(1) and later only)
Listing and Viewing
The following is an example of GET that lists all system configuration values:
GET https://<server>/vmrest/configurationvalues
Beginning with Connection 8.5, you can perform GET on individual settings using their full name in the URI
(instead of getting the whole collection):
GET https://<server>/vmrest/configurationvalues/<full name>
You can access the configuration values as part of a list using the regular configuration value query. For
example, to find all configuration values with a fullname that starts with "System.API.Cumi":
GET https://<server>/vmrest/configurationvalues?query=(fullname startswith System.API.Cumi)
Cisco Unity Connection Provisioning Interface (CUPI) API
656
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- Configuration Values
Page 689
Updating
Only following configuration values have write access:
• System.API.CumiAccessSecureMessageAttachments
• System.API.CumiAllowSecureMessageHeaders
• System.Conversations.UserMaxConcurrentSessionsTUI (Unity Connection 11.5(1) and later only)
• System.SA.UserInactivityTimeout (Unity Connection 11.5(1) and later only)
For System.Conversations.UserMaxConcurrentSessionsTUI, the minimum configuration value is 0 and
maximum configuration value is 99. Whereas for System.SA.UserInactivityTimeout, the minimum configuration
value is 0 and maximum configuration value is 9999 (value 0 auto disables the feature).
Note
Attempting PUT on any other configuration values will result in a 403 (access denied) error.
When modifying a configuration value, only the value field is used (see PUT examples below). All other
fields cannot be modified and will be ignored.
HTTP Examples
GET Examples
Example of GET for a list:
Cisco Unity Connection Provisioning Interface (CUPI) API
657
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Updating

Page 690
GET
/vmrest/configurationvalues?query=(fullname%20startswith%20System.API.Cumi)
HTTP/1.1
Accept: application/json
User-Agent: Java/1.6.0_20
Host: cuc-install-69.cisco.com
Connection: keep-alive
HTTP/1.1 200 OK
Pragma: No-cache
Cache-Control: no-cache
Expires: Wed, 31 Dec 1969 16:00:00 PST
Set-Cookie: JSESSIONIDSSO=658B27F18EF8424C11D261FEC776285D; Path=/
Set-Cookie: JSESSIONID=DE6BE806075303C8A73E666E0B478725; Path=/vmrest
Content-Type: application/json
Transfer-Encoding: chunked
Date: Thu, 20 May 2010 10:26:42 GMT
Server:
{"@total":"2","ConfigurationValue":[{"Type":"11","LastModifiedTime":"2010-05-20T10:36:19Z","LastModifiedByComponent":"VMREST","FullName":"System.API.CumiAccessSecureMessageAttachments","Value":"0","UserSetting":"true","MinVal":"0","MaxVal":"0","RequiresRestart":"false"},{"Type":"11","LastModifiedTime":"2010-05-20T10:11:02Z","LastModifiedByComponent":"CUADMIN","FullName":"System.API.CumiAllowSecureMessageHeaders","Value":"1","UserSetting":"true","MinVal":"0","MaxVal":"0","RequiresRestart":"false"}]}
XML
<ConfigurationValues total="2">
<ConfigurationValue>
<Type>11</Type>
<LastModifiedTime>2010-05-21T17:29:52Z</LastModifiedTime>
<LastModifiedByComponent>VMREST</LastModifiedByComponent>
<FullName>System.API.CumiAccessSecureMessageAttachments</FullName>
<Value>1</Value>
<UserSetting>true</UserSetting>
<MinVal>0</MinVal>
<MaxVal>0</MaxVal>
<RequiresRestart>false</RequiresRestart>
</ConfigurationValue>
<ConfigurationValue>
<Type>11</Type>
<FullName>System.API.CumiAllowSecureMessageHeaders</FullName>
<Value>1</Value>
<UserSetting>true</UserSetting>
<MinVal>0</MinVal>
<MaxVal>0</MaxVal>
<RequiresRestart>false</RequiresRestart>
</ConfigurationValue>
</ConfigurationValues>
Example of GET for individual setting:
Cisco Unity Connection Provisioning Interface (CUPI) API
658
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
GET Examples
Page 691
GET /vmrest/configurationvalues/System.Messaging.RelaySecureMessage
HTTP/1.1
Accept: application/json
User-Agent: Java/1.6.0_20
Host: cuc-install-69.cisco.com
Connection: keep-alive
Authorization: Basic Y2NtYWRtaW5pc3RyYXRvcjplY3NidWxhYg==
HTTP/1.1 200 OK
Pragma: No-cache
Cache-Control: no-cache
Expires: Wed, 31 Dec 1969 16:00:00 PST
Set-Cookie: JSESSIONIDSSO=B7839B7E290A9763ABD7751A6FBCAA5C; Path=/
Set-Cookie: JSESSIONID=E01E5B7E9F57692810ECF8AEAEDBD2B0; Path=/vmrest
Content-Type: application/json
Transfer-Encoding: chunked
Date: Thu, 20 May 2010 10:39:48 GMT
Server:
{"Type":"11","LastModifiedTime":"2010-05-20T10:11:02Z","LastModifiedByComponent":"CUADMIN","FullName":"System.Messaging.RelaySecureMessage","Value":"0","UserSetting":"true","RequiresRestart":"false"}
XML
<ConfigurationValue>
<Type>11</Type>
<FullName>System.Messaging.RelaySecureMessage</FullName>
<Value>0</Value>
<UserSetting>true</UserSetting>
<RequiresRestart>false</RequiresRestart>
</ConfigurationValue>
Example of GET for User Inactivity Timeout:
GET /vmrest/configurationvalues/System.SA.UserInactivityTimeout
HTTP/1.1 200 OK
Cache-Control: private
Expires: Thu, 01 Jan 1970 05:30:00 IST
Set-Cookie: JSESSIONIDSSO=F41326B2A9A8472368FE580917E944B7; Path=/; Secure; HttpOnly
Set-Cookie: JSESSIONID=CEADA77CB21BD27EE1C3386B3CFED149; Path=/vmrest/; Secure; HttpOnly
Set-Cookie: REQUEST_TOKEN_KEY=-1968493036399359092; Path=/; Secure; HttpOnly
X-Frame-Options: SAMEORIGIN
Content-Type: application/xml
Content-Length: 400
Date: Thu, 10 Dec 2015 06:38:42 GMT
Server:
<?xml version="1.0" encoding="UTF-8"
standalone="yes"?><ConfigurationValue><Type>3</Type><LastModifiedTime>2015-12-10T06:23:26Z</LastModifiedTime><LastModifiedByComponent>VMREST</LastModifiedByComponent><FullName>System.SA.UserInactivityTimeout</FullName><Value>55</Value><UserSetting>true</UserSetting><MinVal>1</MinVal><MaxVal>500</MaxVal><RequiresRestart>false</RequiresRestart></ConfigurationValue>
XML
<ConfigurationValue>
<Type>3</Type>
<LastModifiedTime>2015-12-10T06:23:26Z</LastModifiedTime>
<LastModifiedByComponent>VMREST</LastModifiedByComponent>
<FullName>System.SA.TUIInterfaceDisable</FullName>
<Value>55</Value>
<UserSetting>true</UserSetting>
<MinVal>1</MinVal>
<MaxVal>500</MaxVal>
<RequiresRestart>false</RequiresRestart>
</ConfigurationValue>
Cisco Unity Connection Provisioning Interface (CUPI) API
659
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
GET Examples
Page 692
PUT Examples
An example of PUT for configuration value:
PUT /vmrest/configurationvalues/System.API.CumiAccessSecureMessageAttachments HTTP/1.1
Content-Type: application/json
User-Agent: Java/1.6.0_20
Host: cuc-install-69.cisco.com
Accept: text/html, image/gif, image/jpeg, ; q=.2, /; q=.2
Connection: keep-alive
Authorization: Basic Y2NtYWRtaW5pc3RyYXRvcjplY3NidWxhYg==
Content-Length: 13
{"Value":"1"}
XML
<ConfigurationValue>
<Value>0</Value>
</ConfigurationValue>
HTTP/1.1 204 No Content
Pragma: No-cache
Cache-Control: no-cache
Expires: Wed, 31 Dec 1969 16:00:00 PST
Set-Cookie: JSESSIONIDSSO=E3EB2F2AB5593902F00ECE80298ED82B; Path=/
Set-Cookie: JSESSIONID=4B3EA5586E13B955D2CC9A8C46EE12FE; Path=/vmrest
Date: Thu, 20 May 2010 10:58:05 GMT
Server:
An example of PUT for configuration values that does not support PUT:
PUT /vmrest/configurationvalues/System.Messaging.RelaySecureMessage
HTTP/1.1
Content-Type: application/json
User-Agent: Java/1.6.0_20
Host: cuc-install-69.cisco.com
Accept: text/html, image/gif, image/jpeg, *; q=.2, */; q=.2
Connection: keep-alive
Authorization: Basic Y2NtYWRtaW5pc3RyYXRvcjplY3NidWxhYg==
Content-Length: 240
HTTP/1.1 403 Forbidden
Pragma: No-cache
Cache-Control: no-cache
Expires: Wed, 31 Dec 1969 16:00:00 PST
Set-Cookie: JSESSIONIDSSO=6BE354F4A2C20A2190C9DFF78D91D7AB; Path=/
Set-Cookie: JSESSIONID=32DF55D02DA33C43938F43C2FC7A13FF; Path=/vmrest
Content-Type: application/xml
Transfer-Encoding: chunked
Date: Thu, 20 May 2010 10:26:43 GMT
Server:
An example of PUT for User Inactivity Timeout:
Cisco Unity Connection Provisioning Interface (CUPI) API
660
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
PUT Examples
Page 693
PUT /vmrest/configurationvalues/System.SA.UserInactivityTimeout
HTTP/1.1 204 No Content
Cache-Control: private
Expires: Thu, 01 Jan 1970 05:30:00 IST
Set-Cookie: JSESSIONIDSSO=2F68733BA443959388E841535A717DCC; Path=/; Secure; HttpOnly
Set-Cookie: JSESSIONID=A982BB1A93DAB2C294A64BD5D7DD03D0; Path=/vmrest/; Secure; HttpOnly
Set-Cookie: REQUEST_TOKEN_KEY=138477933938641394; Path=/; Secure; HttpOnly
X-Frame-Options: SAMEORIGIN
Content-Type: application/xml
Date: Thu, 10 Dec 2015 06:55:12 GMT
Server:
XML
<ConfigurationValue>
<Value>36</Value>
</ConfigurationValue>
An example of PUT for TUI/VUI Logon Session Limit:
PUT /vmrest/configurationvalues/System.Conversations.UserMaxConcurrentSessionsTUI
XML
<ConfigurationValue>
<Value>3</Value>
</ConfigurationValue>
Cisco Unity Connection Provisioning Interface (CUPI) API --
Authentication Rules
About Authentication Rules
This section contains information on how to create, list, modify, and delete Authentication Rules. In Cisco
Unity Connection, authentication rules govern user passwords, PINs, and account lockouts for all user accounts.
You use authentication rules to secure how users access Connection by phone, and how users access Cisco
Unity Connection Administration and the Cisco Personal Communications Assistant (PCA).
For example, an authentication rule determines:
• The number of failed sign-in attempts that are allowed before an account is locked
• The number of minutes an account remains locked before it is reset
• Whether a locked account must be unlocked manually by an administrator
• The minimum length allowed for passwords and PINs
• The number of days before a password or PIN expires
Listing Authentication Rules
Example 1
Cisco Unity Connection Provisioning Interface (CUPI) API
661
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- Authentication Rules
Page 694
The following is an example of the GET request that lists the Authentication Rules:
https://<connection_server>/vmrest/authenticationrules
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
662
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Listing Authentication Rules
Page 695
<AuthenticationRules total="2">
<AuthenticationRule>
<URI>/vmrest/authenticationrules/db3999dc-7afc-4a1e-be64-c5647c7f2226</URI>
<ObjectId>db3999dc-7afc-4a1e-be64-c5647c7f2226</ObjectId>
<HackResetTime>30</HackResetTime>
<LocationObjectId>be27976c-6e6e-419f-853d-b3764881dfb0</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/be27976c-6e6e-419f-853d-b3764881dfb0</LocationURI>
<LockoutDuration>30</LockoutDuration>
<MaxDays>120</MaxDays>
<MaxHacks>7</MaxHacks>
<MinLength>8</MinLength>
<PrevCredCount>5</PrevCredCount>
<TrivialCredChecking>true</TrivialCredChecking>
<DisplayName>Papa Recommended Web Application Authentication Rule</DisplayName>
<MinDuration>1440</MinDuration>
<ExpiryWarningDays>15</ExpiryWarningDays>
<MinCharsToChange>1</MinCharsToChange>
</AuthenticationRule>
<AuthenticationRule>
<URI>/vmrest/authenticationrules/df3611a3-d372-4a38-a7a4-7d4aba4febd2</URI>
<ObjectId>df3611a3-d372-4a38-a7a4-7d4aba4febd2</ObjectId>
<HackResetTime>30</HackResetTime>
<LocationObjectId>be27976c-6e6e-419f-853d-b3764881dfb0</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/be27976c-6e6e-419f-853d-b3764881dfb0</LocationURI>
<LockoutDuration>30</LockoutDuration>
<MaxDays>180</MaxDays>
<MaxHacks>3</MaxHacks>
<MinLength>6</MinLength>
<PrevCredCount>5</PrevCredCount>
<TrivialCredChecking>true</TrivialCredChecking>
<DisplayName>Recommended Voice Mail Authentication Rule</DisplayName>
<MinDuration>1440</MinDuration>
<ExpiryWarningDays>15</ExpiryWarningDays>
<MinCharsToChange>1</MinCharsToChange>
</AuthenticationRule>
<AuthenticationRule>
<URI>/vmrest/authenticationrules/5780fb3f-8f70-4d3d-9c18-2832f9d11642</URI>
<ObjectId>5780fb3f-8f70-4d3d-9c18-2832f9d11642</ObjectId>
<HackResetTime>30</HackResetTime>
<LocationObjectId>be27976c-6e6e-419f-853d-b3764881dfb0</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/be27976c-6e6e-419f-853d-b3764881dfb0</LocationURI>
<LockoutDuration>30</LockoutDuration>
<MaxDays>180</MaxDays>
<MaxHacks>3</MaxHacks>
<MinLength>8</MinLength>
<PrevCredCount>12</PrevCredCount>
<TrivialCredChecking>true</TrivialCredChecking>
<DisplayName>test</DisplayName>
<MinDuration>0</MinDuration>
<ExpiryWarningDays>15</ExpiryWarningDays>
<MinCharsToChange>1</MinCharsToChange>
</AuthenticationRule>
<AuthenticationRule>
<URI>/vmrest/authenticationrules/ac80ee1d-0f09-42d0-ae7c-adb56a82b340</URI>
<ObjectId>ac80ee1d-0f09-42d0-ae7c-adb56a82b340</ObjectId>
<HackResetTime>30</HackResetTime>
<LocationObjectId>be27976c-6e6e-419f-853d-b3764881dfb0</LocationObjectId>
Cisco Unity Connection Provisioning Interface (CUPI) API
663
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Listing Authentication Rules
Page 696
<LocationURI>/vmrest/locations/connectionlocations/be27976c-6e6e-419f-853d-b3764881dfb0</LocationURI>
<LockoutDuration>30</LockoutDuration>
<MaxDays>180</MaxDays>
<MaxHacks>3</MaxHacks>
<MinLength>8</MinLength>
<PrevCredCount>12</PrevCredCount>
<TrivialCredChecking>true</TrivialCredChecking>
<DisplayName>Papa Recommended Web Application Authentication Rule Paapas</DisplayName>
<MinDuration>1440</MinDuration>
<ExpiryWarningDays>15</ExpiryWarningDays>
<MinCharsToChange>1</MinCharsToChange>
</AuthenticationRule>
</AuthenticationRules>
Response code: 200
Example 2
The following is an example of the GET request that lists a specified Authentication Rule as represented by
<objectId>:
https://<connection_server>/vmrest/authenticationrules/<objectId>
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
<AuthenticationRule>
<URI>/vmrest/authenticationrules/db3999dc-7afc-4a1e-be64-c5647c7f2226</URI>
<ObjectId>db3999dc-7afc-4a1e-be64-c5647c7f2226</ObjectId>
<HackResetTime>30</HackResetTime>
<LocationObjectId>be27976c-6e6e-419f-853d-b3764881dfb0</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/be27976c-6e6e-419f-853d-b3764881dfb0</LocationURI>
<LockoutDuration>30</LockoutDuration>
<MaxDays>120</MaxDays>
<MaxHacks>7</MaxHacks>
<MinLength>8</MinLength>
<PrevCredCount>5</PrevCredCount>
<TrivialCredChecking>true</TrivialCredChecking>
<DisplayName>Papa Recommended Web Application Authentication Rule</DisplayName>
<MinDuration>1440</MinDuration>
<ExpiryWarningDays>15</ExpiryWarningDays>
<MinCharsToChange>1</MinCharsToChange>
</AuthenticationRule>
Response code: 200
Adding a new Authentication Rule
The following is an example of the POST request that lists the Authentication Rules:
https://<connection_server>/vmrest/authenticationrules
The following is an example of the response from the above POST request and the actual response will
depend upon the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
664
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Adding a new Authentication Rule
Page 697
<AuthenticationRule>
<DisplayName>New Authentication Rule</DisplayName>
<HackResetTime>30</HackResetTime>
<LockoutDuration>30</LockoutDuration>
<MaxDays>120</MaxDays>
<MaxHacks>7</MaxHacks>
<MinLength>8</MinLength>
<PrevCredCount>5</PrevCredCount>
<TrivialCredChecking>true</TrivialCredChecking>
<MinDuration>1440</MinDuration>
<ExpiryWarningDays>15</ExpiryWarningDays>
<MinCharsToChange>1</MinCharsToChange>
</AuthenticationRule
Response code: 201
Modifying Authentication Rules
The following is an example of the PUT request that modifies the Authentication Rule:
https://<connection_server>/vmrest/ authenticationrules/<objectId>
The actual response will depend upon the information given by you.
<AuthenticationRule> <AuthenticationRule>
<HackResetTime>60</HackResetTime>
<LockoutDuration>60</LockoutDuration>
<MaxDays>120</MaxDays>
<MaxHacks>7</MaxHacks>
<MinLength>8</MinLength>
<PrevCredCount>5</PrevCredCount>
<TrivialCredChecking>true</TrivialCredChecking>
<MinDuration>1440</MinDuration>
<ExpiryWarningDays>15</ExpiryWarningDays>
<MinCharsToChange>1</MinCharsToChange>
</AuthenticationRule>
<HackResetTime>60</HackResetTime>
<LockoutDuration>60</LockoutDuration>
<MaxDays>120</MaxDays>
<MaxHacks>7</MaxHacks>
<MinLength>8</MinLength>
<PrevCredCount>5</PrevCredCount>
<TrivialCredChecking>true</TrivialCredChecking>
<MinDuration>1440</MinDuration>
<ExpiryWarningDays>15</ExpiryWarningDays>
<MinCharsToChange>1</MinCharsToChange>
</AuthenticationRule>
Response code: 204
Deleting Authentication Rules
The following is an example of the DELETE request that deletes a Authentication Rule as represented by
<objectId>:
https://<connection_server>/vmrest/authenticationrules/<objectId>
Cisco Unity Connection Provisioning Interface (CUPI) API
665
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Modifying Authentication Rules
Page 698
The output for this request returns the successful response code.
Response Code: 204
Explanation of Data Fields
The following chart lists all of the data fields available on Authentication Rules.
Comments
Values
Operation
Field Name
Reset Every Failed Sign-in Attempts. Default: 30
1-120
Read/Write
HackResetTime
LockoutDuration. Default: 30
0-1440
Read/Write
LockoutDuration
Credential Expires After. Default=180
0-3653
Read/Write
MaxDays
Failed Sign-In. Default=3
0-100
Read/Write
MaxHacks
Minimum credential length. Default: 8
1-64
Read/Write
MinLength
Stored Number of Previous Credentials. Default=12
0-25
Read/Write
PrevCredCount
Check for Trivial Passwords. Default=false
true/false
Read/Write
TrivialCredChecking
Friendly name for the Authentication Rule.
1-64
Read/Write
DisplayName
Minimum Duration between Credential Changes
0-129600
Read/Write
MinDuration
Expiration Warning Days. Default=15
Read/Write
ExpiryWarningDays
Minimum Number of Character Changes between Successive
Credentials. Default: 1
1-64
Read/Write
MinCharsToChange
Cisco Unity Connection Provisioning Interface (CUPI) API --
Roles
Roles
A role comprises of set of privileges that define the access level to the system. System Administrator can
configure multiple roles based on the administrative needs. The role assignment for a user account can be
done based on the set of operations required. Unity Connection offers two types of roles:
• System Roles: System roles are predefined roles that come installed with Unity Connection. You cannot
create, modify or delete these roles. System roles can only be assigned or unassigned to users by System
Administrator.
• Custom Roles: Custom roles are the roles that you create with a list of privileges based on your
organizational requirements. Custom roles can be assigned or unassigned to users by System Administrator
or a custom role user with role assignment privilege
Cisco Unity Connection Provisioning Interface (CUPI) API
666
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Explanation of Data Fields
Page 699
Only a user with System Administrator role can create, update or delete custom roles.
Note
Listing Privileges
The following is an example of the GET request that lists all the privileges:
GET https://<connection-server>/vmrest/privileges
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<Privileges total="46">
<Privilege>
<ObjectId>56ea5443-4832-40b9-88b7-879068465bc9</ObjectId>
<DisplayName>Manage Users - Full Access</DisplayName>
</Privilege>
<Privilege>
<ObjectId>37ae97bf-a0ca-4adf-a498-a1af3f4d4acd</ObjectId>
<DisplayName>Manage Users: Assign/Unassign Roles</DisplayName>
</Privilege>
.........
.........
.........
<Privilege>
<ObjectId>140a9af7-b76a-49de-9ed3-a020bcd2c1bb</ObjectId>
<DisplayName>Reset User Passwords</DisplayName>
</Privilege>
<Privilege>
<ObjectId>7c0326f7-e7e6-4853-8e4e-b93dd1c13ce6</ObjectId>
<DisplayName>Run Serviceability Page</DisplayName>
</Privilege>
</Privileges>
Response Code: 200
Listing Roles
This API list all the System roles as well as Custom roles. The following is an example of the GET request
that lists all the Roles:
GET https://<connection-server>/vmrest/roles
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
667
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Listing Privileges

Page 700
<Roles total="19">
<Role>
<URI>/vmrest/roles/0d44b89f-6b93-4f16-a8cb-cd07c01e524d</URI>
<ObjectId>0d44b89f-6b93-4f16-a8cb-cd07c01e524d</ObjectId>
<RoleName>Audio Text Administrator</RoleName>
<RoleDescription>Administers call handlers, directory handlers and interview
handlers</RoleDescription>
<IsEnabled>true</IsEnabled>
<ReadOnly>false</ReadOnly>
</Role>
.........
.........
.........
.........
<Role>
<URI>/vmrest/roles/58f51c8a-74e4-4db9-babc-8e7e9aad4385</URI>
<ObjectId>58f51c8a-74e4-4db9-babc-8e7e9aad4385</ObjectId>
<RoleName>New Custom Role</RoleName>
<RoleDescription>New custom role for users</RoleDescription>
<IsEnabled>true</IsEnabled>
<ReadOnly>false</ReadOnly>
<InheritedObjectId>dc32b8c1-bc71-4a81-9538-72ebb88a3f31</InheritedObjectId>
</Role>
</Roles>
Response Code: 200
Listing System Roles
The following is an example of the GET request that lists all the system roles:
GET https://<connection-server>/vmrest/systemroles
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
668
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Listing System Roles
Page 701
<Roles total="11">
<Role>
<ObjectId>7c99cd0b-c480-483d-a7d1-44824d50903d</ObjectId>
<RoleName>Audio Text Administrator</RoleName>
<RoleDescription>Administers call handlers, directory handlers and interview
handlers</RoleDescription>
<IsEnabled>true</IsEnabled>
<ReadOnly>false</ReadOnly>
</Role>
<Role>
<ObjectId>4f077e4e-61c7-4ce8-a58a-2c4bc6089319</ObjectId>
<RoleName>Greeting Administrator</RoleName>
<RoleDescription>Manages call handler recorded greetings via TUI</RoleDescription>
<IsEnabled>true</IsEnabled>
<ReadOnly>false</ReadOnly>
</Role>
........
........
........
<Role>
<ObjectId>15930390-7ef1-4389-abc0-020962e32cc5</ObjectId>
<RoleName>Read Only Administrator</RoleName>
<RoleDescription>Read only access to view all Connection administrative
functions</RoleDescription>
<IsEnabled>true</IsEnabled>
<ReadOnly>false</ReadOnly>
</Role>
Response Code: 200
Listing Custom Roles
The following is an example of the GET request that lists all the custom roles:
GET https://<connection-server>/vmrest/customroles
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
669
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Listing Custom Roles
Page 702
<Roles total="4">
<Role>
<ObjectId>5c5abfb9-eec9-4df5-877d-972f65b73df6</ObjectId>
<RoleName>Custom Role 1</RoleName>
<RoleDescription>New custom role for user 1</RoleDescription>
<IsEnabled>true</IsEnabled>
<ReadOnly>false</ReadOnly>
<InheritedObjectId>5976fb56-e398-4659-841a-5519c97a036f</InheritedObjectId>
</Role>
........
........
........
<Role>
<ObjectId>c616cc89-16f0-4fe5-9213-c5ce4ea5e81e</ObjectId>
<RoleName>Custom role 4</RoleName>
<RoleDescription>New custom role for user 4</RoleDescription>
<IsEnabled>true</IsEnabled>
<ReadOnly>false</ReadOnly>
<InheritedObjectId>dc32b8c1-bc71-4a81-9538-72ebb88a3f31</InheritedObjectId>
</Role>
</Roles>
Response Code: 200
Creating a New Custom Role
The following is an example of POST request that creates a new Custom Role.
POST
https://<connection-server>/vmrest/customroles?systemRoleToInherit=<systemRoleToInherit_objId>
In systemRoleToInherit field, provide the object id of the System Role that you want to inherit while creating
a Custom Role. The privileges of inherited system role are assigned to the custom role. Below are the system
roles that can be inherited:
• Audio Text Administrator
• Greeting Administrator
• Help Desk Administrator
• Technician
• User Administrator
• Tenant Administrator
Note
Request Body
Cisco Unity Connection Provisioning Interface (CUPI) API
670
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Creating a New Custom Role

Page 703
<Role>
<RoleName>Custom Role New</RoleName>
<RoleDescription>Administers call handlers, directory handlers and interview
handlers</RoleDescription>
<AssignPrivileges>
<PrivilegeObjectId>0db37044-b459-4784-a82c-fea1ddb35b73</PrivilegeObjectId>
<PrivilegeObjectId>0d20ccc4-2694-4762-bfaa-649871fd0e99</PrivilegeObjectId>
</AssignPrivileges>
</Role>
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/customroles/9166f041-aec4-4e5a-9600-6cc27ef99ec7
Modifying Custom Role
The following is an example of the PUT request that modifies the Custom Roles.
https://<connection_server>/vmrest/customroles/<objectId>
Request body
• When Inherit System Role is Modified
<Role>
<AssignPrivileges>
<PrivilegeObjectId>0db37044-b459-4784-a82c-fea1ddb35b73</PrivilegeObjectId>
<PrivilegeObjectId>0d20ccc4-2694-4762-bfaa-649871fd0e99</PrivilegeObjectId>
</AssignPrivileges>
<InheritedObjectId>61a3d5bd-74a0-40e4-a770-f927faa52bb3</InheritedObjectId>
</Role>
• When Privileges are Modified (Assigned or Removed)
<Role>
<AssignPrivileges>
<PrivilegeObjectId>0db37044-b459-4784-a82c-fea1ddb35b73</PrivilegeObjectId>
<PrivilegeObjectId>0d20ccc4-2694-4762-bfaa-649871fd0e99</PrivilegeObjectId>
</AssignPrivileges>
<RemovePrivileges>
<PrivilegeObjectId>93c8c92f-a6c7-4458-bbde-1b28dcc5adc6</PrivilegeObjectId>
</RemovePrivileges>
</Role>
Response code: 201
Listing Privileges for Roles
Using this API you can get all the privileges of System and Custom roles.
The following is an example of the GET request that lists all the privileges of roles:
https://<connection-server>/vmrest/roles/<object_id>/privileges
Cisco Unity Connection Provisioning Interface (CUPI) API
671
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Modifying Custom Role
Page 704
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<Privileges total="7">
<Privilege>
<ObjectId>f34d7ee3-43a0-411a-8de9-724937ea8fc8</ObjectId>
<DisplayName>Manage Call Handler Templates And System Call Handlers - View, Create,
Update</DisplayName>
</Privilege>
<Privilege>
<ObjectId>7ea8e97a-f620-4fdf-b70f-7eaff092647f</ObjectId>
<DisplayName>Call Management: Directory Handlers - View, Create, Update</DisplayName>
</Privilege>
<Privilege>
<ObjectId>62778f0d-cdc5-495c-9602-1e95b1c5e641</ObjectId>
<DisplayName>Call Management: Interview Handlers - View, Create, Update</DisplayName>
</Privilege>
<Privilege>
<ObjectId>fef92b42-77c1-40aa-99df-fafdf793e763</ObjectId>
<DisplayName>Call Management: Call Routing Rules - Full Access</DisplayName>
</Privilege>
<Privilege>
<ObjectId>8979151b-8554-4483-b75b-d46d56e1fb98</ObjectId>
<DisplayName>Networking: VPIM - Full Access</DisplayName>
</Privilege>
<Privilege>
<ObjectId>2431bc0b-1251-4c95-aaf9-2a82a893a60d</ObjectId>
<DisplayName>Distribution Lists -
Full Access</DisplayName>
</Privilege>
<Privilege>
<ObjectId>2c2ef5b5-b15c-42b3-9cc3-f7d4de137825</ObjectId>
<DisplayName>System Settings: Advanced - Full Access</DisplayName>
</Privilege>
</Privileges>
Response Code: 200
Deleting a Custom Role
The following is an example of the DELETE request that deletes a Custom Roles:
DELETE https://<connection-server>/vmrest/customroles/<objectId>
The following is the response from the above DELETE request and the actual response will depend upon
the information given by you:
Response Code: 204
Explanation of Data Fields
The following chart lists all of the data fields:
Description
Operations
Data Type
Parameter
Specifies the name of the Role.
Read/Write
String
RoleName
Specifies the description of the Role.
Read/Write
String
RoleDescription
Cisco Unity Connection Provisioning Interface (CUPI) API
672
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Deleting a Custom Role
Page 705
Description
Operations
Data Type
Parameter
Specifies the object id of the System Role that is
inherited while creating or modifying a Custom Role.
Read/Write
String
InheritedObjectId
Specifies the object id of the privileges that are
assigned to the Custom Role.
Read/Write
String
AssignPrivileges
Specifies the object id of the privileges that will be
removed from a custom role.
You can not remove the privileges of
inherited System Role.
Note
Write only
String
RemovePrivileges
Cisco Unity Connection Provisioning Interface (CUPI) API --
Restriction Patterns
Restriction Patterns
Administrator can use this API to create/update/delete/fetch the restriction pattern. Various attributes of
restriction pattern can also be updated using this API.
Listing the Restriction Pattern for a Particular Restriction Table
The following is an example of the GET request that lists all the restriction tables:
GET https://<connection-server>/vmrest/restrictiontables
/<restrictiontableobjectid>/restrictionpatterns
The following is the response from the above GET request:
<RestrictionPatterns total="2">
<RestrictionPattern>
<URI>/vmrest/restrictiontables/38de2a1f-ca74-4be3-bb7cd315df4c0fc5/
restrictionpatterns/6564adb9-9090-42e0-81e6-04e132c4382c</URI>
<Blocked>true</Blocked>
<NumberPattern></NumberPattern>
<RestrictionTableObjectId>38de2a1f-ca74-4be3-bb7cd315df4c0fc5</
RestrictionTableObjectId>
<SequenceNumber>1</SequenceNumber>
<ObjectId>6564adb9-9090-42e0-81e6-04e132c4382c</ObjectId>
</RestrictionPattern>
<RestrictionPattern>
<URI>/vmrest/restrictiontables/38de2a1f-ca74-4be3-bb7cd315df4c0fc5/
restrictionpatterns/15a68e67-16b9-4847-8230-29be9baa88cf</URI>
<Blocked>true</Blocked>
<NumberPattern></NumberPattern>
<RestrictionTableObjectId>38de2a1f-ca74-4be3-bb7cd315df4c0fc5</
RestrictionTableObjectId>
<SequenceNumber>0</SequenceNumber>
<ObjectId>15a68e67-16b9-4847-8230-29be9baa88cf</ObjectId>
</RestrictionPattern>
</RestrictionPatterns>
Cisco Unity Connection Provisioning Interface (CUPI) API
673
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- Restriction Patterns
Page 706
Response Code: 200
Viewing the Specific Restriction Pattern for a Particular Restriction Table
The following is an example of the GET request that lists the details of specific restriction pattern represented
by the provided value of object ID:
GET https://<connection-server>/vmrest/restrictiontables/
<restrictiontableobjectid>/restrictionpatterns/<restrictiontableobjectid>
The following is the response from the above GET request:
<RestrictionPattern>
<URI>/vmrest/restrictiontables/2c2c9504-8fb4-44e3-983c-
93eb4e20325c/restrictionpatterns/2c2c9504-8fb4-44e3-983c-93eb4e20325c</URI>
<Blocked>false</Blocked>
<NumberPattern></NumberPattern>
<RestrictionTableObjectId>255bfdd2-5686-47f2-b40a-
320c194521ba</RestrictionTableObjectId>
<RestrictionTableURI>/vmrest/restrictiontables/255bfdd2-5686-47f2-b40a-
320c194521ba</RestrictionTableURI>
<SequenceNumber>1</SequenceNumber>
<ObjectId>2c2c9504-8fb4-44e3-983c-93eb4e20325c</ObjectId>
</RestrictionPattern>
Response Code: 200
Creating a Restriction Pattern
The following is an example of the POST request that creates a restriction pattern:
POST https://<connectionserver>/
vmrest/restrictiontables/<restrictiontableobjectid>/restrictionpatterns
Example 1: The following is the example of the create request from the above POST request.
Request Body:
<RestrictionPattern>
<NumberPattern>#</NumberPattern>
</RestrictionPattern>
Response Code: 201
JSON Example
To create new restriction pattern, do the following:
Request URI:
POST https://<connectionserver>/
vmrest/restrictiontables/<restrictiontableobjectid>/restrictionpatterns
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"NumberPattern": "*#"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
674
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Viewing the Specific Restriction Pattern for a Particular Restriction Table
Page 707
Response Code: 201
Example 2: The following is the example of the create request with specific restriction table Object ID
Request Body:
<RestrictionPattern>
<NumberPattern>*#??</NumberPattern>
<RestrictionTableObjectId>38de2a1f-ca74-4be3-bb7c-d315df4c0fc5</RestrictionTableObjectId>
</RestrictionPattern>
Response Code: 201
Updating a Restriction Pattern
The following is an example of the PUT request that allows you to update the restriction pattern:
Example 1: Change number pattern of restriction pattern
PUT https://<connection-
server>/vmrest/restrictiontables/<restrictiontableobjectid>/restrictionpatterns/<restrictionpatterno
bjectid>
Request Body:
<RestrictionPattern>
<NumberPattern>??999#</NumberPattern>
</RestrictionPattern>
Response Code: 204
JSON Example
To change number pattern of restriction pattern, do the following:
Request URI:
PUT https://<connection-
server>/vmrest/restrictiontables/<restrictiontableobjectid>/restrictionpatterns/<restrictionpatternobject
id>
Accept: application/json
Content-Type: application/json
Connection: keep-alive
{
"NumberPattern": "99??"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Request URI: 204
Example 2: Change sequence of restriction pattern
Cisco Unity Connection Provisioning Interface (CUPI) API
675
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Updating a Restriction Pattern
Page 708
• To change the sequence of restriction patterns GET the object id of restriction patterns and arrange them
in the required sequence.
• To change the sequence of restriction patterns through API, you must provide all the restriction pattern
object Id present in that restriction table
Note
PUT https://<connectionserver>/
vmrest/restrictiontables/<restrictiontableobjectid>/restrictionpatterns
Request Body:
<RestrictionPatterns>
<RestrictionPattern>
<ObjectId>6564adb9-9090-42e0-81e6-04e132c4382c</ObjectId>
</RestrictionPattern>
<RestrictionPattern>
<ObjectId>d9cd1525-462b-4eef-8629-0be9d0db2d18</ObjectId>
</RestrictionPattern>
<RestrictionPattern>
<ObjectId>db0aed70-316b-47cb-8335-52fe34d3ca94</ObjectId>
</RestrictionPattern>
<RestrictionPattern>
<ObjectId>46485dc6-bf31-4b31-be58-9eacbe718d02</ObjectId>
</RestrictionPattern>
<RestrictionPattern>
<ObjectId>b7d51bb8-0059-4b56-aadd-6f9e2eaea624</ObjectId>
</RestrictionPattern>
</RestrictionPatterns>
Request URI: 204
Default restriction pattern can neither be edited nor be deleted.
Note
The entire restriction pattern Object Id is given including default restriction pattern. But sequence of default
restriction pattern cannot be changed because default restriction pattern cannot be edited nor be deleted.
Note
Deleting a Restriction Pattern
Example 1: Delete particular restriction pattern The following is an example of the DELETE request that
deletes a specific restriction table where you need to mention the restriction pattern object ID
DELETE https://<connection-
server>/vmrest/restrictiontables/<restrictiontableobjectid>/restrictionpatterns/<restrictionpatterno
bjectid>
Response Code: 204
JSON Example
To delete particular restriction pattern, do the following:
Cisco Unity Connection Provisioning Interface (CUPI) API
676
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Deleting a Restriction Pattern

Page 709
DELETE https://<connectionserver>/
vmrest/restrictiontables/<restrictiontableobjectid>/restrictionpatterns/<restrictionpatternobject
id>
Accept: application/json
Connection: keep-alive
Response Code: 204
• Default restriction pattern cannot be edited or deleted.
• When restriction pattern is blocked than then calls matching to dial string will not be allowed.
Note
Explanation of Data Fields
The following chart lists all of the data fields:
Comments
Operation
Data
Type
Device Name
The specific numbers or patterns of numbers (including external
and long-distance access codes) that can be permitted or restricted.
It uses digits 0 through 9 plus the following special characters:
• Match zero or more digits
• ? Match exactly one digit. Each '?' serves as a placeholder for
one digit.
• # Corresponds to the # key on the phone
• + to call from one country to other country
For example, to screen out all phone numbers that start with 206
but are longer than 7 digits, enter 9206????? for the pattern (and
set "Blocked" == true). Maximum length can be 40.
Read/Write
Varchar
Number Pattern
A flag indicating whether Cisco Unity Connection permits the use
of dial strings matching the pattern.
Values:
• false: Permit use of dial strings matching the pattern
• true: Do not permit use of dial strings matching the pattern
Default Value - true
Read/Write
Boolean
Blocked
Specifies the object ID of restriction patterns.
Read
Only
String(36)
ObjectId
Specifies the restriction table object id to which restriction pattern
belongs.
Read
Only
String(36)
RestrictionTableObjectId
A sequential index for this restriction pattern within the parent
restriction table, which specifies the order in which Cisco Unity
Connection will apply each call pattern.
Read
Only
Integer(2)
SequenceNumber
Cisco Unity Connection Provisioning Interface (CUPI) API
677
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Explanation of Data Fields

Page 710
Cisco Unity Connection Provisioning Interface (CUPI) API --
Restriction Tables
Restriction Tables
Administrator can use this API to create/update/delete/fetch the restriction table. Various attributes of restriction
table can also be updated using this API.
Listing the Restriction Tables
The following is an example of the GET request that lists all the restriction tables:
GET https://<connection-server>/vmrest/restrictiontables
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<RestrictionTables total="2">
<RestrictionTable>
<URI>/vmrest/restrictiontables/71be3f47-fcf4-463d-8e8a-1710a2180de6</URI>
<ObjectId>71be3f47-fcf4-463d-8e8a-1710a2180de6</ObjectId>
<CreationTime>2013-01-29T09:46:52Z</CreationTime>
<DefaultBlocked>false</DefaultBlocked>
<LocationObjectId>9f59d35f-104b-4875-9995-39925dd024c0</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/9f59d35f-104b-4875-9995-
39925dd024c0</LocationURI>
<MaxDigits>40</MaxDigits>
<MinDigits>1</MinDigits>
<DisplayName>Default Transfer</DisplayName>
<Undeletable>true</Undeletable>
<RestrictionPatternsURI>/vmrest/restrictiontables/71be3f47-fcf4-463d-8e8a-
1710a2180de6/restrictionpatterns</RestrictionPatternsURI>
</RestrictionTable>
<RestrictionTable>
<URI>/vmrest/restrictiontables/a056f147-6469-4bb3-8314-5d0ff8011bad</URI>
<ObjectId>a056f147-6469-4bb3-8314-5d0ff8011bad</ObjectId>
<CreationTime>2013-01-29T09:46:52Z</CreationTime>
<DefaultBlocked>false</DefaultBlocked>
<LocationObjectId>9f59d35f-104b-4875-9995-39925dd024c0</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/9f59d35f-104b-4875-9995-
39925dd024c0</LocationURI>
<MaxDigits>40</MaxDigits>
<MinDigits>1</MinDigits>
<DisplayName>Default Outdial</DisplayName>
<Undeletable>true</Undeletable>
<RestrictionPatternsURI>/vmrest/restrictiontables/a056f147-6469-4bb3-8314-
5d0ff8011bad/restrictionpatterns</RestrictionPatternsURI>
</RestrictionTable>
</RestrictionTables>
Response Code: 200
JSON Example
To list all the restriction tables use the following command, do the following:
Cisco Unity Connection Provisioning Interface (CUPI) API
678
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- Restriction Tables
Page 711
Request URI:
GET https://<connection-server>/vmrest/restrictiontables
Accept: application /json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"@total": "2",
"RestrictionTable": [
{
"URI": "/vmrest/restrictiontables/4f01e5b1-b649-4f94-b55e-0c53d0e29c38",
"ObjectId": "4f01e5b1-b649-4f94-b55e-0c53d0e29c38",
"CreationTime": "2013-02-14T05:05:09Z",
"DefaultBlocked": "false",
"LocationObjectId": "bbf3e6ed-0278-479c-9a6e-2da8756eeb6f",
"LocationURI": "/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-9a6e-
2da8756eeb6f",
"MaxDigits": "40",
"MinDigits": "1",
"DisplayName": "Default Transfer",
"Undeletable": "true",
"RestrictionPatternsURI": "/vmrest/restrictiontables/4f01e5b1-b649-4f94-b55e-
0c53d0e29c38/restrictionpatterns"
},
{
"URI": "/vmrest/restrictiontables/d66b1140-986a-40f1-a7d0-09714652d53f",
"ObjectId": "d66b1140-986a-40f1-a7d0-09714652d53f",
"CreationTime": "2013-02-14T05:05:09Z",
"DefaultBlocked": "false",
"LocationObjectId": "bbf3e6ed-0278-479c-9a6e-2da8756eeb6f",
"LocationURI": "/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-9a6e-
2da8756eeb6f",
"MaxDigits": "40",
"MinDigits": "1",
"DisplayName": "Default Outdial",
"Undeletable": "true",
"RestrictionPatternsURI": "/vmrest/restrictiontables/d66b1140-986a-40f1-a7d0-
09714652d53f/restrictionpatterns"
}
]
}
Response Code: 200
Viewing the Specific Restriction Table
Example 1: With valid object ID The following is an example of the GET request that lists the details of
specific restriction table represented by the provided value of object ID:
GET https://<connection-server>/vmrest/restrictiontables/<restrictiontableobjectid>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
679
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Viewing the Specific Restriction Table
Page 712
<RestrictionTable>
<URI>/vmrest/restrictiontables/71be3f47-fcf4-463d-8e8a-1710a2180de6</URI>
<ObjectId>71be3f47-fcf4-463d-8e8a-1710a2180de6</ObjectId>
<CreationTime>2013-01-29T09:46:52Z</CreationTime>
<DefaultBlocked>false</DefaultBlocked>
<LocationObjectId>9f59d35f-104b-4875-9995-39925dd024c0</LocationObjectId>
<LocationURI>/vmrest/locations/connectionlocations/9f59d35f-104b-4875-9995-
39925dd024c0</LocationURI>
<MaxDigits>40</MaxDigits>
<MinDigits>1</MinDigits>
<DisplayName>Default Transfer</DisplayName>
<Undeletable>true</Undeletable>
<RestrictionPatternsURI>/vmrest/restrictiontables/71be3f47-fcf4-463d-8e8a-
1710a2180de6/restrictionpatterns</RestrictionPatternsURI>
</RestrictionTable>
Response Code: 200
JSON Example
To view specific restriction table, do the following:
Request URI:
GET https://<connection-server>/vmrest/restrictiontables/<restrictiontableobjectid>
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"URI": "/vmrest/restrictiontables/d66b1140-986a-40f1-a7d0-09714652d53f",
"ObjectId": "d66b1140-986a-40f1-a7d0-09714652d53f",
"CreationTime": "2013-02-14T05:05:09Z",
"DefaultBlocked": "false",
"LocationObjectId": "bbf3e6ed-0278-479c-9a6e-2da8756eeb6f",
"LocationURI": "/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-9a6e-
2da8756eeb6f",
"MaxDigits": "40",
"MinDigits": "1",
"DisplayName": "Default Outdial",
"Undeletable": "true",
"RestrictionPatternsURI": "/vmrest/restrictiontables/d66b1140-986a-40f1-a7d0-
09714652d53f/restrictionpatterns"
}
Response Code: 200
Creating a Restriction Table
The following is an example of the POST request that creates a restriction table:
POST https://<connection-server>/vmrest/restrictiontables
Example 1: The following is the example of the create request from the above POST request.
Cisco Unity Connection Provisioning Interface (CUPI) API
680
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Creating a Restriction Table
Page 713
Request Body:
<RestrictionTable>
<DisplayName>Texoma 1</DisplayName>
</RestrictionTable>
Response Code: 201
JSON Example
To create new restriction table, do the following:
POST https://<connection-server>/vmrest/restrictiontables
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"DisplayName": "Texoma 1"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
Example 2: The following is the example of the create request with maximum and minimum length
Request Body:
<RestrictionTable>
<DisplayName>Texoma Restriction Table_7</DisplayName>
<MinDigits>50</MinDigits>
<MaxDigits>60</MaxDigits>
</RestrictionTable>
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
JSON Example
To create restriction table with maximum and minimum length, do the following:
Request URI:
POST https://<connection-server>/vmrest/restrictiontables
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"MaxDigits": "60",
"MinDigits": "50",
"DisplayName": "Texoma Restriction Table_7"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
Cisco Unity Connection Provisioning Interface (CUPI) API
681
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Creating a Restriction Table
Page 714
Updating a Restriction Table Parameters
The following is an example of the PUT request that allows you to update the parameters of the restriction
tables:
PUT https://<connection-server>/vmrest/restrictiontables/<restrictiontableobjectid>
Example 1: Update display name of restriction table
Request Body:
<RestrictionTable>
<DisplayName>Texoma_123</DisplayName>
</RestrictionTable>
Response Code: 204
JSON Example
To update display name of restriction table, do the following:
Request URI:
PUT https://<connection-server>/vmrest/restrictiontables/<restrictiontableobjectid>
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"DisplayName": "Texoma_123"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Example 2: Update maximum and minimum digits of restriction table
Request Body:
<RestrictionTable>
<DisplayName>Texoma Restriction Table_7</DisplayName>
<MinDigits>241</MinDigits> //Minimum digit range is 1-300, it should not exceed above
300
<MaxDigits>256</MaxDigits> //Maximum digit range is 1-300, it should not exceed above
300
</RestrictionTable>
Response Code: 204
Example 3: Update default blocked parameter
Request Body:
<RestrictionTable>
<DefaultBlocked>true</DefaultBlocked>
</RestrictionTable>
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
682
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Updating a Restriction Table Parameters
Page 715
Deleting a Restriction Table
Example 1: Deleting a restriction table with a valid object id
The following is an example of the DELETE request that deletes a specific restriction table where you need
to mention the object ID:
DELETE https://<connection-server>/vmrest/restrictiontables/<restrictiontableobjectid>
Response Code: 204
JSON Example
To delete restriction table with a valid object id, do the following:
DELETE https://<connection-server>/vmrest/restrictiontables/<restrictiontableobjectid>
Accept: application/json
Connection: keep-alive
Response Code: 204
Default restriction table cannot be edited or deleted.
Note
Explanation of Data Fields
The following chart lists all of the data fields:
Comments
Operation
Data Type
Device
Name
Specifies an unique and system generated ID of a particular restriction
table object.
Read
only
String
(36)
ObjectId
Specifies unique display name of restriction table in order to display
entries in the administrative console.
Read/Write
String
(64))
DisplayName
Specifies the maximum number of digits in a dial string (including access
codes) allowed by Cisco Unity Connection. Only dial strings that contain
a number of digits fewer than or equal to the number of digits specified
in this column are checked against the restriction table. Dial strings that
contain more than the numbers of digits specified in this column are not
permitted. For example, if the local calls in your area are
seven digits long, and you want to prevent subscribers from using long
distance phone numbers, enter 8 in this column.(Range 1-300).
Read/Write
Integer
MaxDigits
Cisco Unity Connection Provisioning Interface (CUPI) API
683
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Deleting a Restriction Table

Page 716
Comments
Operation
Data Type
Device
Name
Specifies the minimum number of digits in a dial string (including access
codes) allowed by Cisco Unity Connection. Only dial strings that contain
a number of digits greater than or equal to the number of digits specified
in this column are checked against the restriction table. Dial strings that
contain fewer than the number of digits specified in this column are not
permitted. For example, to prohibit subscribers from using
four-digit numbers, enter a value of 5 in this column. (Range 1-300)
Read/Write
Integer
MinDigits
A flag indicating whether Cisco Unity Connection permits the phone
number in the case where a phone number does not match any call patterns
in this restriction table. This condition should never occur. By default,
all restriction tables should have * as the call pattern in the last dial string
of the table and an administrator should not be allowed to modify this
call pattern setting.
Possible values:
• false: Blocked
• true: Not Blocked
Default value: false
Read/Write
Boolean
DefaultBlocked
Creation date and time of restriction table.
Read
only
DateTime
CreationTime
A flag indicating whether this restriction table can be deleted via an
administrative application such as Cisco Unity Connection Administration.
It is used to prevent deletion of factory defaults.
Default Value - false
Read/Write
Boolean
Undeletable
Cisco Unity Connection Provisioning Interface (CUPI) API --
License Dump APIs
License Dump APIs
Administrator can use this API to fetch license usage information for 6 licensing parameters/features. These
6 license parameters are:
Cisco Unity Connection Provisioning Interface (CUPI) API
684
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- License Dump APIs
Page 717
Description
Feature
License Tag
License Parameter
Specifies the maximum
number of voice mail
users configured in Cisco
Unity Connection.
All the users which are
the time of installation.
example, "operator" an
"undeliverablemessages
are removed from this
Also all the tenant oper
count is not included in
for this tag.
Note
Total number of voicemail users
LicSubscribersMax
CUC_BasicMessaging
Specifies the maximum
number of speech view
users using the standard
transcription services
configured in Cisco Unity
Connection.
Total number of speech view users
using the standard transcription
services
LicSTTSubscribersMax
CUC_SpeechView
Specifies the maximum
number of Speech view
users using the
professional transcription
services configured in
Cisco Unity Connection
Total number of speech view users
using the professional transcription
services
LicSTTProSubscribersMax
CUC_SpeechViewPro
Specifies the maximum
number of Speech
Connect calls configured
in Cisco Unity Connection
Total number of speech connect
ports
LicRealspeakSessionsMax
CUC_SpeechConnectPort
Specifies the maximum
number of Connection
SRSV users configured on
Cisco Unity Connection.
The Connection SRSV
users are reflected under
this tag only when the
branch is active. This
feature is not applicable
for Tenant Partitioning
system.
Total number of enhanced
messaging users
LicSrsvCuceSubscribersMax
CUC_EnhancedMessaging
Specifes the maximum
number of local contacts,
along with VPIM contacts
created from Non Unity
Connection End Point.
Total number of Contacts.
LicContactsMax
CUC_SpeechConnectGuestUser
Cisco Unity Connection Provisioning Interface (CUPI) API
685
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
License Dump APIs
Page 718
Listing the License Status Count
The following is an example of the GET request that lists all the license status count:
GET https://<connection-server>/vmrest/licensestatuscounts
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<LicenseStatusCounts total="6">
<LicenseStatusCount>
<URI>/vmrest/licensestatuscounts/LicSubscribersMax</URI>
<TagName>LicSubscribersMax</TagName>
<ObjectId>bc1f1f5d-f628-4bca-b0c9-f225d07d677f</ObjectId>
<Count>3</Count>
<featureName>CUC_BasicMessaging</featureName>
<description>Total Number of Voicemail users</description>
</LicenseStatusCount>
<LicenseStatusCount>
<URI>/vmrest/licensestatuscounts/LicSrsvCuceSubscribersMax</URI>
<TagName>LicSrsvCuceSubscribersMax</TagName>
<ObjectId>99541ef5-4602-424c-84e6-6c9fe8b4044b</ObjectId>
<Count>0</Count>
<featureName>CUC_EnhancedMessaging</featureName>
<description>Total Number of Enhanced Messaging Users</description>
</LicenseStatusCount>
<LicenseStatusCount>
<URI>/vmrest/licensestatuscounts/LicSTTSubscribersMax</URI>
<TagName>LicSTTSubscribersMax</TagName>
<ObjectId>dfbaf0f8-38b0-4e14-9f62-9b1e59cc2426</ObjectId>
<Count>0</Count>
<featureName>CUC_SpeechView</featureName>
<description>Speechview Standard users</description>
</LicenseStatusCount>
<LicenseStatusCount>
<URI>/vmrest/licensestatuscounts/LicSTTProSubscribersMax</URI>
<TagName>LicSTTProSubscribersMax</TagName>
<ObjectId>d1f15aa9-2482-4a80-93e8-58fb402e31dd</ObjectId>
<Count>3</Count>
<featureName>CUC_SpeechViewPro</featureName>
<description>Speechview Professional Users</description>
</LicenseStatusCount>
<LicenseStatusCount>
<URI>/vmrest/licensestatuscounts/LicRealspeakSessionsMax</URI>
<TagName>LicRealspeakSessionsMax</TagName>
<ObjectId>2b1a7da9-6b13-4302-8efd-91db94b2c241</ObjectId>
<Count>3</Count>
<featureName>CUC_SpeechConnectPort</featureName>
<description>Total Number of speech connect sessions</description>
</LicenseStatusCount>
<LicenseStatusCount>
<URI>/vmrest/licensestatuscounts/LicContactsMax</URI>
<TagName>LicContactsMax</TagName>
<ObjectId>417f531f-077b-4d64-8f5b-749a56623f400</ObjectId>
<Count>1</Count>
<featureName>CUC_SpeechConnectGuestUser</featureName>
<description>Total Number of Contacts</description>
</LicenseStatusCount></LicenseStatusCounts>
<pre>
Response Code: 200
JSON Example
Cisco Unity Connection Provisioning Interface (CUPI) API
686
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Listing the License Status Count
Page 719
To list all the license status count use the following command:
Request URI:
GET https://<connection-server>/vmrest/licensestatuscounts
Accept: application /json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"@total":"2"
"LicenseStatusCount":[
{
"URI":"/vmrest/licensestatuscounts/LicSubscribersMax"
"TagName":"LicSubscribersMax"
"ObjectId":"bc1f1f5d-f628-4bca-b0c9-f225d07d677f"
"Count":"3"
"featureName":"CUC_BasicMessaging"
"description":"Total Number of Voicemail users"
}
{
"URI":"/vmrest/licensestatuscounts/LicSrsvCuceSubscribersMax"
"TagName":"LicSrsvCuceSubscribersMax"
"ObjectId":"99541ef5-4602-424c-84e6-6c9fe8b4044b"
"Count":"0"
"featureName":"CUC_EnhancedMessaging"
"description":"Total Number of Enhanced Messaging Users"
}
]
}
Response Code: 200
Viewing the Specific License Status Count
Request URI:
GET https://<connection-server>/vmrest/licensestatuscounts/<TagName>
Tag names can be:
• LicSubscribersMax
• LicSrsvCuceSubscribersMax
• LicSTTSubscribersMax
• LicSTTProSubscribersMax
• LicRealspeakSessionsMaxSample Request
The following is an example of the GET request that lists the details of specific license status count represented
by the provided value of object ID:
GET https://<connection-server>/vmrest/licensestatuscounts/LicSubscribersMax
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
687
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Viewing the Specific License Status Count
Page 720
<LicenseStatusCount>
<URI>/vmrest/licensestatuscounts/LicSubscribersMax</URI>
<TagName>LicSubscribersMax</TagName>
<ObjectId>bc1f1f5d-f628-4bca-b0c9-f225d07d677f</ObjectId>
<Count>3</Count>
<featureName>CUC_BasicMessaging</featureName>
<description>Total Number of Voicemail users</description>
</LicenseStatusCount>
Response Code: 200
JSON Example
To view specific license status count, do the following:
GET https://<connection-server>/vmrest/licensestatuscounts/<TagName>
Request URI:
GET https://<connection-server>/vmrest/licensestatuscounts/LicSubscribersMax
Accept: application /json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"URI":"/vmrest/licensestatuscounts/LicSubscribersMax"
"TagName":"LicSubscribersMax"
"ObjectId":"bc1f1f5d-f628-4bca-b0c9-f225d07d677f"
"Count":"3"
"featureName":"CUC_BasicMessaging"
"description":"Total
Number of Voicemail users"
}
Response Code: 200
Explanation of Data Fields
The following chart lists all of the data fields:
Comment
Data
Type
Operation
Parameter
Specifies the URI of the API.
String
Read
Only
URI
Specifies the license tag of the feature.
Tag names can be:
• LicSubscribersMax
• LicSrsvCuceSubscribersMax
• LicSTTSubscribersMax
• LicSTTProSubscribersMax
• LicRealspeakSessionsMax
String
Read
Only
TagName
Identifier for a LicenseStatus object.
String
(36)
Read
Only
ObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
688
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Explanation of Data Fields
Page 721
Comment
Data
Type
Operation
Parameter
The current usage of the feature in the system. It is a number specifying the
current usage count or if the feature is in use.
String
Read
Only
Count
The name of the feature.
String
Read
Only
FeatureName
The description of the feature
String
Read
Only
Description
Cisco Unity Connection Provisioning Interface (CUPI) API --
Smart Licensing
Overview
With Unity Connection 12.0(1) and later, a new simple and enhanced way of licensing, Cisco Smart Software
Licensing is introduced to use various licensed feature of Unity Connection. Using Cisco Smart Software
Licensing, you can manage all the licenses associated with an organization through a single interface, which
is Cisco Smart Software Manager (CSSM) or Cisco Smart Software Manager satellite. Cisco Smart Software
Licensing provides the visibility of your licenses ownership and consumption. Unity Connection must be
registered with the Cisco Smart Software Manager (CSSM) or Cisco Smart Software Manager satellite to use
various licensed feature.
Unity Connection remains in the Evaluation Mode until it registers with the Cisco Smart Software Manager
(CSSM) or Cisco Smart Software Manager satellite.
For information on Unity Connection licenses, see the "Managing Licenses" chapter of the Install, Upgrade,
and Maintenance Guide for Cisco Unity Connection, Release 12.x, available at https://www.cisco.com/c/en/
us/td/docs/voice_ip_comm/connection/12x/install_upgrade/guide/b_12xcuciumg.html.
With release 12.5(1) and later, Unity Connection provides the APIs to perform the various operations of Cisco
Smart Software Licensing.
Transport Settings
To view and manage the licenses, Unity Connection must communicate with the Cisco Smart Software
Manager (CSSM) or Cisco Smart Software Manager satellite.
Following are the options to deploy the Cisco Smart Software Licensing in Unity Connection,
• Direct Cloud Access: In this option, Unity Connection can directly communicate with CSSM and transfer
the usage information over internet. No additional components are required.
• Mediated Access through an On-Premises Collector: In this option, Unity Connection communicates
with on-prem version of CSSM called Cisco Smart Software Manager satellite. Periodically satellite
communicates with CSSM using Cisco network and exchange of license information will be performed.
• Direct Cloud Access through an HTTPs Proxy: In this option, Unity Connection directly transfers the
usage information to CSSM over internet through proxy server.
Cisco Unity Connection Provisioning Interface (CUPI) API
689
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- Smart Licensing
Page 722
Cisco Unity Connection Release 12.5(1) Service Update 4 and later, allows you
to authenticate the proxy server for more secure communication with CSSM. To
authenticate the proxy server below fields are introduced in Transport Settings
API.
• isProxyAuthReq
• httpProxyUser
• httpProxyPasswd
Note
For more information on transport settings, see Deployment Options section of the Managing Licenses chapter
of the Install, Upgrade, and Maintenance Guide for Cisco Unity Connection Release 12.x available at https:/
/www.cisco.com/c/en/us/td/docs/voice_ip_comm/connection/12x/install_upgrade/guide/b_12xcuciumg.html
Listing Transport Settings
The following is an example of the GET request that displays the configured transport setting:
GET https://<connection-server>/vmrest/smartlicense/transportsettings
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<TransportSetting>
<transportMode>2</transportMode>
<transportUrl>https://tools.cisco.com/its/service/oddce/services/DDCEService</transportUrl>
<httpHost></httpHost>
<httpPort>0</httpPort>
<isPrivacyEnabled>false</isPrivacyEnabled>
<isProxyAuthReq>true</isProxyAuthReq>
<httpProxyUser>James</httpProxyUser></TransportSetting>
Response Code: 200
JSON Example
{
"transportMode": "2",
"transportUrl":
"https://tools.cisco.com/its/service/oddce/services/DDCEService</transportUrl",
"httpHost": "",
"httpPort": "0"
"isPrivacyEnabled": "false"
"isProxyAuthReq": "true"
"httpProxyUser" : "James" }
Response Code: 200
Modifying Transport Settings
The following is an example of the PUT request that modifies the Transport Settings:
Cisco Unity Connection Provisioning Interface (CUPI) API
690
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Listing Transport Settings

Page 723
PUT https://<connection-server>/vmrest/smartlicense/transportsettings
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
<TransportSetting>
<transportMode>0</transportMode>
<transportUrl>https://tools.cisco.com/its/service/oddce/services/DDCEService</transportUrl>
<httpHost></httpHost>
<httpPort>0</httpPort>
<isPrivacyEnabled>false</isPrivacyEnabled>
<isProxyAuthReq>1</isProxyAuthReq>
<httpProxyUser>James</httpProxyUser>
<httpProxyPasswd></httpProxyPasswd></TransportSetting>
Response Code: 200
JSON Example
{
"transportMode": "0"
"transportUrl": "https://tools.cisco.com/its/service/oddce/services/DDCEService"
"httpHost": ""
"httpPort": "0"
"isPrivacyEnabled" : "false"
"isProxyAuthReq" : "true"
"httpProxyUser"
: "James"
"httpProxyPasswd" : ""}
Response Code: 200
If the product is registered with CSSM or satellite, you must deregister the product before changing the
transport settings.
Note
Registering the Unity Connection
Using this API, you can register the product with CSSM or satellite. For registration, you need a registration
token from CSSM or satellite.
For information on how to create a token on CSSM or satellite, see "Configuring Cisco Smart Software
Licensing in Unity Connection" section of " Managing Licenses" chapter of the Install, Upgrade, and
Maintenance Guide for Cisco Unity Connection, Release 12.x, available at https://www.cisco.com/c/en/us/
td/docs/voice_ip_comm/connection/12x/install_upgrade/guide/b_12xcuciumg.html.
Following is the PUT request to register the product with CSSM or satellite :
PUT https://<connection-server>/vmrest/smartlicense/register
<RegisterDetails>
<token>NDJiMjI0YTAtMjc0MC00......1JakVZMU5JWGhLOXlP%0AMmVxMD0%3D%0A</token>
<force>false</force>
</RegisterDetails>
Cisco Unity Connection Provisioning Interface (CUPI) API
691
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Registering the Unity Connection

Page 724
Response Code: 200
JSON Example
{
"token" : "NDJiMjI0YTAtMjc0MC00......s1RVdnR2c2VExDRXEvcGtUWWVh%0ASTRNdz0%3D%0B"
"force" : "false"
}
Response Code: 200
Reregistering the Unity Connection
Using this API, you can reregister the product with CSSM or satellite. For reregistration, you need a registration
token from CSSM or satellite.
Following is the PUT request to reregister the product with CSSM or satellite:
PUT https://<connection-server>/vmrest/smartlicense/register
<RegisterDetails>
<token>NDJiMjI0YTAtMjc0MC00......1JakVZMU5JWGhLOXlP%0AMmVxMD0%3D%0A</token>
<force>true</force>
</RegisterDetails>
Response Code: 200
JSON Example
{
"token" : "NDJiMjI0YTAtMjc0MC00......1JakVZMU5JWGhLOXlP%0AMmVxMD0%3D%0A"
"force" : "true"
}
Response Code: 200
Deregistering the Unity Connection
Using this API, you can deregister the product from CSSM or satellite. All license entitlements used for the
product are released back to its virtual account.
The following is an example of the PUT request that deregisters the product from CSSM:
PUT https://<connection-server>/vmrest/smartlicense/deregister
Response Code: 200
Cisco Unity Connection Provisioning Interface (CUPI) API
692
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Reregistering the Unity Connection
Page 725
Renew Authorization of the Unity Connection
Using this API, you can renew the license authorization for the product with CSSM or satellite. However, the
licenses are automatically authorized in every 30 days.
Following is the PUT request to renew the license authorization for the product:
PUT https://<connection-server>/vmrest/smartlicense/renewAuth
Response Code: 200
Renew Registration of the Unity Connection
Using this API, you can renew the registration of the product with CSSM or satellite. However, the registration
of the product is automatically renewed in every six month.
Following is the PUT request to renew the registration of the product:
PUT https://<connection-server>/vmrest/smartlicense/renewID
Response Code: 200
Listing Licensing Details
This API is used for listing all the licensing information of the product.
Following is the GET request to listing all the licensing details:
GET https://<connection-server>/vmrest/smartlicense/licensedetails
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
693
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Renew Authorization of the Unity Connection
Page 726
<LicenseDetails>
<SmartLicensing>Enabled</SmartLicensing>
<Register>
<Status>Registered</Status>
<SmartAccount>BU Production Test</SmartAccount>
<VirtualAccount>Cisco_VA</VirtualAccount>
<LastRenewalAttempt>SUCCEEDED 2017-11-22 13:17:19.0</LastRenewalAttempt>
<NextRenewalAttempt>2018-05-23 13:17:19.0</NextRenewalAttempt>
<LastRegistrationSuccessTime>2017-11-24 13:17:19.0</LastRegistrationSuccessTime>
<ProductUDI>pid=Cisco Unity Connection sn=cbd7561030494c60af97aabbcba</ProductUDI>
<ExportControlFunctionality>Allowed</ExportControlFunctionality>
</Register>
<Authorization>
<Status>Authorized</Status>
<LastCommunicationAttempt>SUCCEEDED 2017-11-27 13:17:19.0</LastCommunicationAttempt>
<NextCommunicationAttempt>2017-12-27 13:17:19.0</NextCommunicationAttempt>
<EvaluationPeriodRemaining>87:0:36</EvaluationPeriodRemaining>
</Authorization>
<LicenseUsage>
<EntitlementTag>
<Id>regid.2020-06.com.cisco.CUC_BasicMessaging,14_74b6bdc1-b3e1-45dc-9468-6412b12fdef2</Id>
<Count>1</Count>
<Status>Evals</Status>
</EntitlementTag>
<EntitlementTag>
<Id>regid.2020-06.com.cisco.CUC_EnhancedMessaging,14_5e05b515-5be5-429e-b301-5de5de8d2c09</Id>
<Count>0</Count>
<Status>Init</Status>
</EntitlementTag>
<EntitlementTag>
<Id>regid.2020-11.com.cisco.CUC_SpeechViewPro,14_9de30ccc-1671-4c32-9f57-f63c3f66af84</Id>
<Count>0</Count>
<Status>Init</Status>
</EntitlementTag>
<EntitlementTag>
<Id>regid.2020-11.com.cisco.CUC_SpeechView,14_5a0e3202-2743-4401-a117-1e9c239acbbf</Id>
<Count>10</Count>
<Status>InCompliance</Status>
</EntitlementTag>
<EntitlementTag>
<Id>regid.2020-06.com.cisco.CUC_SpeechConnectPort,14_d0201ba3-0b71-403d-9b74-5cd643dd662b</Id>
<Count>0</Count>
<Status>Init</Status>
</EntitlementTag>
<EntitlementTag>
<Id>regid.2020-06.com.cisco.CUC_SpeechConnectGuestUser,14_d49c924c-e587-4a02-8376-7c48bc7ac3ba</Id>
<Count>0</Count>
<Status>Init</Status>
</EntitlementTag>
</LicenseUsage>
</LicenseDetails>
Response Code: 200
JSON Example
Cisco Unity Connection Provisioning Interface (CUPI) API
694
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Listing Licensing Details
Page 727
{
"SmartLicensing": "Enabled",
"Register": {
"Status": "Reservation In Progress",
"SmartAccount": "BU Production Test",
"VirtualAccount": "Cisco_VA",
"LastRenewalAttempt": "SUCCEEDED 2017-11-22 13:17:19.0",
"NextRenewalAttempt": " 2018-05-23 13:17:19.0",
"LastRegistrationSuccessTime": "2017-11-24 13:17:19.0",
"ProductUDI": "pid=Cisco Unity Connection sn=cbd7561030494c60af97aabbcba",
"ExportControlFunctionality": "Allowed"
},
"Authorization": {
"Status": "Evaluation",
"LastCommunicationAttempt": "SUCCEEDED 2017-11-27 13:17:19.0",
"NextCommunicationAttempt": " 2017-12-27 13:17:19.0",
"EvaluationPeriodRemaining": "87:0:36"
},
"LicenseUsage": {
"EntitlementTag": [
{
"Id": "regid.2020-06.com.cisco.CUC_BasicMessaging,14_74b6bdc1-b3e1-45dc-9468-6412b12fdef2",
"Count": "1",
"Status": "Eval"
},
{
"Id":
"regid.2020-06.com.cisco.CUC_EnhancedMessaging,14_5e05b515-5be5-429e-b301-5de5de8d2c09",
"Count": "0",
"Status": "Init"
},
{
"Id":
"regid.2020-11.com.cisco.CUC_SpeechViewPro,14_9de30ccc-1671-4c32-9f57-f63c3f66af840Init",
"Count": "0",
"Status": "Init"
},
{
"Id": "regid.2020-11.com.cisco.CUC_SpeechView,14_5a0e3202-2743-4401-a117-1e9c239acbbf",
"Count": "0",
"Status": "Init"
},
{
"Id":
"regid.2020-06.com.cisco.CUC_SpeechConnectPort,14_d0201ba3-0b71-403d-9b74-5cd643dd662b",
"Count": "0",
"Status": "Init"
}{
"Id":
"regid.2020-06.com.cisco.CUC_SpeechConnectGuestUser,14_d49c924c-e587-4a02-8376-7c48bc7ac3ba",
"Count": "0",
"Status": "Init"
}
]
}
}
Response Code: 200
Cisco Unity Connection provides different Entitlement Tag based on the supported deployment modes of
Unity Connection.
Cisco Unity Connection Provisioning Interface (CUPI) API
695
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Listing Licensing Details
Page 728
Cisco Unity Connection Release 12.5(1) Service Update 4 and later, administrator provide Speech View
functionality with Hosted Collaboration Services (HCS) deployment mode. To use SpeechView feature in
HCS mode, you must have HCS SpeechView Standard User Licenses with the users. HCUC_SpeechView
entitlement tag is added to support the functionality.
In HCS mode, only Standard SpeechView Transcription Service is supported.
Note
For SpeechView configuration refer chapter "SpeechView" of System Administration Guide Cisco Unity
Connection Release 12 available at link https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/connection/
12x/administration/guide/b_12xcucsag.html.
Following table describes the deployment modes with corresponding Entitlement Tags:
Entitlement Tag
Description
Deployment Mode
• CUC_BasicMessaging
• CUC_EnhancedMessaging
• CUC_SpeechView
• CUC_SpeechViewPro
• CUC_SpeechConnectPort
• CUC_SpeechConnectGuestUser
This is the default mode of Unity
Connection
Enterprise
• HCUC_BasicMessaging
• HCUC_EnhancedMessaging
• HCUC_StandardMessaging
• HCUC_SpeechConnectPort
• HCUC_SpeechView
This mode comprises Hosted
Collaboration Services
HCS
• HLECUC_BasicMessaging
• HLECUC_EnhancedMessaging
• HLECUC_StandardMessaging
• HLECUC_SpeechConnectPort
This mode comprises Hosted
Collaboration Services -Large
Enterprise
HCS-LE
To get the latest licensing details of a product, you must renew the authorization of the product. For more
information, see "Renew Authorization of the Unity Connection" section.
Note
Cisco Unity Connection Provisioning Interface (CUPI) API
696
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Listing Licensing Details

Page 729
Getting License Data for STT
Using this API, you can acquire the SpeechView license data (Certificates and Voucher code) locally to the
connection server from CSSM or satellite.
The following is an example of the PUT request that acquires the Speech View license data from CSSM or
satellite:
PUT https://<connection-server>/vmrest/smartlicense/configurenuancecerts
Response Code: 200
Explanation of Data Fields
The following chart lists all of the data fields:
Descriptions
Operations
Data Type
Parameter
Specifies the different transport settings option
through which Unity Connection communicates
with CSSM. Possible values are:
• 0-Direct option.
• 1-Mediated Access through an On-Premises
Collector or satellite
• 2-HTTP/HTTPS Proxy
Default-0
Read\Write
Integer
transportMode
Specifies the URL through which Unity
Connection communicates with CSSM.
Default URL:
https://tools.cisco.com/its/service/oddce/services/DDCEService
This field is applicable when
transportMode is set to Direct or
satellite .
Note
Read\Write
String
transportUrl
Specifies the IP address or Hostname of the
proxy server.
This field is applicable when
transportMode is set to
HTTP/HTTPS Proxy.
Note
Read\Write
String
httpHost
Specifies the port through which Unity
Connection connects to the proxy server.
• Range-1 to 65535
Default-0
This field is applicable when
transportMode is set to
HTTP/HTTPS Proxy.
Note
Read\Write
Integer
httpPort
Cisco Unity Connection Provisioning Interface (CUPI) API
697
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Getting License Data for STT
Page 730
Descriptions
Operations
Data Type
Parameter
Specifies option to enter the details of password
protected proxy server for more secure
communication. Possible values are:
• 0- false.
• 1- true. It is mandatory to provide username
and password details of proxy server.
Default -0
Read\Write
Boolean
isProxyAuthReq
(Applicable from Unity
Connection 12.5SU4 and
later releases)
Specifies the proxy server username that is
required to connect to Unity Connection through
more secure channel.
Read\Write
String
httpProxyUser
(Applicable from Unity
Connection 12.5SU4 and
later releases)
Specifies the proxy server password that is
required to connect to Unity Connection through
more secure channel.
Read\Write
String
httpProxyPasswd
(Applicable from Unity
Connection 12.5SU4 and
later releases)
Smart Account is a simple and organized way
to manage the product licenses and entitlements.
Using this account, you can register, view, and
manage your Cisco Software Licenses across
your organization.
Read Only
String
SmartAccount
Virtual Accounts are the sub accounts within the
Smart Accounts. Licenses and Product instances
can be distributed across virtual accounts.
Read Only
String
VirtualAccount
Token is required for registering the product
with CSSM or satellite.
Read\Write
String
token
This flag is enable when you reregister the
product with CSSM or satellite. The possible
values are:
• False-For registering the product.
• True-For reregistering the product.
Read\Write
String
force
Specifies the status, date and time on which, the
product is last renewed the registration with
CSSM or satellite. Possible values are:
• SUCCEEDED-When the product
successfully renews the registration with
CSSM.
• FAILED-When renew registration of the
product with CSSM is failed.
• Not Applicable-When the product is not
registered once with CSSM or satellite.
Read Only
String
LastRenewalAttempt
Cisco Unity Connection Provisioning Interface (CUPI) API
698
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Explanation of Data Fields
Page 731
Descriptions
Operations
Data Type
Parameter
Specifies the date and time on which, the product
is required to renew the registration with CSSM.
Read Only
Date\Time
NextRenewalAttempt
Specifies the date and time on which, the product
is successfully registered with CSSM or satellite.
Read Only
Date\Time
LastRegistrationSuccessTime
Specifies the status, date and time on which, the
product last communicated with CSSM or
satellite. Possible values are:
• SUCCEEDED-When the product is
successfully communicated with CSSM or
satellite.
• FAILED-When the product is failed to
communicate with CSSM or satellite.
• Not Applicable-When the product is not
registered once with CSSM or satellite.
Read Only
String
LastCommunicationAttempt
Specifies the date and time on which, the product
is required to communicate with CSSM or
satellite.
Read Only
Date\Time
NextCommunicationAttempt
Specifies the Export Controlled Functionality is
enabled for the product or not at the time of
token creation on the CSSM or satellite. Possible
values are:
• Allowed-When Export Controlled
Functionality is enabled for the product.
• Not Allowed-When the Product is in
Evaluation Mode or Export Controlled
Functionality is not enabled for the
product..
Read Only
String
ExportControlFunctionality
Specifies the License Parameters.
Read Only
String
Id
Specifies the number of licenses that are used
Read Only
Integer
Count
Cisco Unity Connection Provisioning Interface (CUPI) API --
Custom Subject Line
Listing Subject Line Formats
This page contains information on how to use the API to list and update subject line formats and it's parameters.
Subject line format enables the user to configure the subject lines of the notification emails for Message
Notifications, Missed Call Notifications, and Scheduled Summary Notifications.
Cisco Unity Connection Provisioning Interface (CUPI) API
699
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- Custom Subject Line
Page 732
POST and DELETE APIs are not supported.
Note
The following is an example of the GET request that lists all subject line formats:
GET https://<connection_server>/vmrest/subjectlineformats
The following is an example of the GET request to list the subject line for a specific message type:
https://<connection_server>/vmrest/subjectlineformats?query=(MessageType is 2)
Message type is 1 for voice messages and 2 for notifications.
Note
The following is an example of the response from the above GET requests and the actual response will depend
upon the information given by you:
<SubjectLineFormats total="7">
<SubjectLineFormat>
<URI>/vmrest/subjectlineformats/7048d455-374b-4b81-bf0b-ebb70239b441</URI>
<ObjectId>7048d455-374b-4b81-bf0b-ebb70239b441</ObjectId>
<LanguageCode>1033</LanguageCode>
<FactoryDefaultSubject>Message notification</FactoryDefaultSubject>
<Subject>Message notification</Subject>
<SubjectType>7</SubjectType>
<MessageType>2</MessageType>
<CustomSubjectParameterURI>/vmrest/subjectlineparameters?query=(MessageType%20is%202)</CustomSubjectParameterURI>
</SubjectLineFormat>
…
</SubjectLineFormats>
Response code: 200 OK
Listing a particular subject line format
The following is an example of the GET request that lists a particular subject line format:
GET https://<connection_server>/vmrest/subjectlineformats/<objectID>
The following is an example of the response from the above GET request and the actual response will depend
upon the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
700
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Listing a particular subject line format

Page 733
<SubjectLineFormat>
<URI>/vmrest/subjectlineformats/75b13d88-7313-491a-b239-dff1f1372379</URI>
<ObjectId>75b13d88-7313-491a-b239-dff1f1372379</ObjectId>
<LanguageCode>1033</LanguageCode>
<FactoryDefaultSubject>%D% %U% %P% Message from %NAME%
(%CALLERID%)</FactoryDefaultSubject>
<Subject>%D% %U% %P% Message from %NAME% (%CALLERID%)</Subject>
<SubjectType>1</SubjectType>
<MessageType>1</MessageType>
<CustomSubjectParameterURI>/vmrest/subjectlineparameters</CustomSubjectParameterURI>
</SubjectLineFormat>
Response code: 200 OK
Modifying Subject Line Formats
The following is an example of the PUT request that modifies subject field in the subject line formats:
PUT https://<connection_server>/vmrest/subjectlineformats/<objectID>
The following is the input for above PUT request.
<SubjectLineFormat>
<Subject>%D% %U% %P% Message from %NAME% 123(%CALLERID%)</Subject>
</SubjectLineFormat>
The following is the reponse of above PUT request.
Response code: 204 OK
Listing Subject Line Parameters
The following is an example of the GET request that lists all subject line parameters:
GET https://<connection_server>/vmrest/subject-line-parameters
The following is an example of the response from the above GET request.
<SubjectLineParameters total="11">
<SubjectLineParameter>
<URI>/vmrest/subject-line-parameters/462d2eaa-8109-470e-982e-00c2c99e8770</URI>
<ObjectId>462d2eaa-8109-470e-982e-00c2c99e8770</ObjectId>
<LanguageCode>1033</LanguageCode>
<Parameter>Unknown caller ID1</Parameter>
<FactoryDefaultParameter>Unknown caller ID</FactoryDefaultParameter>
<ParameterType>1</ParameterType>
<MessageType>1</MessageType>
</SubjectLineParameter>
....
</SubjectLineParameters>
Response code: 200 OK
Cisco Unity Connection Provisioning Interface (CUPI) API
701
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Modifying Subject Line Formats
Page 734
Listing a particular Subject Line Parameter
The following is an example of the GET request that list a particular subject line parameter:
GET https://<connection_server>/vmrest/subject-line-parameters/<objectID>
The following is an example of the GET request to list a particular subject line parameter for a specific message
type:
https://<connection_server>/vmrest/subject-line-parameters?query=(MessageType is 2)
The Message Type is 1 for voice messages and 2 for notifications.
Note
The following is an example of the response from the above GET request.
<SubjectLineParameter>
<URI>/vmrest/subject-line-parameters/462d2eaa-8109-470e-982e-00c2c99e8770</URI>
<ObjectId>462d2eaa-8109-470e-982e-00c2c99e8770</ObjectId>
<LanguageCode>1033</LanguageCode>
<Parameter>Unknown caller ID1</Parameter>
<FactoryDefaultParameter>Unknown caller ID</FactoryDefaultParameter>
<ParameterType>1</ParameterType>
<MessageType>1</MessageType>
</SubjectLineParameter>
Response code: 200 OK
Modifying Subject Line Parameter
The following is an example of the PUT request that modifies the subject line parameters:
PUT https://<connection_server>/vmrest/subject-line-parameters/<objectID>
The following is the response of above PUT request.
<SubjectLineParameter>
<Parameter>Unknown caller ID1</Parameter>
</SubjectLineParameter>
Response code: 204 OK
Explanation of Data Fields
For Subject Type, Message Type and Parameter Type
Explanation/Comments
Type
Read/Write
Field Name
Object ID of the entity
String
Read
ObjectId
Indicates the language code
Integer
Read
LanguageCode
Cisco Unity Connection Provisioning Interface (CUPI) API
702
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Listing a particular Subject Line Parameter

Page 735
Explanation/Comments
Type
Read/Write
Field Name
1-%CALLERID% of the message sender
2-%CALLEDID% for the number dialed
3-%NAME%, display name of the sender
4-%EXTENSION%, the extension of the sender
5-%U%, defined value for urgent messages
6-%P%, defined value for private messages
7-%S%, defined value for secure messages
8-%D%, defined value for dispatch messages
9- %TIMESTAMP%, time at which the voice message is received
Integer
Read
ParameterType
1- for Voice Messages
2-For Notifications
Integer
Read
MessageType
0-Ignore, this is for invalid entry
1-Outside Caller Messages, to format string of subject line for Outside
Caller Messages
2-User to User Messages, to format string of subject line for User to
User Messages
3-Interview Handler Messages, to format string of subject line for
Interview Handler Messages
4-Live Record Messages, to format string of subject line for Live
Record Messages
5-Message Notification, to format string of subject line for Message
Notification
6-Missed Call Notification, to format string of subject line for Missed
Call Notification
7-Scheduled Summary Notification, to format string of subject line
for Scheduled Notification
Integer
Read
SubjectType
Customizes the Parameter Text
String
Write
Parameter
Customizes the SubjectLine text
String
Write
Subject
System default value for subject line paramater
String
Read
FactoryDefaultParameter
URI to get the custom subject parameters details
String
Read
CustomSubjectParameterURI
System default value for Subject
String
Read
FactoryDefaultSubject
Cisco Unity Connection Provisioning Interface (CUPI) API
703
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Explanation of Data Fields
Page 736
Cisco Unity Connection Provisioning Interface (CUPI) API --
Language Map
About Language Map
This page contains information on how to use the API to display the language map, which contains mappings
between language codes and languages. This is a list of languages available for install on a Cisco Unity
Connection server; to view the list of languages actually installed on a server, use this GET method instead:
GET http://<connection-server>/vmrest/installedlanguages
Note that currently, the API to retrieve the language map and the API to retrieve the installed languages on a
server both require System Administrator access.
Listing and Viewing
The following is an example of a GET that lists all language mappings in the language map:
GET http://<connection-server>/vmrest/languagemap
The following is an excerpt of the response from the above GET request:
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<LanguageMappings total="149">
<LanguageMapping>
<LanguageCode>1025</LanguageCode>
<LanguageAbbreviation>ARA</LanguageAbbreviation>
<LanguageTag>ar-SA</LanguageTag>
</LanguageMapping>
<LanguageMapping>
<LanguageCode>1026</LanguageCode>
<LanguageAbbreviation>BGR</LanguageAbbreviation>
<LanguageTag>bg-BG</LanguageTag>
</LanguageMapping>
<LanguageMapping>
<LanguageCode>1027</LanguageCode>
<LanguageAbbreviation>CAT</LanguageAbbreviation>
<LanguageTag>ca-ES</LanguageTag>
</LanguageMapping>
.
.
.
</LanguageMappings>
You can also use the query parameters rowsPerPage and pageNumber to limit the number of returned results.
For example:
GET http://<connection-server>/vmrest/languagemap?rowsPerPage=2&pageNumber=3
This request returns the two languages on the third page, as follows:
Cisco Unity Connection Provisioning Interface (CUPI) API
704
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- Language Map
Page 737
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<LanguageMappings total="149">
<LanguageMapping>
<LanguageCode>1029</LanguageCode>
<LanguageAbbreviation>CSY</LanguageAbbreviation>
<LanguageTag>cs-CZ</LanguageTag>
</LanguageMapping>
<LanguageMapping>
<LanguageCode>1030</LanguageCode>
<LanguageAbbreviation>DAN</LanguageAbbreviation>
<LanguageTag>da-DK</LanguageTag>
</LanguageMapping>
</LanguageMappings>
To view the language mapping for a specific language, you can use either the language code or the language
abbreviation. For example, to find out what language the language code 1041 corresponds to, use:
GET http://<connection-server>/vmrest/languagemap/1041
The following is the response from the above GET request:
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<LanguageMapping>
<LanguageCode>1041</LanguageCode>
<LanguageAbbreviation>JPN</LanguageAbbreviation>
<LanguageTag>ja-JP</LanguageTag>
</LanguageMapping>
Similarly, you can use the language abbreviation to find the corresponding language code. For example, to
find the language code for US English (abbreviated ENU), use:
GET http://<connection-server>/vmrest/languagemap/ENU
This GET request yields the following response, which indicates that 1033 is the language code for US English:
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<LanguageMapping>
<LanguageCode>1033</LanguageCode>
<LanguageAbbreviation>ENU</LanguageAbbreviation>
<LanguageTag>en-US</LanguageTag>
</LanguageMapping>
Miscellaneous
For a list of supported languages and the corresponding language codes/abbreviations, see the section "Numeric
and Alphabetic Codes for Supported Languages in Cisco Unity Connection" in the System Requirements for
Cisco Unity Connection Release 8.x available at
http://www.cisco.com/c/en/us/td/docs/voice_ip_comm/connection/8x/requirements/8xcucsysreqs.html
Cisco Unity Connection Provisioning Interface (CUPI) API
705
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Miscellaneous
Page 738
Cisco Unity Connection Provisioning Interface (CUPI) API --
LDAP Phone Number Transform
About LDAP Phone Number Transform
This page contains information on how to use the API to create, list, update, and delete LDAP phone number
transforms.
Beginning with Cisco Unity Connection 8.5, we support up to one LDAP phone number transform, which
consists of a regular expression and a replacement pattern.
Listing and Viewing
The following is an example of a GET request that lists all LDAP phone number transforms:
GET http://<connection-server>/vmrest/ldapphonenumbertransforms
The following is the response from the above GET request:
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<LdapPhoneNumberTransforms total="1">
<LdapPhoneNumberTransform>
<URI>/vmrest/ldapphonenumbertransforms/0d49a281-cc35-4b8b-bccc-f94f8b8903bd</URI>
<ObjectId>0d49a281-cc35-4b8b-bccc-f94f8b8903bd</ObjectId>
<Regex>.([0-9][0-9][0-9][0-9])</Regex>
<Replacement>9$1</Replacement>
</LdapPhoneNumberTransform>
</LdapPhoneNumberTransforms>
Creating
The required fields for creating an LDAP phone number transform are Regex and Replacement.
The following is an example of a POST request that creates an LDAP phone number transform with the Regex
field set to ".([0-9][0-9][0-9][0-9])", and the Replacement field set to "9$1":
POST https://<connection-server>/vmrest/ldapphonenumbertransforms/
<LdapPhoneNumberTransform>
<Regex>.*([0-9][0-9][0-9][0-9])</Regex>
<Replacement>9$1</Replacement>
</LdapPhoneNumberTransform>
The following is the response from the above POST request:
201
Created
/vmrest/ldapphonenumbertransforms/0d49a281-cc35-4b8b-bccc-f94f8b8903bd
Cisco Unity Connection Provisioning Interface (CUPI) API
706
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- LDAP Phone Number Transform
Page 739
Updating
The Regex and Replacement fields of an LDAP Phone Number Transform can be updated via a PUT request.
The following is an example of a PUT request that modifies the Regex and Replacement fields of an existing
LDAP phone number transform:
https://<connection-server>/vmrest/ldapphonenumbertransforms/
0d49a281-cc35-4b8b-bccc-f94f8b8903bd
<LdapPhoneNumberTransform>
<Regex>.*([0-9][0-9][0-9][0-9][0-9])</Regex>
<Replacement>8$1</Replacement>
</LdapPhoneNumberTransform>
The following is the response from the above PUT request:
204
No Content
null
Deleting
The following is an example of a DELETE request that deletes an LDAP phone number transform:
DELETE https://<connection-server>/vmrest/ldapphonenumbertransforms/
0d49a281-cc35-4b8b-bccc-f94f8b8903bd
The following is the response from the above DELETE request:
204
No Content
null
Possible Errors
As of Connection 8.5, we support one LDAP phone number transform only, so if you attempt to create a new
LDAP phone number transform (via the POST request) when there is already an existing LDAP phone number
transform, the following error will be returned:
405
Method Not Allowed
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ErrorDetails>
<errors>
<code>METHOD_NOT_ALLOWED</code>
<message>Unable to perform requested method because an LDAP phone number transform
already exists. (This version of Cisco Unity Connection supports up to one LDAP phone number
transform only.)</message>
</errors>
</ErrorDetails>
Cisco Unity Connection Provisioning Interface (CUPI) API
707
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Updating
Page 740
Cisco Unity Connection Provisioning Interface (CUPI) API --
Authorization Server
Links to Other API pages: Cisco_Unity_Connection_APIs
About Authorization Server (Authz Server)
Unity Connection 11.5(1) SU3 and later allows the use of OAuth 2.0 Authorization Code Grant Flow to
authenticate the Jabber users. This requires an Authorization Server (Authz Server) that provides the
authorization keys to Unity Connection for validating the Jabber user. In Unity Connection, the publisher
server of Cisco Unified CM associated with a phone system is configured as an Authz server.
For more information on Authorization Code Grant Flow, see "TBD".
This page contains information on how to use the API to create, list, modify, and delete an Authz server.
Listing Authz Servers
The following is an example of the GET request that lists the Authz servers:
GET https://<connection-server>/vmrest/authz/server/
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<AuthzServers total="2">
<AuthzServer>
<ObjectId>f976720d-ed5b-4cbc-95b2-e47e1e2663af</ObjectId>
<DisplayName>AuthzServer1</DisplayName>
<IgnoreCertificateError>true</IgnoreCertificateError>
<ServerUsername>admin</ServerUsername>
<ServerPassword />
<ServerNodeAddress>10.76.215.238</ServerNodeAddress>
<Port>8443</Port>
<LastSyncStatus>Passed - May 12,2017 07:00:53 AM GMT</LastSyncStatus>
</AuthzServer>
<AuthzServer>
<ObjectId>69b82e6a-a77d-499e-a953-cb7f589254aa</ObjectId>
<DisplayName>AuthzServer2</DisplayName>
<IgnoreCertificateError>false</IgnoreCertificateError>
<ServerUsername>admin</ServerUsername>
<ServerPassword />
<ServerNodeAddress>10.76.215.239</ServerNodeAddress>
<Port>8443</Port>
<LastSyncStatus>Passed - May 12,2017 07:00:53 AM GMT</LastSyncStatus>
</AuthzServer>
</AuthzServers>
Response Code: 200
Cisco Unity Connection Provisioning Interface (CUPI) API
708
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- Authorization Server
Page 741
Viewing an Authz Server
The following is an example of the GET request that lists a particular Authz server represented by <ObjectId>:
GET https://<connection-server>/vmrest/authz/server/<ObjectId>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<AuthzServer>
<ObjectId>0fa45cde-c289-415a-853f-3d706b3952d5</ObjectId>
<DisplayName>AuthzServer1</DisplayName>
<IgnoreCertificateError>true</IgnoreCertificateError>
<ServerUsername>admin</ServerUsername>
<ServerPassword />
<ServerNodeAddress>10.76.215.238</ServerNodeAddress>
<Port>8443</Port>
</AuthzServer>
Response Code: 200
Adding New Authz Server
The following is an example of the POST request that adds the Authz servers:
POST https://<connection_server>/vmrest/authz/server/
The following is an example of the response from the above POST request and the actual response will
depend upon the information given by you:
<AuthzServer>
<DisplayName>AuthzServer1</DisplayName>
<IgnoreCertificateError>true</IgnoreCertificateError>
<ServerUsername>admin</ServerUsername>
<ServerPassword>******</ServerPassword>
<ServerNodeAddress>10.76.215.238</ServerNodeAddress>
<Port>8443</Port>
</AuthzServer>
Response Code: 201
Modifying Authz Server
The following is an example of the PUT request that modifies the Authz Server as represented by <ObjectId>:
PUT https://<connection_server>/vmrest/authz/server/<objectId>
The following is an example of the response from the above PUT request and the actual response will
depend upon the information given by you:
<AuthzServer>
<ServerNodeAddress>ucbu-aricent-vm475</ServerNodeAddress>
<Port>8443</Port>
</AuthzServer>
Cisco Unity Connection Provisioning Interface (CUPI) API
709
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Viewing an Authz Server
Page 742
Response Code: 204
Deleting an Authz Server
The following is an example of the DELETE request that deletes an Authz Server as represented by <ObjectId>:
DELETE https://<connection_server>/vmrest/authz/server/<objectId>
The input for the PUT request will be. The output for this request returns the successful response code.
Response Code: 204
Synchronization of Authorization Keys
The following is an example of the PUT request that synchronize the authorization keys between Authz server
and Unity Connection:
PUT https://<connection_server>/vmrest/authz/sync/<objectId>
The output for this request returns the successful response code.
Response Code: 204
Explanation of Data Fields
The following chart lists all of the data fields:
Comments
Data Type
Operations
Parameter
Unique identifier for Authz server
String
(36)
Read
Only
ObjectId
Descriptive name of an Authz server
String
(64)
Read/Write
DisplayName
A flag that validates the certificates for the Authz server.
Possible values are:
• false: Validates the certificates for the Authz server.
• true: Ignore the certificate validation errors for the Authz
server.
For more information on certificates, see "Security" chapter of
Cisco Unified Communications Operating System
Administration Guide for Cisco Unity Connection Release 12.x
at
htps:/www.cisco.com/c/en/us/td/docs/voice_ip_comm/connection/12x/os_administration/b_12xcucosagx.html.
Boolean
Read/Write
IgnoreCertificateError
User name that Unity Connection uses to sign in to the Authz
server.
String
(64)
Read/Write
ServerUsername
Password that Unity Connection uses to sign in to the Authz
server.
String
(64)
Write
Only
ServerPassword
Cisco Unity Connection Provisioning Interface (CUPI) API
710
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Deleting an Authz Server
Page 743
Comments
Data Type
Operations
Parameter
Hostname, IP address or Fully-Qualified Domain Name
(FQDN) of the Authz server that Unity Connection connects
to.
String
(64)
Read/Write
ServerNodeAddress
The port through which Unity Connection connects to the Authz
server.
Integer
Read/Write
Port
The status and time of the last synchronization of authorization
keys between Authz server and Unity Connection.
String
(36)
Read
Only
LastSyncStatus
Cisco Unity Connection Provisioning Interface (CUPI) API --
System Default Language and TTS Language
About System Default Language and System Default TTS Language
This page contains information on how to use the API to display and update the System Default Language
and the System Default TTS Language.
The System Default Language and System Default TTS Language must be one of the installed languages on
your Cisco Unity Connection server. To retrieve the list of installed languages on your system, use:
GET http://<connection-server>/vmrest/installedlanguages
Viewing
The System Default Language and System Default TTS Language are considered part of the "local" Connection
server. To retrieve the current values for these fields, use:
GET http://<connection-server>/vmrest/locations/locallocation
The following is the response from the above GET request:
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<LocalLocation>
<DefaultLanguage>1033</DefaultLanguage>
<DefaultTTSLanguage>1033</DefaultTTSLanguage>
</LocalLocation>
Note that the returned values are the language codes for the System Default Language and System Default
TTS language. In this case, 1033 is the code for US English.
Updating
The following is an example of a PUT request that modifies the System Default Language and System Default
TTS Language. In this example, we set both to Japanese (language code 1041). Note that the language codes
Cisco Unity Connection Provisioning Interface (CUPI) API
711
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- System Default Language and TTS Language
Page 744
must be valid, and that they must correspond to a language that has been installed and licensed on your
Connection server.
PUT https://<connection-server>/vmrest/locations/locallocation
<LocalLocation>
<DefaultLanguage>1041</DefaultLanguage>
<DefaultTTSLanguage>1041</DefaultTTSLanguage>
</LocalLocation>
The following is the response from the above PUT request:
204
No Content
null
Cisco Unity Connection Provisioning Interface (CUPI) API --
Wave Formats
About Wave Formats
This page contains information on how to use the API to list wave formats. Cisco Unity Connection supports
several different wave formats that recorded messages can be stored in. This URI is accessible to both users
and administrators
Listing and Viewing
The following is an example of a GET that lists all wave formats:
GET http://<connection-server>/vmrest/waveformats
To retrieve a specific wave format by its object ID:
GET http://<connection-server>/vmrest/waveformats/<objectid>
The following is an example response from the above GET request:
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<WaveFormat>
<URI>/vmrest/waveformats/cb85b520-e2de-4878-96e2-3331607f4671</URI>
<ObjectId>cb85b520-e2de-4878-96e2-3331607f4671</ObjectId>
<AvgBytesPerSec>1000</AvgBytesPerSec>
<BitsPerSample>0</BitsPerSample>
<BlockAlign>10</BlockAlign>
<Channels>1</Channels>
<FormatName>G.729a</FormatName>
<FormatTag>307</FormatTag>
<SamplesPerSec>8000</SamplesPerSec>
<JavaEncoding>G.729a</JavaEncoding>
<CodecId>3</CodecId>
</WaveFormat>
Cisco Unity Connection Provisioning Interface (CUPI) API
712
Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings
Cisco Unity Connection Provisioning Interface (CUPI) API -- Wave Formats
Page 745
C H A P T E R 46
Cisco Unity Connection Provisioning Interface
(CUPI) API for Schedules
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedules, on page 713
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Holiday Schedules , on page 729
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedules Set, on page 734
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedules Set Details, on page 740
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedules Set Members, on page 740
Cisco Unity Connection Provisioning Interface (CUPI) API --
Schedules
Overview of Cisco Unity Connection Schedule Objects
Schedules in Cisco Unity Connection are somewhat complicated, since they are composed of several different
types of objects. Before presenting the API for accessing schedules, it may be useful to review what these
objects are and how they are used.
ScheduleSet Objects
ScheduleSet objects are the top-level objects. They are comprised of one or more Schedules, each of which
is marked as included or excluded in the ScheduleSet.
Schedule Objects
Schedule objects are composed of one or more ScheduleDetail objects.
ScheduleDetail Objects
ScheduleDetail objects are the atomic schedule building blocks which comprise Schedule objects. They can
be specified with Start and End Dates, Start and End Times of the day, and active Days of the Week.
ScheduleDetails have a link to the Schedule objects that they are part of, and said Schedule object in a sense
owns the ScheduleDetail object.
Cisco Unity Connection Provisioning Interface (CUPI) API
713

Page 746
ScheduleSetMemberMap Objects
ScheduleSetMemberMap objects provide the linkage between a ScheduleSet and a Schedule that is included
or excluded from it (via a boolean called Exclude). There will be one ScheduleSetMemberMap object for
each Schedule that is included in or excluded from a ScheduleSet.
A ScheduleSetMemberMap abstracts the linkage between a ScheduleSet and a Schedule since neither object
has an explicit linkage or ownership relationship of the other. One reason for this is that several ScheduleSets
might reference the same Schedule (a Holiday Schedule for example). This differs from the relationship
between a Schedule and a ScheduleDetail, since a ScheduleDetail has an explicit link to a Schedule, the
Schedule essentially owns the ScheduleDetail, and no other Schedule may use another Schedule's ScheduleDetail
object.
Schedule Example
For example, let's model a weekday schedule with the lunch hour blocked out as unavailable every work day,
and with various holidays blocked out as well. Using the objects discussed previously, this schedule might
be composed like so:
• First, we create a top-level ScheduleSet called WeekdaySet. WeekdaySet includes the WeekdaySchedule
and excludes the HolidaySchedule (2 Schedule objects).
• After we create these 2 Schedule objects, we create 2 ScheduleSetMemberMap objects for WeekdaySet
- one to include WeekdaySchedule and one to exclude HolidaySchedule.
• Then, we create 2 ScheduleDetail objects for WeekdaySchedule - one active from 8AM to 12PM Mon-Fri,
and the other active from 1PM to 5PM Mon-Fri.
• Finally, we create various ScheduleDetails objects for HolidaySchedule, one per holiday. For example,
we might create a July4ScheduleDetail with start and end dates both set to July 4 2010, and a
WinterBreakScheduleDetail with a start date of Dec 23 2010 and an end date of Jan 3 2011.
To see how to create this schedule via CUPI, see the Schedule Example page.
CUPI for Schedules
The previously described database objects are accessible to the administrator via CUPI. The following sections
list the URIs to access these resources along with the data contained within them.
ScheduleSets in CUPI
ScheduleSets are top-level resources in CUPI, with a base URI of +/vmrest/schedulesets+.
A ScheduleSet object has the following fields:
Notes
Default
Field
Type
Field Name
NA
None
GUID
ObjectId
The unique identifier of the tenant to which the schedulesets
belong. This field is reflected in the response only if the
schedulesets belong to a particular tenant.
String
(36)
Read
Only
TenantObjectId
NA
None
String
(64)
DisplayName
One of the Owners must be non-NULL
Null
GUID
OwnerLocationObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
714
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
ScheduleSetMemberMap Objects
Page 747
Notes
Default
Field
Type
Field Name
NA
Null
GUID
OwnerPersonalRulesSetObjectId
NA
Null
GUID
OwnerSubscriberObjectId
Is only True for factory default objects
False
Boolean
Undeletable
Retrieving the list of ScheduleSets
To retrieve the list of ScheduleSets, an administrator makes a GET to the schedulesets resource:
GET /vmrest/schedulesets
This would return the following on success:
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<ScheduleSets total="3">
<ScheduleSet>
<URI>/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da</URI>
<ObjectId>30d9c0df-534b-437a-a6b7-439adfd850da</ObjectId>
<DisplayName>Weekdays</DisplayName>
<OwnerLocationObjectId>6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationObjectId>
<OwnerLocationURI>/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationURI>
<Undeletable>true</Undeletable>
<ScheduleSetMemberURI>/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers</ScheduleSetMemberURI>
</ScheduleSet>
<ScheduleSet>
<URI>/vmrest/schedulesets/75af01af-d290-4e0e-9862-5adf8293536c</URI>
<ObjectId>75af01af-d290-4e0e-9862-5adf8293536c</ObjectId>
<DisplayName>All Hours</DisplayName>
<OwnerLocationObjectId>6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationObjectId>
<OwnerLocationURI>/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationURI>
<Undeletable>true</Undeletable>
<ScheduleSetMemberURI>/vmrest/schedulesets/75af01af-d290-4e0e-9862-5adf8293536c/schedulesetmembers</ScheduleSetMemberURI>
</ScheduleSet>
<ScheduleSet>
<URI>/vmrest/schedulesets/e2e381e4-6096-4643-b0bb-b17a65b101bc</URI>
<ObjectId>e2e381e4-6096-4643-b0bb-b17a65b101bc</ObjectId>
<TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId>
<DisplayName>Voice Recognition Update Schedule</DisplayName>
<OwnerLocationObjectId>6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationObjectId>
<OwnerLocationURI>/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationURI>
<Undeletable>false</Undeletable>
<ScheduleSetMemberURI>/vmrest/schedulesets/e2e381e4-6096-4643-b0bb-b17a65b101bc/schedulesetmembers</ScheduleSetMemberURI>
</ScheduleSet>
</ScheduleSets>
Cisco Unity Connection Provisioning Interface (CUPI) API
715
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Retrieving the list of ScheduleSets
Page 748
Listing Specific Tenant Related ScheduleSets by System Administrator
In Cisco Unity Connection 10.5(2) and later, the system administrator can use TenantObjectID to list the
specific tenant related schedulesets using the following URI:
GET https://<connection-server>/vmrest/schedulesets?query=(TenantObjectId is
<Tenant-ObjectId>)
To get the TenantObjectID, use the following URI:
GET https://<connection-server>/vmrest/tenants
Retrieving a ScheduleSet
To retrieve a single ScheduleSet, an administrator makes a GET to the schedulesets resource, specifying the
ObjectId of the requested ScheduleSet in the URI:
GET /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da
This would return the following on success:
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<ScheduleSet>
<URI>/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da</URI>
<ObjectId>30d9c0df-534b-437a-a6b7-439adfd850da</ObjectId>
<DisplayName>Weekdays</DisplayName>
<OwnerLocationObjectId>6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationObjectId>
<OwnerLocationURI>/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationURI>
<Undeletable>true</Undeletable>
<ScheduleSetMemberURI>/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers</ScheduleSetMemberURI>
</ScheduleSet>
This would return the following if the specified ScheduleSet does not exist:
404
Not Found
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ErrorDetails>
<errors>
<code>NOT_FOUND</code>
<message>scheduleset - ObjectId=30d9c0df-534b-437a-a6b7-439adfd850da</message>
</errors>
</ErrorDetails>
Adding a ScheduleSet
To add a new ScheduleSet, an administrator makes a POST to the schedulesets resource, specifying the new
ScheduleSet via XML:
POST /vmrest/schedulesets
<ScheduleSet>
<DisplayName>Night Shift</DisplayName>
<OwnerLocationObjectId>6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationObjectId>
</ScheduleSet>
Cisco Unity Connection Provisioning Interface (CUPI) API
716
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Listing Specific Tenant Related ScheduleSets by System Administrator
Page 749
This will return the URI to the newly created ScheduleSet (which includes its ObjectId):
201
Created
/vmrest/user/schedulesets/0e58ec49-5064-4c9a-b1dc-dd47fe189419
Changing a ScheduleSet
To change an existing ScheduleSet, an administrator makes a PUT to the schedulesets resource, specifying
the ObjectId of the ScheduleSet they wish to change in the URI and any data changes via XML:
PUT /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da
<ScheduleSet>
<DisplayName>Graveyard Shift</DisplayName>
</ScheduleSet>
This would return the following on success:
204
No Content
This would return the following if the specified scheduleset does not exist:
400
Bad Request
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ErrorDetails>
<errors>
<code>DATA_EXCEPTION</code>
<message>ScheduleSet not found </message>
</errors>
</ErrorDetails>
Deleting a ScheduleSet
To delete an existing ScheduleSet, an administrator makes a DELETE to the schedulesets resource, specifying
the ObjectId of the ScheduleSet they wish to delete in the URI:
DELETE /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da
This would return the following on success:
204
No Content
This would return the following if the specified scheduleset does not exist:
404
Not Found
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ErrorDetails>
<errors>
<code>NOT_FOUND</code>
<message>scheduleset - ObjectId=30d9c0df-534b-437a-a6b7-439adfd850da</message>
</errors>
</ErrorDetails>
Cisco Unity Connection Provisioning Interface (CUPI) API
717
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Changing a ScheduleSet
Page 750
Note that if an administrator deletes a ScheduleSet object, then all of the supporting ScheduleSetMembers
for that ScheduleSet will also be deleted.
Schedules in CUPI
Schedules are top-level resources in CUPI, with a base URI of +/vmrest/schedules+.
A Schedule object has the following fields:
Notes
Default
Field
Type
Field Name
Na
None
GUID
ObjectId
The unique identifier of the tenant to which the schedule belong.
This field is reflected in the response only if the schedule belong
to a particular tenant.
String
(36)
Read
Only
TenantObjectId
NA
None
String
(64)
DisplayNamre
One of the Owner's must be non-NULL
NULL
GUID
OwnerLocationObjectId
Na
NULL
GUID
OwnerPersonalRuleSetObjectId
NA
NULL
GUID
OwnerSubscriberObjectId
Is only True for factory default objects
False
Boolean
Undeletable
NULL means effective immediately
NULL
DateTime
StartDate
NULL means effective indefinitely
NULL
DateTime
EndDate
Holiday Greetings are used during this period if True
False
Bolean
IsHoliday
Retrieving the list of Schedules
To retrieve the list of Schedules, an administrator makes a GET to the schedules resource:
GET /vmrest/schedules
This would return the following on success:
Cisco Unity Connection Provisioning Interface (CUPI) API
718
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Schedules in CUPI
Page 751
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<Schedules total="3">
<Schedule>
<URI>/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76</URI>
<ObjectId>387f051e-3367-4cc8-abed-810293d39f76</ObjectId>
<DisplayName>Weekdays</DisplayName>
<OwnerLocationObjectId>6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationObjectId>
<OwnerLocationURI>/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationURI>
<Undeletable>true</Undeletable>
<IsHoliday>false</IsHoliday>
<ScheduleDetailsURI>/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails</ScheduleDetailsURI>
</Schedule>
<Schedule>
<URI>/vmrest/schedules/75af01af-d290-4e0e-9862-5adf8293536c</URI>
<ObjectId>75af01af-d290-4e0e-9862-5adf8293536c</ObjectId>
<DisplayName>All Hours</DisplayName>
<OwnerLocationObjectId>6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationObjectId>
<OwnerLocationURI>/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationURI>
<Undeletable>true</Undeletable>
<IsHoliday>false</IsHoliday>
<ScheduleDetailsURI>/vmrest/schedules/75af01af-d290-4e0e-9862-5adf8293536c/scheduledetails</ScheduleDetailsURI>
</Schedule>
<Schedule>
<URI>/vmrest/schedules/e2e381e4-6096-4643-b0bb-b17a65b101bc</URI>
<ObjectId>e2e381e4-6096-4643-b0bb-b17a65b101bc</ObjectId>
<TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId>
<DisplayName>Holidays</DisplayName>
<OwnerLocationObjectId>6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationObjectId>
<OwnerLocationURI>/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationURI>
<Undeletable>false</Undeletable>
<IsHoliday>true</IsHoliday>
<ScheduleDetailsURI>/vmrest/schedules/e2e381e4-6096-4643-b0bb-b17a65b101bc/scheduledetails</ScheduleDetailsURI>
</Schedule>
</Schedules>
Listing Specific Tenant Related Schedules by System Administrator
In Cisco Unity Connection 10.5(2) and later, the system administrator can use TenantObjectID to list the
specific tenant related schedules using the following URI:
GET https://<connection-server>/vmrest/schedules?query=(TenantObjectId is <Tenant-ObjectId>)
To get the TenantObjectID, use the following URI:
GET https://<connection-server>/vmrest/tenants
Cisco Unity Connection Provisioning Interface (CUPI) API
719
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Listing Specific Tenant Related Schedules by System Administrator
Page 752
Retrieving a Schedule
To retrieve a single Schedule, an administrator makes a GET to the schedules resource, specifying the Objectid
of the requested Schedule in the URI:
GET /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76
This would return the following on success:
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<Schedule>
<URI>/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76</URI>
<ObjectId>387f051e-3367-4cc8-abed-810293d39f76</ObjectId>
<DisplayName>Weekdays</DisplayName>
<OwnerLocationObjectId>6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationObjectId>
<OwnerLocationURI>/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationURI>
<Undeletable>true</Undeletable>
<IsHoliday>false</IsHoliday>
<ScheduleDetailsURI>/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails</ScheduleDetailsURI>
</Schedule>
This would return the following if the specified Schedule does not exist:
404
Not Found
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ErrorDetails>
<errors>
<code>NOT_FOUND</code>
<message>schedule - ObjectId=387f051e-3367-4cc8-abed-810293d39f76</message>
</errors>
</ErrorDetails>
Adding a Schedule
To add a new Schedule, an administrator makes a POST to the schedules resource, specifying the new Schedule
via XML:
POST /vmrest/schedules
<Schedule>
<DisplayName>EveningShift</DisplayName>
<OwnerLocationObjectId>6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationObjectId>
<IsHoliday>false</IsHoliday>
</Schedule>
This will return the URI to the newly created Schedule (which includes its ObjectId):
201
Created
/vmrest/user/schedules/df7faf3b-3278-4852-b488-7e3134dc3336
Cisco Unity Connection Provisioning Interface (CUPI) API
720
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Retrieving a Schedule
Page 753
Changing a Schedule
To change an existing Schedule, an administrator makes a PUT to the schedules resource, specifying the
ObjectId of the Schedule they wish to change in the URI and any data changes via XML:
PUT /vmrest/schedules/df7faf3b-3278-4852-b488-7e3134dc3336
<Schedule>
<DisplayName>No Daylight Shift</DisplayName>
</Schedule>
This would return the following on success:
204
No Content
This would return the following if the specified schedule does not exist:
400
Bad Request
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ErrorDetails>
<errors>
<code>DATA_EXCEPTION</code>
<message>Schedule not found </message>
</errors>
</ErrorDetails>
Deleting a Schedule
To delete an existing Schedule, an administrator makes a DELETE to the schedules resource, specifying the
ObjectId of the Schedule they wish to delete in the URI:
DELETE /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76
This would return the following on success:
204
No Content
This would return the following if the specified schedule does not exist:
404
Not Found
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ErrorDetails>
<errors>
<code>NOT_FOUND</code>
<message>schedule - ObjectId=387f051e-3367-4cc8-abed-810293d39f76</message>
</errors>
</ErrorDetails>
Note that if an administrator deletes a Schedule object, then all of the supporting ScheduleDetail objects for
that Schedule will also be deleted.
Cisco Unity Connection Provisioning Interface (CUPI) API
721
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Changing a Schedule
Page 754
ScheduleSetMembers in CUPI
ScheduleSetMembers are the resources representing ScheduleSetMemberMaps objects. They are sub-resources
of ScheduleSets in CUPI, and thus are at a sub-URI of the schedulesets resource:
+/vmrest/scheduleset/+{}+<ScheduleSetObjectId>+{}+/schedulesetmembers+.
A ScheduleSetMember object has the following fields:
Notes
Default
Field Type
Field Name
Owning ScheduleSet
None
GUID
ScheduleSetObjectId
Schedule to include/exclude from ScheduleSet
None
GUID
ScheduleObjectId
False means Include, True means Exclude
False
Boolean
Exclude
Retrieving the list of ScheduleSetMembers
To retrieve the list of ScheduleSetMembers for a particular ScheduleSet, an administrator makes a GET to
the schedulesetmembers resource, specifying the ObjectId of the ScheduleSet in the URI:
GET /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers
This would return the following on success:
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<ScheduleSetMembers total="2">
<ScheduleSetMember>
<URI>/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers/a1f34a57-b642-4d8b-9634-b4c2e37bfd2b</URI>
<ScheduleSetObjectId>30d9c0df-534b-437a-a6b7-439adfd850da</ScheduleSetObjectId>
<ScheduleSetURI>/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da</ScheduleSetURI>
<ScheduleObjectId>a1f34a57-b642-4d8b-9634-b4c2e37bfd2b</ScheduleObjectId>
<ScheduleURI>/vmrest/schedules/a1f34a57-b642-4d8b-9634-b4c2e37bfd2b</ScheduleURI>
<Exclude>false</Exclude>
</ScheduleSetMember>
<ScheduleSetMember>
<URI>/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers/279fd73f-36a9-469a-9ad5-a0f80f09b2d</URI>
<ScheduleSetObjectId>30d9c0df-534b-437a-a6b7-439adfd850da</ScheduleSetObjectId>
<ScheduleSetURI>/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da</ScheduleSetURI>
<ScheduleObjectId>279fd73f-36a9-469a-9ad5-a0f80f09b2d</ScheduleObjectId>
<ScheduleURI>/vmrest/schedules/279fd73f-36a9-469a-9ad5-a0f80f09b2d</ScheduleURI>
<Exclude>true</Exclude>
</ScheduleSetMember>
</ScheduleSetMembers>
Retrieving a ScheduleSetMember
To retrieve a single ScheduleSetMember for a particular ScheduleSet, an administrator makes a GET to the
schedulesetmembers resource, specifying the ObjectIds of the ScheduleSet and the requested
ScheduleSetMember in the URI:
Cisco Unity Connection Provisioning Interface (CUPI) API
722
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
ScheduleSetMembers in CUPI
Page 755
GET
/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers/a1f34a57-b642-4d8b-9634-b4c2e37bfd2b
This would return the following on success:
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<ScheduleSetMember>
<URI>/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers/a1f34a57-b642-4d8b-9634-b4c2e37bfd2b</URI>
<ScheduleSetObjectId>30d9c0df-534b-437a-a6b7-439adfd850da</ScheduleSetObjectId>
<ScheduleSetURI>/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da</ScheduleSetURI>
<ScheduleObjectId>a1f34a57-b642-4d8b-9634-b4c2e37bfd2b</ScheduleObjectId>
<ScheduleURI>/vmrest/schedules/a1f34a57-b642-4d8b-9634-b4c2e37bfd2b</ScheduleURI>
<Exclude>false</Exclude>
</ScheduleSetMember>
This would return the following if the specified ScheduleSetMember does not exist (meaning the Schedule
is not listed as either included or excluded from the ScheduleSet):
404
Not Found
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ErrorDetails>
<errors>
<code>NOT_FOUND</code>
<message>schedulesetmember - ObjectId=a1f34a57-b642-4d8b-9634-b4c2e37bfd2b</message>
</errors>
</ErrorDetails>
Adding a ScheduleSetMember
To add a new ScheduleSetMember to a particular ScheduleSet, an administrator makes a POST to the
schedulessetmembers resource, specifying the ObjectId of the ScheduleSet in the URI and the new
ScheduleSetMember via XML:
POST /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers
<ScheduleSetMember>
<ScheduleSetObjectId>30d9c0df-534b-437a-a6b7-439adfd850da</ScheduleSetObjectId>
<ScheduleObjectId>db46f878-bc72-4870-9482-9f1c336641ed</ScheduleObjectId>
<Exclude>false</Exclude>
</ScheduleSetMember>
This will return the URI to the newly created ScheduleSetMember (which includes its ObjectId):
201
Created
/vmrest/user/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers/68c53107-5d28-4f40-ae43-f83d35eee8d6
Cisco Unity Connection Provisioning Interface (CUPI) API
723
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Adding a ScheduleSetMember
Page 756
A ScheduleSet can have at most 1 Schedule marked as Included, and that Schedule must not be a Holiday
Schedule. A ScheduleSet can also have at most 1 Schedule marked as Excluded, and that Schedule must be
a Holiday Schedule. If an administrator makes a POST to the schedulesetmembers resource in an attempt to
Include or Exclude more than 1 Schedule of a given type to a ScheduleSet, then CUPI will return an HTTP
400 error with a descriptive error message. Similarly, if an administrator makes a POST to the
schedulesetmembers resource in an attempt to Include a Holiday Schedule or Exclude a non-Holiday Schedule,
then CUPI will return an HTTP 400 error with a descriptive error message.
Note
Changing a ScheduleSetMember
The schedulesetmembers resource does not support the PUT method. In order to change a ScheduleSetMember,
an administrator must delete the existing one and then add it back with the requested change.
Deleting a ScheduleSetMember
To delete an existing ScheduleSetMember for a particular ScheduleSet, an administrator makes a DELETE
to the schedulesetmembers resource, specifying the ObjectIds of the ScheduleSet and the ScheduleSetMember
they wish to delete in the URI:
DELETE
/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers/a1f34a57-b642-4d8b-9634-b4c2e37bfd2b
This would return the following on success:
204
No Content
This would return the following if the specified schedulesetmember does not exist:
404
Not Found
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ErrorDetails>
<errors>
<code>NOT_FOUND</code>
<message>schedulesetmember - ObjectId=a1f34a57-b642-4d8b-9634-b4c2e37bfd2b</message>
</errors>
</ErrorDetails>
ScheduleDetails in CUPI
ScheduleDetails are sub-resources of Schedules in CUPI, and thus are at a sub-URI of the schedules resources:
+/vmrest/schedules/+{}+<ScheduleObjectId>+{}+/scheduledetails+.
A ScheduleDetail object has the following field:
Notes
Default
Field Type
Field Name
NA
None
GUID
ObjectId
NA
None
String
(2048)
Subject
Owning Schedule
None
GUID
ScheduleObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
724
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Changing a ScheduleSetMember

Page 757
Notes
Default
Field Type
Field Name
NULL means effective immediately, also Time portion of DateTime
is ignored
NULL
DateTime
StartDate
NULL means 12:00AM, otherwise minutes past 12:00AM so 480
means 8:00AM
NULL
Int
StartTime
NULL means effective indefinitely, also Time portion of DateTime
is ignored
NULL
DateTime
EndDate
NULL means End-of-Day (11:59:59PM), otherwise minutes past
12:00AM so 1020 means 5:00PM
NULL
Int
EndTime
NA
False
Boolean
IsActiveMonday
NA
False
Boolean
IsActiveTuesday
NA
False
Boolean
IsActiveWednesday
NA
False
Boolean
IsActiveThursday
NA
False
Boolean
IsActiveFriday
NA
False
Boolean
IsActiveSaturday
NA
False
Boolean
IsActiveSunday
Retrieving the list of ScheduleDetails
To retrieve the list of ScheduleDetails for a particular Schedule, an administrator makes a GET to the
scheduledetails resource, specifying the ObjectId of the Schedule in the URI:
GET /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails
This would return the following on success:
Cisco Unity Connection Provisioning Interface (CUPI) API
725
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Retrieving the list of ScheduleDetails
Page 758
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<ScheduleDetails total="2">
<ScheduleDetail>
<URI>/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e</URI>
<ObjectId>fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e</ObjectId>
<ScheduleObjectId>387f051e-3367-4cc8-abed-810293d39f76</ScheduleObjectId>
<ScheduleURI>/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76</ScheduleURI>
<Subject>Weekday Mornings</Subject>
<StartTime>480</StartTime>
<EndTime>720</EndTime>
<IsActiveMonday>true</IsActiveMonday>
<IsActiveTuesday>true</IsActiveTuesday>
<IsActiveWednesday>true</IsActiveWednesday>
<IsActiveThursday>true</IsActiveThursday>
<IsActiveFriday>true</IsActiveFriday>
<IsActiveSaturday>false</IsActiveSaturday>
<IsActiveSunday>false</IsActiveSunday>
</ScheduleDetail>
<ScheduleDetail>
<URI>/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/e049dc1e-7447-4e2a-907e-03d67e2d40a1</URI>
<ObjectId>e049dc1e-7447-4e2a-907e-03d67e2d40a1</ObjectId>
<ScheduleObjectId>387f051e-3367-4cc8-abed-810293d39f76</ScheduleObjectId>
<ScheduleURI>/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76</ScheduleURI>
<Subject>Weekday Afternoons</Subject>
<StartTime>780</StartTime>
<EndTime>1020</EndTime>
<IsActiveMonday>true</IsActiveMonday>
<IsActiveTuesday>true</IsActiveTuesday>
<IsActiveWednesday>true</IsActiveWednesday>
<IsActiveThursday>true</IsActiveThursday>
<IsActiveFriday>true</IsActiveFriday>
<IsActiveSaturday>false</IsActiveSaturday>
<IsActiveSunday>false</IsActiveSunday>
</ScheduleDetail>
</ScheduleDetails>
Retrieving a ScheduleDetail
To retrieve a single ScheduleDetail for a particular Schedule, an administrator makes a GET to the
scheduledetails resource, specifying the ObjectIds of the Schedule and the requested ScheduleDetail in the
URI:
GET
/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e
This would return the following on success:
Cisco Unity Connection Provisioning Interface (CUPI) API
726
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Retrieving a ScheduleDetail
Page 759
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<ScheduleDetail>
<URI>/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e</URI>
<ObjectId>fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e</ObjectId>
<ScheduleObjectId>387f051e-3367-4cc8-abed-810293d39f76</ScheduleObjectId>
<ScheduleURI>/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76</ScheduleURI>
<Subject>Weekday Mornings</Subject>
<StartTime>480</StartTime>
<EndTime>720</EndTime>
<IsActiveMonday>true</IsActiveMonday>
<IsActiveTuesday>true</IsActiveTuesday>
<IsActiveWednesday>true</IsActiveWednesday>
<IsActiveThursday>true</IsActiveThursday>
<IsActiveFriday>true</IsActiveFriday>
<IsActiveSaturday>false</IsActiveSaturday>
<IsActiveSunday>false</IsActiveSunday>
</ScheduleDetail>
This would return the following if the specified ScheduleDetail does not exist:
404
Not Found
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ErrorDetails>
<errors>
<code>NOT_FOUND</code>
<message>scheduledetail - ObjectId=fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e</message>
</errors>
</ErrorDetails>
Adding a ScheduleDetail
To add a new ScheduleDetail to a particular Schedule, an administrator makes a POST to the scheduledetails
resource, specifying the ObjectId of the Schedule in the URI and the new ScheduleDetail via XML:
POST /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails
<ScheduleDetail>
<Subject>Saturday (Half-day)</Subject>
<StartTime>540</StartTime>
<EndTime>780</EndTime>
<IsActiveSaturday>true</IsActiveSaturday>
</ScheduleDetail>
This will return the URI to the newly created ScheduleDetail (which includes its ObjectId):
201
Created
/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/9d8afb61-bd4b-4e65-b274-e870a2b51865
Changing a ScheduleDetail
To change an existing ScheduleDetail for a particular Schedule, an administrator makes a PUT to the
scheduledetails resource, specifying the ObjectId of the Schedule and the ScheduleDetail they wish to change
in the URI and the data changes via XML:
Cisco Unity Connection Provisioning Interface (CUPI) API
727
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Adding a ScheduleDetail
Page 760
PUT
/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e
<ScheduleDetail>
<StartTime>450</StartTime>
</ScheduleDetail>
This would return the following on success:
204
No Content
This would return the following if the specified ScheduleDetail does not exist:
400
Bad Request
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ErrorDetails>
<errors>
<code>DATA_EXCEPTION</code>
<message>ScheduleDetail not found </message>
</errors>
</ErrorDetails>
Deleting a ScheduleDetail
To delete an existing ScheduleDetail from a particular Schedule, an administrator makes a DELETE to the
scheduledetails resource, specifying the ObjectId of the Schedule and the ScheduleDetail they wish to delete
in the URI:
DELETE
/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/9d8afb61-bd4b-4e65-b274-e870a2b51865
This would return the following on success:
204
No Content
This would return the following if the specified ScheduleDetail does not exist:
404
Not Found
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ErrorDetails>
<errors>
<code>NOT_FOUND</code>
<message>scheduledetail - ObjectId=9d8afb61-bd4b-4e65-b274-e870a2b51865</message>
</errors>
</ErrorDetails>
Cisco Unity Connection Provisioning Interface (CUPI) API
728
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Deleting a ScheduleDetail
Page 761
Cisco Unity Connection Provisioning Interface (CUPI) API --
Holiday Schedules
Holiday Schedules API
Administrator can use this API to create/update/delete/fetch the holiday schedules. Various attributes of
holiday schedules can also be updated using this API.
Listing the Holiday Schedule Details
The following is an example of the GET request that list the holiday schedules:
GET https://<connection-server>/vmrest/schedules/<holidayschedule-objectid>/scheduledetails
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<ScheduleDetails total="1">
<ScheduleDetail>
<URI>/vmrest/schedules/f62e3780-4bfc-4c8f-91a4-3ac4e35803c4/scheduledetails/894f29bc-8ff1-4183-b8c1-f1c304d9109b</URI>
<ObjectId>894f29bc-8ff1-4183-b8c1-f1c304d9109b</ObjectId>
<ScheduleObjectId>f62e3780-4bfc-4c8f-91a4-3ac4e35803c4</ScheduleObjectId>
<ScheduleURI>/vmrest/schedules/f62e3780-4bfc-4c8f-91a4-3ac4e35803c4</ScheduleURI>
<IsActiveMonday>false</IsActiveMonday>
<IsActiveTuesday>false</IsActiveTuesday>
<IsActiveWednesday>false</IsActiveWednesday>
<IsActiveThursday>false</IsActiveThursday>
<IsActiveFriday>false</IsActiveFriday>
<IsActiveSaturday>true</IsActiveSaturday>
<IsActiveSunday>true</IsActiveSunday>
<StartTime>480</StartTime>
<EndTime>1020</EndTime>
</ScheduleDetail>
</ScheduleDetails>
Response Code: 200
JSON Example
To list all the holiday schedules, do the following:
GET https://<connection-server>/vmrest/schedules/<holidayscheduleobjectid>/scheduleobjectid
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
729
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Cisco Unity Connection Provisioning Interface (CUPI) API -- Holiday Schedules
Page 762
{
"@total": "1",
"ScheduleDetail":
{
"URI":
"/vmrest/schedules/f62e3780-4bfc-4c8f-91a4-3ac4e35803c4/scheduledetails/894f29bc-8ff1-4183-b8c1-f1c304d9109b",
"ObjectId": "894f29bc-8ff1-4183-b8c1-f1c304d9109b",
"ScheduleObjectId": "f62e3780-4bfc-4c8f-91a4-3ac4e35803c4",
"ScheduleURI": "/vmrest/schedules/f62e3780-4bfc-4c8f-91a4-3ac4e35803c4",
"IsActiveMonday": "false",
"IsActiveTuesday": "false",
"IsActiveWednesday": "false",
"IsActiveThursday": "false",
"IsActiveFriday": "false",
"IsActiveSaturday": "true",
"IsActiveSunday": "true",
"StartTime": "480",
"EndTime": "1020"
}
}
Response Code: 200
Viewing the Specific Holiday Schedule
The following is an example of the GET request that lists the details of a specific holiday schedule represented
by the provided value of holiday schedule object ID:
GET https://<connection-server>/vmrest/schedules/<holidayscheduleobjectid>
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<Schedule>
<URI>/vmrest/schedules/f62e3780-4bfc-4c8f-91a4-3ac4e35803c4</URI>
<ObjectId>f62e3780-4bfc-4c8f-91a4-3ac4e35803c4</ObjectId>
<DisplayName>Tenant1_Holiday_1</DisplayName>
<OwnerLocationObjectId>97a1e9ab-6a69-4272-952a-b0e25c08aaaf</OwnerLocationObjectId>
<OwnerLocationURI>/vmrest/locations/connectionlocations/97a1e9ab-6a69-4272-952ab0e25c08aaaf</OwnerLocationURI>
<IsHoliday>true</IsHoliday>
<Undeletable>false</Undeletable>
<ScheduleDetailsURI>/vmrest/schedules/f62e3780-4bfc-4c8f-91a4-3ac4e35803c4/scheduledetails</ScheduleDetailsURI>
</Schedule>
Response Code: 200
JSON Example
To view a specific holiday schedule, do the following:
GET https://<connection-server>/vmrest/schedules/<holidayscheduleobjectid>
Accept: application/json
Connection: keep-alive
Cisco Unity Connection Provisioning Interface (CUPI) API
730
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Viewing the Specific Holiday Schedule
Page 763
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"URI": "/vmrest/schedules/10c9ac6c-6a4c-4559-be75-2c409ef85054",
"ObjectId": "10c9ac6c-6a4c-4559-be75-2c409ef85054",
"DisplayName": "Tenant2_Holiday_1",
"OwnerLocationObjectId": "97a1e9ab-6a69-4272-952a-b0e25c08aaaf",
"OwnerLocationURI":
"/vmrest/locations/connectionlocations/97a1e9ab-6a69-4272-952ab0e25c08aaaf",
"IsHoliday": "true",
"Undeletable": "false",
"ScheduleDetailsURI":
"/vmrest/schedules/10c9ac6c-6a4c-4559-be75-2c409ef85054/scheduledetails"
}
Response Code: 200
Creating a New Holiday Schedule
The following is an example of POST request that can be used to create a new holiday schedule:
POST https://<connection-server>/vmrest/schedules
Request Body:
<Schedule>
<DisplayName>Texoma_Holiday</DisplayName>
<OwnerLocationObjectId>5150cb31-a665-47d8-a311-9cc4524810d39</OwnerLocationObjectId>
<IsHoliday>true</IsHoliday>
</Schedule>
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/schedules/f62e3780-4bfc-4c8f-91a4-3ac4e35803c4
JSON Example
To create a new holiday schedule, do the following:
POST https://<connection-server>/vmrest/schedules
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"DisplayName":"Texoma_Holiday ",
"OwnerLocationObjectId":"5150cb31-a665-47d8-a311-9cc4524810d3",
"IsHoliday":"true"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/schedules/f62e3780-4bfc-4c8f-91a4-3ac4e35803c4
Cisco Unity Connection Provisioning Interface (CUPI) API
731
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Creating a New Holiday Schedule
Page 764
Updating the Holiday Schedule
The following is an example of the PUT request that can be used to modify the holiday schedule where only
description field can be updated:
The following is an example of the PUT request that can be used to modify the holiday schedule where only
description field can be updated:
PUT https://<connection-server>/vmrest/schedules/<holidayscheduleobjectid>
Request Body:
<Schedule>
<DisplayName>Texoma1_Holiday</DisplayName>
<OwnerLocationObjectId>5150cb31-a665-47d8-a311-9cc4524810d3</OwnerLocationObjectId>
</Schedule>
Response Code: 204
JSON Example
To update the holiday schedule, do the following:
PUT https://<connection-server>/vmrest/schedules/<holidayscheduleobjectid>
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body:
{
"DisplayName":"Texoma1_Holiday ",
"OwnerLocationObjectId":"5150cb31-a665-47d8-a311-9cc4524810d3"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Deleting a Holiday Schedule
This request can be used to delete an existing holiday Schedule; an administrator makes a DELETE to the
schedules resource, specifying the object ID of the holiday schedule they wish to delete in the URI:
DELETE https://<connection-server>/vmrest/schedules/<holidayscheduleobjectid>
Response Code: 204
JSON Example
DELETE https://<connection-ip>/vmrest/schedules/<holidayschedule-objectid>
Accept: application/json
Connection: keep-alive
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
732
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Updating the Holiday Schedule
Page 765
Explanation of Data Fields
The following chart lists all of the data fields:
Comments
Operations
Data
Type
Parameter
Specifies a globally unique, system-generated identifier for
a Schedule object.
Read Only
String
(36)
ObjectId
Specifies the URI for schedule.
Read Only
String
URI
Specifies the preferred text name of this scheduleto be used
when displaying entries in the administrative console and
Cisco Personal Assistant.
Read/Write
String
(64)
DisplayName
Specifies the owner of this schedule. If the owner is a
LocationVMS, the unique identifier of the LocationVMS
objects to which this schedule belongs. Commonly referred
to as a "system" schedule. Otherwise, this attribute is set to
NULL.
Read Only
String
(36)
OwnerLocationObjectId
Specifies the owner of this schedule. If the owner is a personal
rule set, the unique identifier of the personal rule set to which
this schedule belongs. Otherwise, this attribute is set to
NULL. OwnerSubscriberObjectId String(36) Read Only
Specifies the owner of this schedule. If the owner is a
subscriber, the unique identifier of the Subscriber objects to
which this schedule belongs. Otherwise, this attribute is set
to NULL. Undeletable Boolean Read/Write Indicates a flag
that checks whether this schedule can be deleted via an
administrative application such as Cisco Unity Connection
Administration. It is used to prevent deletion of factory
defaults.
Read Only
String
(36)
OwnerPersonalRuleSetObjectId
The date and time when schedule becomes active, or NULL
if active immediately.
Read/Write
DateTime
StartDate
The start time (in minutes) for the active day or days. The
start time is stored as the number of minutes from midnight.
So a value of 480 would mean 8:00 AM and 1020 would
mean 5:00 PM. In addition, a value of NULL for the start
time indicates 12:00 AM.
• Range 0-1435
Read/Write
Integer
StartTime
The date and time when schedule ends, or NULL if effective
indefinitely.
Read/Write
DateTime
EndDate
The end time (in minutes) for the active day or days. The end
time is stored as the number of minutes from midnight. So a
value of 480 would mean 8:00 AM and 1020 would mean
5:00 PM. In addition, a value of NULL means "till the end
of the day" (e.g. 11:59:59 PM in Linux land).
• Range 0-1435
Read/Write
Integer
EndTime
Cisco Unity Connection Provisioning Interface (CUPI) API
733
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Explanation of Data Fields
Page 766
Comments
Operations
Data
Type
Parameter
A flag indicating whether this schedule represents a holiday.
Read/Write
Boolean
IsHoliday
URI for scheduledetails
Read Only
String
SchedulesDetailsURI
Cisco Unity Connection Provisioning Interface (CUPI) API --
Schedules Set
Schedule Set API
Administrator can use this API to create/update/delete/fetch the schedule sets. Various attributes of schedule
sets can also be updated using this API.
Listing the Schedule Sets
The following is an example of the GET request that list the schedule sets:
Cisco Unity Connection Provisioning Interface (CUPI) API
734
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedules Set
Page 767
GET https://<connection-server>/vmrest/schedulesets
The following is the response from the above GET request and the actual response will
depend upon the information given by you:
<pre>
<ScheduleSets total="3">
<ScheduleSet>
<URI>/vmrest/schedulesets/e01b7fa7-521b-47f7-82d0-bb898aeec903</URI>
<ObjectId>e01b7fa7-521b-47f7-82d0-bb898aeec903</ObjectId>
<DisplayName>Weekdays</DisplayName>
<OwnerLocationObjectId>51bff648-e60f-44ec-b2c8-ae854dfc1f41</OwnerLocationObjectId>
<OwnerLocationURI>/vmrest/locations/connectionlocations/51bff648-e60f-44ec-b2c8-ae854dfc1f41</OwnerLocationURI>
<Undeletable>true</Undeletable>
<ScheduleSetMembersURI>/vmrest/schedulesets/e01b7fa7-521b-47f7-82d0-bb898aeec903/schedulesetmembers</ScheduleSetMembersURI>
</ScheduleSet>
<ScheduleSet>
<URI>/vmrest/schedulesets/8f2e394c-1d09-412e-8e09-c26b152344c1</URI>
<ObjectId>8f2e394c-1d09-412e-8e09-c26b152344c1</ObjectId>
<DisplayName>All Hours</DisplayName>
<OwnerLocationObjectId>51bff648-e60f-44ec-b2c8-ae854dfc1f41</OwnerLocationObjectId>
<OwnerLocationURI>/vmrest/locations/connectionlocations/51bff648-e60f-44ec-b2c8-ae854dfc1f41</OwnerLocationURI>
<Undeletable>true</Undeletable>
<ScheduleSetMembersURI>/vmrest/schedulesets/8f2e394c-1d09-412e-8e09-c26b152344c1/schedulesetmembers</ScheduleSetMembersURI>
</ScheduleSet>
<ScheduleSet>
<URI>/vmrest/schedulesets/31c9ff78-f6b3-4731-9df2-dce8de411f33</URI>
<ObjectId>31c9ff78-f6b3-4731-9df2-dce8de411f33</ObjectId>
<TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId>
<DisplayName>Voice Recognition Update Schedule</DisplayName>
<OwnerLocationObjectId>51bff648-e60f-44ec-b2c8-ae854dfc1f41</OwnerLocationObjectId>
<OwnerLocationURI>/vmrest/locations/connectionlocations/51bff648-e60f-44ec-b2c8-ae854dfc1f41</OwnerLocationURI>
<Undeletable>false</Undeletable>
<ScheduleSetMembersURI>/vmrest/schedulesets/31c9ff78-f6b3-4731-9df2-dce8de411f33/schedulesetmembers</ScheduleSetMembersURI>
</ScheduleSet>
</ScheduleSets>
Response Code: 200
JSON Example
To list all the schedule sets, do the following:
GET https://<connection-server>/vmrest/schedulesets
Accept: application /json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
735
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Listing the Schedule Sets
Page 768
{
"@total": "3",
"ScheduleSet": [
{
"URI": "/vmrest/schedulesets/e01b7fa7-521b-47f7-82d0-bb898aeec903",
"ObjectId": "e01b7fa7-521b-47f7-82d0-bb898aeec903",
"DisplayName": "Weekdays",
"OwnerLocationObjectId": "51bff648-e60f-44ec-b2c8-ae854dfc1f41",
"OwnerLocationURI":
"/vmrest/locations/connectionlocations/51bff648-e60f-44ec-b2c8-ae854dfc1f41",
"Undeletable": "true",
"ScheduleSetMembersURI":
"/vmrest/schedulesets/e01b7fa7-521b-47f7-82d0-bb898aeec903/schedulesetmembers"
},
{
"URI": "/vmrest/schedulesets/8f2e394c-1d09-412e-8e09-c26b152344c1",
"ObjectId": "8f2e394c-1d09-412e-8e09-c26b152344c1",
"DisplayName": "All Hours",
"OwnerLocationObjectId": "51bff648-e60f-44ec-b2c8-ae854dfc1f41",
"OwnerLocationURI":
"/vmrest/locations/connectionlocations/51bff648-e60f-44ec-b2c8-ae854dfc1f41",
"Undeletable": "true",
"ScheduleSetMembersURI":
"/vmrest/schedulesets/8f2e394c-1d09-412e-8e09-c26b152344c1/schedulesetmembers"
},
{
"URI": "/vmrest/schedulesets/31c9ff78-f6b3-4731-9df2-dce8de411f33",
"ObjectId": "31c9ff78-f6b3-4731-9df2-dce8de411f33",
"TenantObjectId": "fe6541fb-b42c-44f2-8404-ded14cbf7438",
"DisplayName": "Voice Recognition Update Schedule",
"OwnerLocationObjectId": "51bff648-e60f-44ec-b2c8-ae854dfc1f41",
"OwnerLocationURI":
"/vmrest/locations/connectionlocations/51bff648-e60f-44ec-b2c8-ae854dfc1f41",
"Undeletable": "false",
"ScheduleSetMembersURI":
"/vmrest/schedulesets/31c9ff78-f6b3-4731-9df2-dce8de411f33/schedulesetmembers"
}
]
}
Response Code: 200
Listing Specific Tenant Related ScheduleSets by System Administrator
In Cisco Unity Connection 10.5(2) and later, the system administrator can use TenantObjectID to list the
specific tenant related schedulesets using the following URI:
GET https://<connection-server>/vmrest/schedulesets?query=(TenantObjectId is
<Tenant-ObjectId>)
To get the TenantObjectID, use the following URI:
GET https://<connection-server>/vmrest/tenants
Viewing the Specific Schedule Set
The following is an example of the GET request that lists the details of specific schedule set represented by
the provided value of schedule set object ID:
GET https://<connection-server>/vmrest/schedulesets/<scheduleset-objectid>
Cisco Unity Connection Provisioning Interface (CUPI) API
736
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Listing Specific Tenant Related ScheduleSets by System Administrator
Page 769
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
<ScheduleSet>
<URI>/vmrest/schedulesets/e01b7fa7-521b-47f7-82d0-bb898aeec903</URI>
<ObjectId>e01b7fa7-521b-47f7-82d0-bb898aeec903</ObjectId>
<DisplayName>Weekdays</DisplayName>
<OwnerLocationObjectId>51bff648-e60f-44ec-b2c8-ae854dfc1f41</OwnerLocationObjectId>
<OwnerLocationURI>/vmrest/locations/connectionlocations/51bff648-e60f-44ec-b2c8-ae854dfc1f41</OwnerLocationURI>
<Undeletable>true</Undeletable>
<ScheduleSetMembersURI>/vmrest/schedulesets/e01b7fa7-521b-47f7-82d0-bb898aeec903/schedulesetmembers</ScheduleSetMembersURI>
</ScheduleSet>
Response Code: 200
JSON Example
To view a specific schedule set, do the following:
GET https://<connection-server>/vmrest/schedulesets/<scheduleset-objectid>
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"URI": "/vmrest/schedulesets/e01b7fa7-521b-47f7-82d0-bb898aeec903",
"ObjectId": "e01b7fa7-521b-47f7-82d0-bb898aeec903",
"DisplayName": "Weekdays",
"OwnerLocationObjectId": "51bff648-e60f-44ec-b2c8-ae854dfc1f41",
"OwnerLocationURI":
"/vmrest/locations/connectionlocations/51bff648-e60f-44ec-b2c8-ae854dfc1f41",
"Undeletable": "true",
"ScheduleSetMembersURI":
"/vmrest/schedulesets/e01b7fa7-521b-47f7-82d0-bb898aeec903/schedulesetmembers"
}
Response Code: 200
Creating a New Schedule Set
The following is an example of POST request that can be used to create a new schedule set:
POST https://<connection-server>/vmrest/schedulesets
Request Body
<ScheduleSet>
<DisplayName>Texoma_DayShift </DisplayName>
<OwnerLocationObjectId>5150cb31-a665-47d8-a311-9cc4524810d3</OwnerLocationObjectId>
</ScheduleSet>
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
737
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Creating a New Schedule Set
Page 770
Response Code: 201
/vmrest/schedulesets/e01b7fa7-521b-47f7-82d0-bb898aeec903
JSON Example
To create a new schedule set, do the following:
POST https://<connection-server>/vmrest/schedulesets
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body
{
"DisplayName":"Texoma_DayShift ",
"OwnerLocationObjectId":"5150cb31-a665-47d8-a311-9cc4524810d3"
}
The following is the response from the above POST request and the actual response will depend upon the
information given by you:
Response Code: 201
/vmrest/schedulesets/e01b7fa7-521b-47f7-82d0-bb898aeec903
Updating the Schedule Set
The following is an example of the PUT request that can be used to modify the schedule set where only
description field can be updated:
PUT https://<connection-server>/vmrest/schedulesets/<scheduleset-objectid>
Request Body
<ScheduleSet>
<DisplayName>Texoma_Evening</DisplayName>
<OwnerLocationObjectId>5150cb31-a665-47d8-a311-9cc4524810d3</OwnerLocationObjectId>
</ScheduleSet>
Response Code: 204
JSON Example
To update the schedule set, do the following:
PUT https://<connection-server>/vmrest/schedulesets/<scheduleset-objectid>
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body
{
"DisplayName":"Texoma_Evening ",
"OwnerLocationObjectId":"5150cb31-a665-47d8-a311-9cc4524810d3"
}
Cisco Unity Connection Provisioning Interface (CUPI) API
738
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Updating the Schedule Set
Page 771
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Delete a Schedule Set
This request can be used to delete an existing schedule set; an administrator makes a DELETE to the schedule
sets resource, specifying the object ID of the schedule set they wish to delete in the URI.
DELETE https://<connection-server>/vmrest/schedulesets/<scheduleset-objectid>
Response Code: 204
JSON Example
DELETE: https://<connection-ip>/vmrest/schedulesets/<scheduleset-objectid>
Accept: application/json
Connection: keep-alive
Response Code: 204
Explanation of Data Fields
Comments
Operation
Data Type
Parameter
Specifies a globally unique, system-generated
identifier for a schedule set object.
Read Only
String
ObjectId
The unique identifier of the tenant to which the
schedule set belongs. This field is reflected in the
response only if the schedule set belongs to a
particular tenant.
Read Only
String
TenantObjectId
Specifies the URI for schedule set.
Read Only
String
URI
Specifies the unique text name of this schedule set
to be used when displaying entries in the
administrative console and Cisco Personal
Assistant.
Read/Write
String
DisplayName
The owner of this schedule set. If the owner is a
LocationVMS, the unique identifiers of the
LocationVMS object to which this schedule set
(i.e., "system" schedule) belongs. Otherwise, this
attribute is set to NULL.
Read Only
String
OwnerLocationObjectId
The owner of this schedule set. If the owner is a
personal rule set, the unique identifier of the
personal rule set to which this schedule set
belongs. Otherwise, this attribute is set to NULL.
Read Only
String
OwnerPersonalRuleSetObjectId
Cisco Unity Connection Provisioning Interface (CUPI) API
739
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Delete a Schedule Set
Page 772
Comments
Operation
Data Type
Parameter
The owner of this schedule set. If the owner is a
subscriber, the unique identifier of the Subscriber
object to which this schedule set belongs.
Otherwise, this attribute is set to NULL.
Read Only
String
OwnerSubscriberObjectId
Indicates a flag which checks whether this
schedule set can be deleted via an administrative
application such as Cisco Unity Connection
Administration. It is used to prevent deletion of
factory defaults.
Default value: false.
Read/Write
Boolean
Undeletable
Specifies the URI for schedule set members.
Read Only
String
ScheduleSetMembersURI
Cisco Unity Connection Provisioning Interface (CUPI) API --
Schedules Set Details
Schedule Set Details API
Administrator can use this API to create/update/delete/fetch the schedule set details. Various attributes of
schedule set details can also be updated using this API.
Cisco Unity Connection Provisioning Interface (CUPI) API --
Schedules Set Members
Schedule Set Members API
Administrator can use this API to create/update/delete/fetch the schedule set members. Various attributes of
schedule set members can also be updated using this API.
Listing the Schedule Set Members
The following is an example of the GET request that lists the schedule set members:
GET https://<connection-server>/vmrest/schedulesets/<scheduleset-objectid>/schedulesetmembers
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
740
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedules Set Details
Page 773
<ScheduleSetMembers total="2">
<ScheduleSetMember>
<URI>/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e/schedulesetmembers/2008f07d-4265-4570-ab6f-362228dd8180</URI>
<ScheduleSetObjectId>c309414c-0c72-4d37-8a22-9ed7d9ee9b3e</ScheduleSetObjectId>
<ScheduleSetURI>/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e</ScheduleSetURI>
<ScheduleObjectId>2008f07d-4265-4570-ab6f-362228dd8180</ScheduleObjectId>
<ScheduleURI>/vmrest/schedules/2008f07d-4265-4570-ab6f-362228dd8180</ScheduleURI>
<Exclude>false</Exclude>
</ScheduleSetMember>
<ScheduleSetMember>
<URI>/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e/schedulesetmembers/c1bdc7d4-fd7c-4ae7-a836-6094f987ad74</URI>
<ScheduleSetObjectId>c309414c-0c72-4d37-8a22-9ed7d9ee9b3e</ScheduleSetObjectId>
<ScheduleSetURI>/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e</ScheduleSetURI>
<ScheduleObjectId>c1bdc7d4-fd7c-4ae7-a836-6094f987ad74</ScheduleObjectId>
<ScheduleURI>/vmrest/schedules/c1bdc7d4-fd7c-4ae7-a836-6094f987ad74</ScheduleURI>
<Exclude>true</Exclude>
</ScheduleSetMember>
</ScheduleSetMembers>
<pre>
Response Code: 200
JSON Example
To list all the schedule set members, do the following:
GET https://<connection-server>/vmrest/schedulesets/<scheduleset-objectid>/schedulesetmembers
Accept: application /json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
741
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Listing the Schedule Set Members
Page 774
{
"@total": "2",
"ScheduleSetMember[
{
"URI":
"/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e/schedulesetmembers/2008f07d-4265-4570-ab6f-362228dd8180",
"ScheduleSetObjectId": "c309414c-0c72-4d37-8a22-9ed7d9ee9b3e",
"ScheduleSetURI": "/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e",
"ScheduleObjectId": "2008f07d-4265-4570-ab6f-362228dd8180",
"ScheduleURI": "/vmrest/schedules/2008f07d-4265-4570-ab6f-362228dd8180",
"Exclude": "false"
},
{
"URI":
"/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e/schedulesetmembers/c1bdc7d4-fd7c-4ae7-a836-6094f987ad74",
"ScheduleSetObjectId": "c309414c-0c72-4d37-8a22-9ed7d9ee9b3e",
"ScheduleSetURI": "/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e",
"ScheduleObjectId": "c1bdc7d4-fd7c-4ae7-a836-6094f987ad74",
"ScheduleURI": "/vmrest/schedules/c1bdc7d4-fd7c-4ae7-a836-6094f987ad74",
"Exclude": "true"
}
]
}
Response Code: 200
Viewing the Specific Schedule Set Member
The following is an example of the GET request that lists the details of specific schedule set member represented
by the provided value of schedule set member object ID:
GET
https://<connection-server>/vmrest/schedulesets/<schedulesetobjectid>/schedulesetmembers/<schedulesetmember-objectid>
The following is the response from the above GET request and the actual response will depend upon the
information given by you: </pre> <ScheduleSetMember>:
<URI>/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e/schedulesetmembers/2008f07d-4265-4570-ab6f-362228dd8180</URI>
<ScheduleSetObjectId>c309414c-0c72-4d37-8a22-9ed7d9ee9b3e</ScheduleSetObjectId>
<ScheduleSetURI>/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e</ScheduleSetURI>
<ScheduleObjectId>2008f07d-4265-4570-ab6f-362228dd8180</ScheduleObjectId>
<ScheduleURI>/vmrest/schedules/2008f07d-4265-4570-ab6f-362228dd8180</ScheduleURI>
<Exclude>false</Exclude>
</ScheduleSetMember> </pre>
Response Code: 200
JSON Example
To view a specific schedule set member, do the following:
Cisco Unity Connection Provisioning Interface (CUPI) API
742
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Viewing the Specific Schedule Set Member
Page 775
GET
https://<connection-server>/vmrest/schedulesets/<schedulesetobjectid>/schedulesetmembers/<schedulesetmember-objectid>
Accept: application/json
Connection: keep-alive
The following is the response from the above GET request and the actual response will depend upon the
information given by you:
{
"URI":
"/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e/schedulesetmembers/2008f07d-4265-4570-ab6f-362228dd8180",
"ScheduleSetObjectId": "c309414c-0c72-4d37-8a22-9ed7d9ee9b3e",
"ScheduleSetURI": "/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e",
"ScheduleObjectId": "2008f07d-4265-4570-ab6f-362228dd8180",
"ScheduleURI": "/vmrest/schedules/2008f07d-4265-4570-ab6f-362228dd8180",
"Exclude": "false"
}
Response Code: 200
Creating a New Schedule Set Member
The following is an example of POST request that can be used to create a new schedule set member:
POST
https://<connection-server>/vmrest/schedulesets/<scheduleset-objectid>/schedulesetmembers
Request Body for a Non-Holiday Schedule:
<ScheduleSetMember>
<ScheduleSetObjectId>11a4f6b1-c926-4404-9bba-964ebb3075c3</ScheduleSetObjectId>
<ScheduleObjectId>4ac392b8-e276-46a1-978a-9b648c2c785b</ScheduleObjectId>
<Exclude>false</Exclude>
</ScheduleSetMember>
The following is the response from the above POST request and the actual response will
depend upon the information given by you:
<pre>
Response Code: 201
/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e/schedulesetmembers/2008f07d-4265-4570-ab6f-362228dd8180
A schedule set can have at most 1 schedule marked as included, and that schedule must not be a holiday
schedule. A schedule set can also have at most 1 schedule marked as excluded, and that schedule must be a
holiday schedule.
Note
JSON Example for a non-holiday schedule
To create a new schedule set member, do the following:
POST
https://<connection-server>/vmrest/schedulesets/<scheduleset-objectid>/schedulesetmembers
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Cisco Unity Connection Provisioning Interface (CUPI) API
743
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Creating a New Schedule Set Member

Page 776
{
"ScheduleSetObjectId":"11a4f6b1-c926-4404-9bba-964ebb3075c3",
"ScheduleObjectId":"4ac392b8-e276-46a1-978a-9b648c2c785b",
"Exclude":"false"
}
The following is the response from the above POST request and the actual response will
depend upon the information given by you:
<pre>
Response Code: 201
/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e/schedulesetmembers/2008f07d-4265-4570-ab6f-362228dd8180
Request Body for a Holiday Schedule:
<ScheduleSetMember>
<ScheduleSetObjectId>11a4f6b1-c926-4404-9bba-964ebb3075c3</ScheduleSetObjectId>
<ScheduleObjectId>4ac392b8-e276-46a1-978a-9b648c2c785b</ScheduleObjectId>
<Exclude>true</Exclude>
</ScheduleSetMember>
Response Code: 201
/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e/schedulesetmembers/2008f07d-4265-4570-ab6f-362228dd8180
JSON Example to create Schedule set member which is a Holiday Schedule:
POST https://<connection-ip>/vmrest/schedulesets/<scheduleset-objectid>/schedulesetmembers
Accept: application/json
Content-Type: application/json
Connection: keep-alive
{
"ScheduleSetObjectId":"11a4f6b1-c926-4404-9bba-964ebb3075c3",
"ScheduleObjectId":"4ac392b8-e276-46a1-978a-9b648c2c785b",
"Exclude":"true"
}
Response Code: 201
/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e/schedulesetmembers/2008f07d-4265-4570-ab6f-362228dd8180
Updating the Schedule Set Members
The following is an example of the PUT request that can be used to modify the schedule set members where
only description field can be updated:
PUT
https://<connection-server>/vmrest/schedulesets/<schedulesetobjectid>/schedulesetmembers/<schedulesetmember-objectid>
Request Body
<ScheduleSetMember>
<ScheduleSetObjectId>11a4f6b1-c926-4404-9bba-964ebb3075c3</ScheduleSetObjectId>
<ScheduleObjectId>f4e064d5-e21e-4234-a157-91554fd657e5</ScheduleObjectId>
<Exclude>true</Exclude>
</ScheduleSetMember>
Response Code: 204
JSON Example
Cisco Unity Connection Provisioning Interface (CUPI) API
744
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Updating the Schedule Set Members
Page 777
To update the schedule set member, do the following:
PUT
https://<connection-server>/vmrest/schedulesets/<schedulesetobjectid>/schedulesetmembers/<schedulesetmember-objectid>
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Request Body
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Deleting a Schedule Set Member
To delete an existing schedule set member, an administrator makes a DELETE to the schedule set members
resource, specifying the object ID of the schedule set member they wish to delete in the URI:
DELETE
https://<connection-server>/vmrest/schedulesets/<schedulesetobjectid>/schedulesetmembers/<schedulesetmember-objectid>
Response Code: 204
JSON Example to delete an existing ScheduleSet Member:
DELETE
https://<connection-ip>/vmrest/schedulesets/<schedulesetobjectid>/schedulesetmembers/<schedulesetmember-objectid>
Accept: application/json
Connection: keep-alive
Response Code: 204
Explanation of Data Fields
Comments
Operation
Data Type
Parameter
The unique identifier of the
ScheduleSet object to which the
schedule belongs.
Read Only
String
ScheduleSetObjectId
URI of the ScheduleSet
Read Only
String
ScheduleSetURI
The unique identifier of the
Schedule object that is a member of
the schedule set
Read Only
String
ScheduleObjectId
URI of the Schedule
Read Only
String
ScheduleURI
A flag indicating whether the
schedule is to be included or
excluded from the schedule set.
Default value is false
Read/Write
Boolean
Exclude
Cisco Unity Connection Provisioning Interface (CUPI) API
745
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Deleting a Schedule Set Member
Page 778
Cisco Unity Connection Provisioning Interface (CUPI) API
746
Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules
Explanation of Data Fields
Page 779
C H A P T E R 47
Cisco Unity Connection Provisioning Interface
(CUPI) API for SMTP Configuration
Cisco Unity Connection 14SU2 and later, supports secure SMTP client communication over port 25 and 587
using authentication support. Administrator can use this API to update or fetch the SMTP configuration. Unity
Connection can act as both server or client depending upon the requirement.
• Cisco Unity Connection Provisioning Interface (CUPI) API -- SMTP Server Configuration, on page 747
• Cisco Unity Connection Provisioning Interface (CUPI) API -- SMTP Client Configuration, on page 752
Cisco Unity Connection Provisioning Interface (CUPI) API --
SMTP Server Configuration
Administrator can configure port 25 or port 587 for inbound SMTP communications over STARTTLS.
Listing SMTP Server Configuration
The request can be used to fetch the SMTP server side configuration present currently on the system.
GET https://<connection-server>/vmrest/smtpserver/serverconfigs
The following is the response from the above GET request and the actual response will depend upon the
current SMTP server configuration.
Cisco Unity Connection Provisioning Interface (CUPI) API
747

Page 780
<SmtpServerConfiguration>
<Port>587</Port>
<domainName>ucbu-aricent-vm234.cisco.com</domainName>
<maxNumberConnections>20</maxNumberConnections>
<smtpClientThreads>2</smtpClientThreads>
<maxMessageSizeKb>10000</maxMessageSizeKb>
<maxNumberMessagesSession>10</maxNumberMessagesSession>
<maxNumberRecipients>15000</maxNumberRecipients>
<retryDeliveryTimeoutMin>240</retryDeliveryTimeoutMin>
<allowConnectionsFromUntrustedIpAddresses>true</allowConnectionsFromUntrustedIpAddresses>
<requireAuthenticationFromUntrustedIpAddresses>true</requireAuthenticationFromUntrustedIpAddresses>
<requireTlsFromUntrustedIpAddresses>1</requireTlsFromUntrustedIpAddresses>
</SmtpServerConfiguration>
Response Code: 200
JSON Example
GET https://<connection-server>/vmrest/smtpserver/serverconfigs
Accept: application/json
Connection: keep_alive
The following is the response from the above GET request and the actual response will depend upon the
current SMTP server configuration:
{
"Port": "587",
"domainName": "ucbu-aricent-vm234.cisco.com",
"maxNumberConnections": "20",
"smtpClientThreads": "2",
"maxMessageSizeKb": "10000",
"maxNumberMessagesSession": "10",
"maxNumberRecipients": "15000",
"retryDeliveryTimeoutMin": "240",
"allowConnectionsFromUntrustedIpAddresses": "true",
"requireAuthenticationFromUntrustedIpAddresses": "true",
"requireTlsFromUntrustedIpAddresses": "1"
}
Response Code: 200
Updating SMTP Server Configuration
The following is an example of the PUT request that update the configuration of SMTP Server.
PUT https://<connection-server>/vmrest/smtpserver/serverconfigs
<SmtpServerConfiguration>
<Port>25</Port>
<domainName>ucbu-aricent-vm234.cisco.com</domainName>
<maxNumberConnections>20</maxNumberConnections>
<smtpClientThreads>2</smtpClientThreads>
<maxMessageSizeKb>10000</maxMessageSizeKb>
<maxNumberMessagesSession>10</maxNumberMessagesSession>
<maxNumberRecipients>15000</maxNumberRecipients>
Cisco Unity Connection Provisioning Interface (CUPI) API
748
Cisco Unity Connection Provisioning Interface (CUPI) API for SMTP Configuration
Updating SMTP Server Configuration
Page 781
<retryDeliveryTimeoutMin>240</retryDeliveryTimeoutMin>
<allowConnectionsFromUntrustedIpAddresses>true</allowConnectionsFromUntrustedIpAddresses>
<requireAuthenticationFromUntrustedIpAddresses>true</requireAuthenticationFromUntrustedIpAddresses>
<requireTlsFromUntrustedIpAddresses>1</requireTlsFromUntrustedIpAddresses>
</SmtpServerConfiguration>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 200
JSON Example
PUT https://<connection-server>/vmrest/smtpserver/serverconfigs
Accept: application/json
Connection: keep_alive
Request Body:{
"Port": "25",
"domainName": "ucbu-aricent-vm234.cisco.com",
"maxNumberConnections": "20",
"smtpClientThreads": "2",
"maxMessageSizeKb": "10000",
"maxNumberMessagesSession": "10",
"maxNumberRecipients": "15000",
"retryDeliveryTimeoutMin": "240",
"allowConnectionsFromUntrustedIpAddresses": "true",
"requireAuthenticationFromUntrustedIpAddresses": "true",
"requireTlsFromUntrustedIpAddresses": "1"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 200
Explaination of Data Fields
The following table explain the data fields:
Comments
Operations
Data
Type
Parameter
Specifies the port that Unity Connection uses to support
secure/non-secure SMTP client communication. Possible
values:
• 25
• 587
Default Value : 25
Read/Write
Integer
Port
Specifies the domain name that Unity Connection uses to
route messages between digitally networked Unity Connection
servers and to construct the SMTP address of the sender on
outgoing SMTP messages.
Read/Write
String
DomainName
Cisco Unity Connection Provisioning Interface (CUPI) API
749
Cisco Unity Connection Provisioning Interface (CUPI) API for SMTP Configuration
Explaination of Data Fields
Page 782
Comments
Operations
Data
Type
Parameter
Specifies the maximum number of SMTP clients that can be
connected to the Unity Connection SMTP server at one time
for sending messages.
Possible values can be between 0 - 50.
Default setting: 20 Unity Connections.
Read/Write
Integer
MaxNumberConnections
Specifies the maximum number of outgoing connections that
the Unity Connection SMTP server can have open with other
SMTP servers at one time.
Possible values can be between 0 - 10.
Default setting: 2 connections.
Read/Write
Integer
SmtpClientThreads
Specifies the maximum size of message that clients can send
to Unity Connection using SMTP.
Possible values can be between 0 - 50000 Kilobytes.
Default setting: 10,000 kilobytes (approximately 10
megabytes).
Read/Write
Integer
MaxMessageSizeKb
Specifies the maximum number of messages that a client can
send to Unity Connection in a single SMTP session.
Possible values can be between 0 - 100.
Default setting: 10 messages.
Read/Write
Integer
MaxNumberMessagesSession
Specifies the maximum number of recipients allowed for a
single message that is sent by a client to Unity Connection
using SMTP.
Possible values can be between 0 - 50000
Default setting: 15,000 recipients.
Read/Write
Integer
MaxNumberRecipients
Specifies the time interval in minutes to have Unity
Connection periodically retries the delivery of SMTP
messages that have failed because of issues that may be
temporary (for example, the remote SMTP server is not
responding). If the timeout has passed without success, Unity
Connection sends a non-delivery receipt to the sender.
Default setting: 0 minutes (Unity Connection immediately
sends a non-delivery receipt to the sender and does not retry
delivery of failed SMTP messages).
Read/Write
Integer
RetryDeliveryTimeoutMin
Cisco Unity Connection Provisioning Interface (CUPI) API
750
Cisco Unity Connection Provisioning Interface (CUPI) API for SMTP Configuration
Explaination of Data Fields
Page 783
Comments
Operations
Data
Type
Parameter
A flag indicating whether the Unity Connection enable or
disable the SMTP connections from clients or servers whose
IP addresses do not match any address pattern that is
configured on the IP Address Access List.
Possible values:
• false
• true
Default setting: false
Read/Write
Boolean
AlowConnectionsFromUntrustedIpAddresses
A flag indicating whether the Unity Connection requires
authentication for SMTP connections from clients or servers
whose IP addresses do not match any address pattern that is
configured on the IP Address Access List.
Possible values:
• false : Unity Connection allows clients to connect
without authenticating.
• true : Unity Connection require authentication from
clients for connections.
This option is unavailable when the Allow Connections from
Untrusted IP Addresses field is disabled.
Read/Write
Boolean
RequireAuthenticationFromUntrustedIpAddresses
Specifies how Unity Connection handles Transport Layer
Security (TLS) with a client or server that attempts to connect
from an IP address that does not match any address pattern
configured on the IP Address Access List.
Possible values:
• 0 : Unity Connection does not offer TLS as an option
for SMTP sessions initiated by clients or servers with
untrusted IP addresses.
• 1 : Clients or servers connecting from untrusted IP
addresses must use TLS to initiate SMTP sessions with
the Unity Connection server.
• 2 : Clients or servers connecting from untrusted IP
addresses can use TLS to initiate SMTP sessions with
the Unity Connection server, but are not required to do
so.
This option is unavailable when the Allow Connections from
Untrusted IP Addresses field is disabled.
Read/Write
Integer
RequireTlsFromUntrustedIpAddresses
Cisco Unity Connection Provisioning Interface (CUPI) API
751
Cisco Unity Connection Provisioning Interface (CUPI) API for SMTP Configuration
Explaination of Data Fields
Page 784
Cisco Unity Connection Provisioning Interface (CUPI) API --
SMTP Client Configuration
Administrator can configure port 25 or port 587 for outbound SMTP communications over STARTTLS.
Listing SMTP Client Configuration
The request can be used to fetch the SMTP client side configuration present currently on the system.
GET https://<connection-server>/vmrest/smtpclient/clientconfigs
The following is the response from the above GET request and the actual response will depend upon the
the current SMTP client configuration:
<SmtpClientConfiguration>
<smtpSmartHost>outbound.cisco.com</smtpSmartHost>
<isClientSecure>true</isClientSecure>
<smtpPort>25</smtpPort>
<isAuthEnabled>true</isAuthEnabled>
<smtpUsername>Admin</smtpUsername>
<smtpPassword></smtpPassword>
</SmtpClientConfiguration>
Response Code: 200
JSON Example
GET https://<connection-server>/vmrest/smtpclient/clientconfigs
Accept: application/json
Connection: keep_alive
The following is the response from the above GET request and the actual response will depend upon the
current SMTP client configuration.
{
"smtpSmartHost": "outbound.cisco.com",
"isClientSecure": "true",
"smtpPort": "25",
"isAuthEnabled": "true",
"smtpUsername": "Admin",
"smtpPassword": "",
}
Response Code: 200
Updating SMTP Client Configuration
The following is an example of the PUT request that update the configuration of SMTP Client.
PUT https://<connection-server>/vmrest/smtpclient/clientconfigs
Cisco Unity Connection Provisioning Interface (CUPI) API
752
Cisco Unity Connection Provisioning Interface (CUPI) API for SMTP Configuration
Cisco Unity Connection Provisioning Interface (CUPI) API -- SMTP Client Configuration
Page 785
<SmtpClientConfiguration>
<smtpSmartHost>outbound.cisco.com</smtpSmartHost>
<isClientSecure>true</isClientSecure>
<smtpPort>25</smtpPort>
<isAuthEnabled>true</isAuthEnabled>
<smtpUsername>Admin</smtpUsername>
<smtpPassword>smtp</smtpPassword>
</SmtpClientConfiguration>
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
JSON Example
PUT https://<connection-server>/vmrest/smtpclient/clientconfigs
Accept: application/json
Connection: keep_alive
Request Body:{
"smtpSmartHost": "outbound.cisco.com",
"isClientSecure": "true",
"smtpPort": "587",
"isAuthEnabled": "false",
"smtpUsername" : "Admin"
"smtpPassword" : "smtp"
}
The following is the response from the above PUT request and the actual response will depend upon the
information given by you:
Response Code: 204
Explaination of Data Fields
The following table explain the data fields:
Comments
Operations
Data
Type
Parameter
Specifies the IP address or fully qualified domain name of
the SMTP smart host through which Cisco Unity Connection
relays SMTP messages.
Read/Write
String
SMTPSmartHost
Cisco Unity Connection Provisioning Interface (CUPI) API
753
Cisco Unity Connection Provisioning Interface (CUPI) API for SMTP Configuration
Explaination of Data Fields
Page 786
Comments
Operations
Data
Type
Parameter
A flag indicating whether the SMTP communication on Unity
Connection is secure or non secure.
Possible values:
• false
• true
Default setting: false
If IsClientSecure checkbox is not checked,
Unity Connection will initiate request towards
Smart Host over port 25 without using
STARTTLS. It is non secure mode of
communication. If it is checked, then Unity
Connection will initiate request towards Smart
Host over port 587 using STARTTLS. It is
secure mode of communication.
Note
Read/Write
Boolean
IsClientSecure
Unity Connection will communicate to external SMTP servers
on below ports.
• 25
• 587
Read/Write
Integer
SMTPPort
A flag indicating whether the SMTP communication is
password protected or not.
Possible values:
• false
• true
Default setting: false
Read/Write
Boolean
isAuthEnabled
Username of Smart Host.
Read/Write
String
smtpUsername
Password of Smart Host.
Only
Write
String
smtpPassword
Cisco Unity Connection Provisioning Interface (CUPI) API
754
Cisco Unity Connection Provisioning Interface (CUPI) API for SMTP Configuration
Explaination of Data Fields
Page 787
C H A P T E R 48
Cisco Unity Connection Provisioning Interface
(CUPI) API for Telephony Integrations
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Phone Systems, on page 755
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Port Groups and Ports, on page 762
• Cisco Unity Connection Provisioning Interface (CUPI) API -- Ports, on page 766
• Cisco Unity Connection Provisioning Interface (CUPI) API – SIP Certificates , on page 771
• Cisco Unity Connection Provisioning Interface (CUPI) API -- SIP Profiles, on page 774
Cisco Unity Connection Provisioning Interface (CUPI) API --
Phone Systems
About Phone Systems
This page contains information on how to use the API to create, list, modify, and delete Phone Systems. The
phone system pages in Cisco Unity Connection Administration identify the phone systems that Cisco Unity
Connection integrates with. In Connection Administration, a phone system has one or more port groups, which
in turn have voice messaging ports. You can manage the phone systems to meet the changing needs of your
system.
Listing Phone Systems
Example 1
The following is an example of the GET request that lists the Phone Systems:
https://<connection_server>/vmrest/phonesystems
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
755

Page 788
<PhoneSystems total="1">
<PhoneSystem>
<URI>/vmrest/phonesystems/aa6d3f45-ccdf-4fa2-8170-e5c94b51813a</URI>
<ObjectId>aa6d3f45-ccdf-4fa2-8170-e5c94b51813a</ObjectId>
<DisplayName>PhoneSystem</DisplayName>
<MwiAlwaysUpdate>false</MwiAlwaysUpdate>
<MwiPortMemory>false</MwiPortMemory>
<CallLoopSupervisedTransferDetect>false</CallLoopSupervisedTransferDetect>
<CallLoopForwardNotificationDetect>false</CallLoopForwardNotificationDetect>
<CallLoopDTMF>A</CallLoopDTMF>
<CallLoopGuardTimeMs>2500</CallLoopGuardTimeMs>
<PortCount>0</PortCount>
<EnablePhoneApplications>false</EnablePhoneApplications>
<DefaultTRaPSwitch>true</DefaultTRaPSwitch>
<MwiForceOff>false</MwiForceOff>
<RestrictDialUnconditional>false</RestrictDialUnconditional>
<RestrictDialScheduled>false</RestrictDialScheduled>
<RestrictDialStartTime>0</RestrictDialStartTime>
<RestrictDialEndTime>0</RestrictDialEndTime>
<CallLoopExtensionDetect>true</CallLoopExtensionDetect>
<AXLServerURI>/vmrest/phonesystems/aa6d3f45-ccdf-4fa2-8170-e5c94b51813a/axlservers</AXLServerURI>
<PhoneSystemAssociationURI>/vmrest/phonesystems/aa6d3f45-ccdf-4fa2-8170-e5c94b51813a/phonesystemassociations</PhoneSystemAssociationURI>
</PhoneSystem>
</PhoneSystems>
Response Code: 200
Example 2
The following is an example of the GET request that lists a particular phone system represented by
<phonesystemId>:
https:/<connection_server>/vmrest/phonesystem/<objectId>
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
756
Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations
Listing Phone Systems
Page 789
<PhoneSystem>
<URI>/vmrest/phonesystems/aa6d3f45-ccdf-4fa2-8170-e5c94b51813a</URI>
<ObjectId>aa6d3f45-ccdf-4fa2-8170-e5c94b51813a</ObjectId>
<DisplayName>PhoneSystem</DisplayName>
<MwiAlwaysUpdate>false</MwiAlwaysUpdate>
<MwiPortMemory>false</MwiPortMemory>
<CallLoopSupervisedTransferDetect>false</CallLoopSupervisedTransferDetect>
<CallLoopForwardNotificationDetect>false</CallLoopForwardNotificationDetect>
<CallLoopDTMF>A</CallLoopDTMF>
<CallLoopGuardTimeMs>2500</CallLoopGuardTimeMs>
<PortCount>0</PortCount>
<EnablePhoneApplications>false</EnablePhoneApplications>
<DefaultTRaPSwitch>true</DefaultTRaPSwitch>
<MwiForceOff>false</MwiForceOff>
<RestrictDialUnconditional>false</RestrictDialUnconditional>
<RestrictDialScheduled>false</RestrictDialScheduled>
<RestrictDialStartTime>0</RestrictDialStartTime>
<RestrictDialEndTime>0</RestrictDialEndTime>
<CallLoopExtensionDetect>true</CallLoopExtensionDetect>
<AXLServerURI>/vmrest/phonesystems/aa6d3f45-ccdf-4fa2-8170-e5c94b51813a/axlservers</AXLServerURI>
<PhoneSystemAssociationURI>/vmrest/phonesystems/aa6d3f45-ccdf-4fa2-8170-e5c94b51813a/phonesystemassociations</PhoneSystemAssociationURI>
</PhoneSystem>
Response Code: 200
Adding a New Phone System
The following is an example of the POST request that adds the Phone Systems:
https://<connection_server>/vmrest/phonesystems
The actual response will depend upon the information given by you.
<PhoneSystem>
<DisplayName>PhoneSystem1</DisplayName>
</PhoneSystem>
Response Code: 201
To create a phone system, only the <DisplayName> parameter is mandatory.
Note
Modifying a Phone System
The following is an example of the PUT request that modifies the Phone System as represented by
<phonesystemid>:
https:/<Connection_server>/vmrest/phonesystem/<objectId>
The following is an example of the response from the above PUT request and the actual response will
depend upon the information given by you:.
Cisco Unity Connection Provisioning Interface (CUPI) API
757
Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations
Adding a New Phone System

Page 790
<PhoneSystem>
<MwiAlwaysUpdate>false</MwiAlwaysUpdate>
<MwiPortMemory>false</MwiPortMemory>
<CallLoopSupervisedTransferDetect>false</CallLoopSupervisedTransferDetect>
<CallLoopForwardNotificationDetect>false</CallLoopForwardNotificationDetect>
<CallLoopDTMF>A</CallLoopDTMF>
<CallLoopGuardTimeMs>2500</CallLoopGuardTimeMs>
<PortCount>2</PortCount>
</PhoneSystem>
Response Code: 204
You can also update the following in a phone system:
• AXL Servers
• Phone System Associations
AXL Servers
This page contains information on how to use the API to create, list, modify, and delete Phone Systems AXL
Servers. AXL servers are supported only for Cisco Unified Communications Manager phone systems and are
needed when Cisco Unity Connection must have access to the Cisco Unified CM database for importing Cisco
Unified CM users and for changing certain phone settings for users of Connection personal call transfer rules.
With Unity Connection 11.5(1) and later, a new field, IsPinSyncEnabled is introduced in this API, which
enables synchronization of phone PIN for Cisco Unity Connection with the PIN for Cisco Unified CM. By
default, the value of this field is set to false. To enable PIN synchronization, set the value of the field to true.
Note: The IsPinSyncEnabled field is applicable only for primary AXL server.
Listing AXL Servers
The following is an example of the GET request that lists the AXL Servers:
https://<connection_server>/vmrest/phonesystems/<objectId>/axlservers
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
758
Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations
AXL Servers
Page 791
<AXLServers total="2">
<AXLServer>
<URI>
/vmrest/phonesystems/a560c009-e802-466f-b42d-4c64e8ea8260/axlservers/59daf270-3e88-4d81-8dae-a3b0a5fbebb1
</URI>
<ObjectId>59daf270-3e88-4d81-8dae-a3b0a5fbebb1</ObjectId>
<MediaRemoteServiceEnum>103</MediaRemoteServiceEnum>
<HostOrIPAddress>0:0:0:0:0:1</HostOrIPAddress>
<Port>443</Port>
<TlsPort>443</TlsPort>
<Precedence>1</Precedence>
<MediaSwitchObjectId>a560c009-e802-466f-b42d-4c64e8ea8260</MediaSwitchObjectId>
<PhoneSystemURI>
/vmrest/phonesystems/a560c009-e802-466f-b42d-4c64e8ea8260
</PhoneSystemURI>
<SkinnyStateMachineEnum>10</SkinnyStateMachineEnum>
<IsPinSyncEnabled>false</IsPinSyncEnabled>
<CcmAXLUser>admin</CcmAXLUser>
<CcmAXLPassword/>
<CcmVersion>5</CcmVersion>
</AXLServer>
<AXLServer>
<URI>
/vmrest/phonesystems/a560c009-e802-466f-b42d-4c64e8ea8260/axlservers/59daf270-3e88-4d81-8dae-a3b0a5fbebb1
</URI>
<ObjectId>59daf270-3e88-4d81-8dae-a3b0a5fbebb1</ObjectId>
<MediaRemoteServiceEnum>103</MediaRemoteServiceEnum>
<HostOrIPAddress>0.0.0.1</HostOrIPAddress>
<Port>443</Port>
<TlsPort>443</TlsPort>
<Precedence>1</Precedence>
<MediaSwitchObjectId>a560c009-e802-466f-b42d-4c64e8ea8260</MediaSwitchObjectId>
<PhoneSystemURI>
/vmrest/phonesystems/a560c009-e802-466f-b42d-4c64e8ea8260
</PhoneSystemURI>
<SkinnyStateMachineEnum>10</SkinnyStateMachineEnum>
<IsPinSyncEnabled>false</IsPinSyncEnabled>
<CcmAXLUser>admin</CcmAXLUser>
<CcmAXLPassword/>
<CcmVersion>5</CcmVersion>
</AXLServer>
</AXLServers>
Response Code: 200
Adding New AXL Server
The following is an example of the POST request that adds the AXL servers in the Phone Systems:
https://<connection_server>/vmrest/phonesystems/<objectId>/axlservers
The actual response will depend upon the information given by you.
Cisco Unity Connection Provisioning Interface (CUPI) API
759
Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations
Adding New AXL Server
Page 792
<AXLServer>
<MediaSwitchObjectId>24f1171f-27b3-4ad3-a94c-66d1fb2e448b</MediaSwitchObjectId>
<MediaRemoteServiceEnum>103</MediaRemoteServiceEnum>
<HostOrIPAddress>10.105.255.1</HostOrIPAddress>
<Port>2001</Port>
<TlsPort>2000</TlsPort>
<Precedence>1</Precedence>
<CcmAXLUser>abcd</CcmAXLUser>
<CcmAXLPassword/>
<CcmVersion>5</CcmVersion>
<IsPinSyncEnabled>false</IsPinSyncEnabled>
</AXLServer>
Response Code: 201
Modifying AXL Server
The following is an example of the PUT request that modifies the AXL Server as represented by <axlserverid>:
https://<connection_server>/vmrest/phonesystems/<objectId>/axlservers/<objectId>
The following is an example of the response from the above PUT request and the actual response will
depend upon the information given by you:.
<AXLServer>
<MediaSwitchObjectId>24f1171f-27b3-4ad3-a94c-66d1fb2e448b</MediaSwitchObjectId>
<CcmAXLUser>CiscoCCM</CcmAXLUser>
<CcmAXLPassword/>
<CcmVersion>5</CcmVersion>
</AXLServer>
Response Code: 204
Deleting AXL Server
The following is an example of the DELETE request that deletes an AXL Server as represented by < axlserverid
:
https:/<connection_server>/vmrest/phonesystems/<objectId>/axlservers/<objectId>
The input for the PUT request will be. The output for this request returns the successful response code.
Response Code: 204
Phone System Associations
This page contains information on how to use the API to list Phone Systems Associations. Phone Systems
Associations are required to view a list of all of the Cisco Unity Connection users who are associated with
your phone system. Listing Phone System Associations
Listing Phone Systems Associations
The following is an example of the GET request that lists the Phone Systems Associations:
https://<connection_server>/vmrest/phonesystems/<objectId>/phonesystemassociations
Cisco Unity Connection Provisioning Interface (CUPI) API
760
Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations
Modifying AXL Server
Page 793
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
<PhoneSystemAssociations total="2">
<PhoneSystemAssociation>
<URI>/vmrest/phonesystems/24f1171f-27b3-4ad3-a94c-66d1fb2e448b/phonesystemassociations/219ce340-a3a5-428c-8dc6-4776690b69ee</URI>
<Alias>undeliverablemessagesmailbox</Alias>
<DisplayName>Papa Recommended Web Application Authentication Rule</DisplayName>
<MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName>
<MediaSwitchObjectId>24f1171f-27b3-4ad3-a94c-66d1fb2e448b</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/24f1171f-27b3-4ad3-a94c-66d1fb2e448b</PhoneSystemURI>
<numNotificationDevice>4</numNotificationDevice>
<numNotificationMWI>1</numNotificationMWI>
<numPrimaryCallHandler>1</numPrimaryCallHandler>
<ObjectId>219ce340-a3a5-428c-8dc6-4776690b69ee</ObjectId>
</PhoneSystemAssociation>
<PhoneSystemAssociation>
<URI>/vmrest/phonesystems/24f1171f-27b3-4ad3-a94c-66d1fb2e448b/phonesystemassociations/6b455973-13d1-4b10-871e-1d1d55f160d2</URI>
<Alias>operator</Alias>
<DisplayName>Operator</DisplayName>
<MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName>
<MediaSwitchObjectId>24f1171f-27b3-4ad3-a94c-66d1fb2e448b</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/24f1171f-27b3-4ad3-a94c-66d1fb2e448b</PhoneSystemURI>
<numNotificationDevice>4</numNotificationDevice>
<numNotificationMWI>1</numNotificationMWI>
<numPrimaryCallHandler>1</numPrimaryCallHandler>
<ObjectId>6b455973-13d1-4b10-871e-1d1d55f160d2</ObjectId>
</PhoneSystemAssociation>
</PhoneSystemAssociations>>
Response Code: 200
Deleting a Phone System
The following is an example of the DELETE request that deletes Phone System as represented by
<phonesystemid>:
https://<server-ip>/vmrest/phonesystems/<objectId>
The input for the PUT request will be. The output for this request returns the successful response code.
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
761
Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations
Deleting a Phone System
Page 794
Cisco Unity Connection Provisioning Interface (CUPI) API --
Port Groups and Ports
About Port Groups and Ports
This page contains information on how to use the API to:
• List, view, and update port groups
• List and view ports
Port groups cannot be created or deleted via the API, and only two fields (MwiOnCode & MwiOffCode) can
be updated by using the PUT method.
Note
Listing and Viewing
The following is an example of a GET that lists all port groups:
GET http://<connection-server>/vmrest/portgroups
The following is the response from the above GET request:
Cisco Unity Connection Provisioning Interface (CUPI) API
762
Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations
Cisco Unity Connection Provisioning Interface (CUPI) API -- Port Groups and Ports

Page 795
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<PortGroups total="1">
<PortGroup>
<URI>/vmrest/portgroups/035853ce-f4e6-4de2-bda2-84acf827a555</URI>
<MediaPortGroupTemplateObjectId>90dd306f-b8af-46b6-8289-f13437cc1e5e</MediaPortGroupTemplateObjectId>
<MediaSwitchObjectId>05186ad4-572c-48d1-aaa6-ac22280c8702</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/05186ad4-572c-48d1-aaa6-ac22280c8702</PhoneSystemURI>
<TelephonyIntegrationMethodEnum>1</TelephonyIntegrationMethodEnum>
<EnableMWI>true</EnableMWI>
<DisplayName>PhoneSystem-1</DisplayName>
<CcmDoAutoFailback>true</CcmDoAutoFailback>
<MwiOnCode/>
<MwiOffCode/>
<MwiRetryCountOnSuccess>0</MwiRetryCountOnSuccess>
<MwiRetryIntervalOnSuccessMs>5</MwiRetryIntervalOnSuccessMs>
<ObjectId>035853ce-f4e6-4de2-bda2-84acf827a555</ObjectId>
<SipTransportProtocolEnum>10</SipTransportProtocolEnum>
<SipRegisterWithProxyServer>false</SipRegisterWithProxyServer>
<SipDoAuthenticate>false</SipDoAuthenticate>
<SkinnyDevicePrefix>test-VI</SkinnyDevicePrefix>
<MwiMinRequestIntervalMs>0</MwiMinRequestIntervalMs>
<MwiMaxConcurrentRequests>0</MwiMaxConcurrentRequests>
<MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName>
<PortCount>2</PortCount>
<SipDoSRTP>true</SipDoSRTP>
<SipTLSModeEnum>11</SipTLSModeEnum>
<ResetStatusEnum>0</ResetStatusEnum>
</PortGroup>
</PortGroups>
Sorting can be done on columns that are indexed, such as display name. To retrieve a sorted list of all port
groups, add the following query parameter: sort=(column [asc|desc])
For example, to retrieve a list of all port groups sorted by display name in descending order:
GET http://<connection-server>/vmrest/portgroups?sort=(DisplayName%20desc)
To retrieve a specific port group by its object ID:
GET http://<connection-server>/vmrest/portgroups/<objectid>
Similarly, to retrieve a list of all ports, use:
GET http://<connection-server>/vmrest/ports
The following is the response from the above GET request:
Cisco Unity Connection Provisioning Interface (CUPI) API
763
Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations
Listing and Viewing
Page 796
200
OK
<?xml version="1.0" encoding="UTF-8"?>
<Ports total="2">
<Port>
<URI>/vmrest/ports/2806ecdc-0a3d-43f3-a2c8-93d786fa506b</URI>
<ObjectId>2806ecdc-0a3d-43f3-a2c8-93d786fa506b</ObjectId>
<MediaPortGroupObjectId>035853ce-f4e6-4de2-bda2-84acf827a555</MediaPortGroupObjectId>
<PortGroupURI>/vmrest/portgroups/035853ce-f4e6-4de2-bda2-84acf827a555</PortGroupURI>
<TelephonyIntegrationMethodEnum>1</TelephonyIntegrationMethodEnum>
<PortNumInGroup>1</PortNumInGroup>
<SkinnySecurityModeEnum>0</SkinnySecurityModeEnum>
<SkinnyDoMediaEncryption>false</SkinnyDoMediaEncryption>
<VmsServerObjectId>a7ba129e-6420-4d44-b060-93b638ba866a</VmsServerObjectId>
<HuntOrder>0</HuntOrder>
<DisplayName>PhoneSystem-1-001</DisplayName>
<SkinnyDeviceName>test-VI1</SkinnyDeviceName>
<PimgPortNumber>1</PimgPortNumber>
<CapAnswer>true</CapAnswer>
<CapNotification>true</CapNotification>
<CapMWI>true</CapMWI>
<CapEnabled>true</CapEnabled>
<CapDeliverAmis>false</CapDeliverAmis>
<CapTrapConnection>true</CapTrapConnection>
<MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName>
<MediaSwitchObjectId>05186ad4-572c-48d1-aaa6-ac22280c8702</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/05186ad4-572c-48d1-aaa6-ac22280c8702</PhoneSystemURI>
<MediaPortGroupDisplayName>PhoneSystem-1</MediaPortGroupDisplayName>
<MediaPortGroupEnableMWI>true</MediaPortGroupEnableMWI>
<MediaPortGroupMwiReqPortSpecific>true</MediaPortGroupMwiReqPortSpecific>
<SipSendPort>0</SipSendPort>
<VmsServerName>cuc-install-55</VmsServerName>
</Port>
<Port>
<URI>/vmrest/ports/f87ad180-7d06-48c9-b9bd-e6b5cd2311bc</URI>
<ObjectId>f87ad180-7d06-48c9-b9bd-e6b5cd2311bc</ObjectId>
<MediaPortGroupObjectId>035853ce-f4e6-4de2-bda2-84acf827a555</MediaPortGroupObjectId>
<PortGroupURI>/vmrest/portgroups/035853ce-f4e6-4de2-bda2-84acf827a555</PortGroupURI>
<TelephonyIntegrationMethodEnum>1</TelephonyIntegrationMethodEnum>
<PortNumInGroup>2</PortNumInGroup>
<SkinnySecurityModeEnum>0</SkinnySecurityModeEnum>
<SkinnyDoMediaEncryption>false</SkinnyDoMediaEncryption>
<VmsServerObjectId>a7ba129e-6420-4d44-b060-93b638ba866a</VmsServerObjectId>
<HuntOrder>0</HuntOrder>
<DisplayName>PhoneSystem-1-002</DisplayName>
<SkinnyDeviceName>test-VI2</SkinnyDeviceName>
<PimgPortNumber>2</PimgPortNumber>
<CapAnswer>true</CapAnswer>
<CapNotification>true</CapNotification>
<CapMWI>true</CapMWI>
<CapEnabled>true</CapEnabled>
<CapDeliverAmis>false</CapDeliverAmis>
<CapTrapConnection>true</CapTrapConnection>
<MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName>
<MediaSwitchObjectId>05186ad4-572c-48d1-aaa6-ac22280c8702</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/05186ad4-572c-48d1-aaa6-ac22280c8702</PhoneSystemURI>
<MediaPortGroupDisplayName>PhoneSystem-1</MediaPortGroupDisplayName>
<MediaPortGroupEnableMWI>true</MediaPortGroupEnableMWI>
<MediaPortGroupMwiReqPortSpecific>true</MediaPortGroupMwiReqPortSpecific>
<SipSendPort>0</SipSendPort>
Cisco Unity Connection Provisioning Interface (CUPI) API
764
Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations
Listing and Viewing
Page 797
<VmsServerName>cuc-install-55</VmsServerName>
</Port>
</Ports>
Finally, to retrieve a specific port by its object ID, use:
GET http://<connection-server>/vmrest/ports/<objectid>
Searching
To retrieve a list of port groups or ports that meet a specified search criteria, add the following query parameter
to a GET: query=(column [is|startswith] value)
Note that the search column must either be an indexed column or contain boolean values.
For example, to find all port groups with a display name that starts with "PhoneSystem":
GET
http://<connection-server>/vmrest/portgroups?query=(displayname%20startswith%20PhoneSystem)
The next example finds all port groups with a EnableMwi that is set to 1 (i.e., enabled):
GET http://<connection-server>/vmrest/portgroups?query=(EnableMWI%20is%201)
Updating
Ports are read-only resources and cannot be updated. Port groups, however, contain two fields, MwiOnCode
and MwiOffCode, that can be updated.
The following is an example of a PUT request that modifies these fields of an existing port group:
PUT https://<connection-server>/vmrest/portgroups/<objectid>
<PortGroup>
<MwiOnCode>678</MwiOnCode>
<MwiOffCode>876</MwiOffCode>
</PortGroup>
The following is the response from the above PUT request:
204
No Content
null
Cisco Unity Connection Provisioning Interface (CUPI) API
765
Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations
Searching
Page 798
Cisco Unity Connection Provisioning Interface (CUPI) API --
Ports
About Ports
This page contains information on how to use the API to create, list, modify, and delete Ports. The voice
messaging ports let Cisco Unity Connection receive calls (for example, to record a message) and let Connection
make calls (for example to send message notifications or to set MWIs). Each voice messaging port can belong
to only one port group. Port groups, when there are several, each have their own voice messaging ports. The
total voice messaging ports belonging to all port groups must not exceed the maximum number of voice
messaging ports that are enabled by the Connection license files.
Listing Ports
Example 1
The following is an example of the GET request that lists the Ports:
https://<connection_server>/vmrest/ports
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
766
Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations
Cisco Unity Connection Provisioning Interface (CUPI) API -- Ports
Page 799
<Ports total="2">
<Port>
<URI>/vmrest/ports/ec664876-5879-4cff-a022-4929b37bd575</URI>
<ObjectId>ec664876-5879-4cff-a022-4929b37bd575</ObjectId>
<MediaPortGroupObjectId>1edf504a-e9a1-4876-bcfc-bb674da8e385</MediaPortGroupObjectId>
<PortGroupURI>/vmrest/portgroups/1edf504a-e9a1-4876-bcfc-bb674da8e385</PortGroupURI>
<TelephonyIntegrationMethodEnum>2</TelephonyIntegrationMethodEnum>
<VmsServerObjectId>574ca5d3-9041-4ff9-8e7d-727c32d80dab</VmsServerObjectId>
<DisplayName>PhoneSystem-1-001</DisplayName>
<CapAnswer>true</CapAnswer>
<CapNotification>true</CapNotification>
<CapMWI>true</CapMWI>
<CapEnabled>true</CapEnabled>
<CapTrapConnection>true</CapTrapConnection>
<MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName>
<MediaSwitchObjectId>a8eb65f5-795b-41cd-98b1-934f6b987313</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/a8eb65f5-795b-41cd-98b1-934f6b987313</PhoneSystemURI>
<MediaPortGroupDisplayName>PhoneSystem-1</MediaPortGroupDisplayName>
<VmsServerName>ucbu-aricent-vm413</VmsServerName>
</Port>
<Port>
<URI>/vmrest/ports/761fa322-63ae-47d9-9fbf-b35142b11eef</URI>
<ObjectId>761fa322-63ae-47d9-9fbf-b35142b11eef</ObjectId>
<MediaPortGroupObjectId>1edf504a-e9a1-4876-bcfc-bb674da8e385</MediaPortGroupObjectId>
<PortGroupURI>/vmrest/portgroups/1edf504a-e9a1-4876-bcfc-bb674da8e385</PortGroupURI>
<TelephonyIntegrationMethodEnum>2</TelephonyIntegrationMethodEnum>
<VmsServerObjectId>574ca5d3-9041-4ff9-8e7d-727c32d80dab</VmsServerObjectId>
<DisplayName>PhoneSystem-1-002</DisplayName>
<CapAnswer>true</CapAnswer>
<CapNotification>true</CapNotification>
<CapMWI>true</CapMWI>
<CapEnabled>true</CapEnabled>
<CapTrapConnection>true</CapTrapConnection>
<MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName>
<MediaSwitchObjectId>a8eb65f5-795b-41cd-98b1-934f6b987313</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/a8eb65f5-795b-41cd-98b1-934f6b987313</PhoneSystemURI>
<MediaPortGroupDisplayName>PhoneSystem-1</MediaPortGroupDisplayName>
<VmsServerName>ucbu-aricent-vm413</VmsServerName>
</Port>
Response Code: 200
Example 2
The following is an example of the GET request that lists the Ports configuration:
Cisco Unity Connection Provisioning Interface (CUPI) API
767
Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations
Listing Ports
Page 800
<Port>
<URI>/vmrest/ports/e4a48f12-d22b-438c-89eb-0b25f2f73d12</URI>
<ObjectId>e4a48f12-d22b-438c-89eb-0b25f2f73d12</ObjectId>
<MediaPortGroupObjectId>668e5869-7c16-48d6-8858-cd0e00fdd47c</MediaPortGroupObjectId>
<PortGroupURI>/vmrest/portgroups/668e5869-7c16-48d6-8858-cd0e00fdd47c</PortGroupURI>
<TelephonyIntegrationMethodEnum>2</TelephonyIntegrationMethodEnum>
<VmsServerObjectId>d190d99e-e9e8-4d63-8c6c-9aca4956afff</VmsServerObjectId>
<DisplayName>PhoneSystem-1-002</DisplayName>
<CapAnswer>true</CapAnswer>
<CapNotification>false</CapNotification>
<CapMWI>true</CapMWI>
<CapEnabled>true</CapEnabled>
<CapTrapConnection>true</CapTrapConnection>
<MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName>
<MediaSwitchObjectId>0d15753c-e1b4-4865-b00b-999a1ccf56ce</MediaSwitchObjectId>
<PhoneSystemURI>/vmrest/phonesystems/0d15753c-e1b4-4865-b00b-999a1ccf56ce</PhoneSystemURI>
<MediaPortGroupDisplayName>PhoneSystem-1</MediaPortGroupDisplayName>
<VmsServerName>ucbu-aricent-vm413</VmsServerName>
</Port>
Adding Ports
This section contains information on how to add ports:
• Adding SCCP Ports
• Adding SIP Ports
• Adding PIMGTIMG Ports
Note: Before adding ports to port group, you need to know the id of the vmservers. The vmservers id is required
as you need to mention the machine on which the ports need to be added.
The following is an example of the GET request that lists the vmservers:
https://<connection_server>/vmrest/vmsservers
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
<VmsServers total="1">
<VmsServer>
<URI>/vmrest/vmsservers/574ca5d3-9041-4ff9-8e7d-727c32d80dab</URI>
<ServerName>ucbu-aricent-vm413</ServerName>
<VmsServerObjectId>574ca5d3-9041-4ff9-8e7d-727c32d80dab</VmsServerObjectId>
</VmsServer>
</VmsServers>
Make sure that you always add ports in even number and not in odd number.
Note
Adding SCCP Ports
The following is an example of the POST request that lists the SCCP Ports:
Cisco Unity Connection Provisioning Interface (CUPI) API
768
Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations
Adding Ports

Page 801
https:/<server_ip>/vmrest/ports
The following is an example of the response from the above POST request and the actual response will
depend upon the information given by you:
<Port>
<MediaPortGroupObjectId>3c011243-e3e2-42f7-b658-d9fbdc966f26</MediaPortGroupObjectId>
<VmsServerObjectId>574ca5d3-9041-4ff9-8e7d-727c32d80dab</VmsServerObjectId>
<HuntOrder>0</HuntOrder>
<CapAnswer>true</CapAnswer>
<CapNotification>true</CapNotification>
<NumberOfPorts>10</NumberOfPorts>
<CapEnabled>true</CapEnabled>
<CapTrapConnection>true</CapTrapConnection>
<VmsServerName>ucbu-aricent-vm413</VmsServerName>
</Port>
RESPONSE Code: 201
Adding SIP Ports
The following is an example of the POST request that lists the SIP Ports:
https:/<server_ip>/vmrest/ports
The following is an example of the response from the above POST request and the actual response will
depend upon the information given by you:
<Port>
<MediaPortGroupObjectId>575f43be-f5d0-4af7-a689-06d968227ff7</MediaPortGroupObjectId>
<VmsServerObjectId>574ca5d3-9041-4ff9-8e7d-727c32d80dab</VmsServerObjectId>
<HuntOrder>0</HuntOrder>
<DisplayName>PhoneSystem-Rohit-001</DisplayName>
<CapAnswer>true</CapAnswer>
<CapNotification>true</CapNotification>
<NumberOfPorts>4</NumberOfPorts>
<CapEnabled>true</CapEnabled>
<CapTrapConnection>true</CapTrapConnection>
<VmsServerName>ucbu-aricent-vm413</VmsServerName>
</Port>
RESPONSE Code: 201
Adding PIMGTIMG Ports
The following is an example of the POST request that create the PIMGTIMG Ports:
https:/<server_ip>/vmrest/ports
The following is an example of the response from the above POST request and the actual response will
depend upon the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
769
Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations
Adding SIP Ports
Page 802
<Port>
<MediaPortGroupObjectId>2c24f5a9-fb22-47fe-a74b-da9c72d6e7f3</MediaPortGroupObjectId>
<HuntOrder>0</HuntOrder>
<DisplayName>PhoneSystem-Rohit-002</DisplayName>
<CapAnswer>true</CapAnswer>
<CapNotification>true</CapNotification>
<NumberOfPorts>2</NumberOfPorts>
<CapEnabled>true</CapEnabled>
<CapTrapConnection>true</CapTrapConnection>
</Port>
RESPONSE Code: 201
The number of ports should be in even number and not in odd number.
Modifying Ports
This section contains information on how to modify Ports:
• Modifying SCCP Ports
• Modifying SIP Port
Modifying SCCP Ports
The following is an example of the PUT request that modifies the SCCP Ports:
https://<connection_server>/vmrest/ports/<sccpobjectId>
The actual response will depend upon the information given by you.
<Port>
<CapAnswer>true</CapAnswer>
<CapNotification>true</CapNotification>
<CapMWI>true</CapMWI>
<CapTrapConnection>true</CapTrapConnection>
<HuntOrder>0</HuntOrder>
<SkinnySecurityModeEnum>0</SkinnySecurityModeEnum>
<CapEnabled>true</CapEnabled>
</Port>
RESPONSE Code: 204
Modifying SIP Ports
The following is an example of the PUT request that modifies the SIP Ports:
https://<connection_server>/vmrest/ports/<sipobjectId>
The actual response will depend upon the information given by you.
Cisco Unity Connection Provisioning Interface (CUPI) API
770
Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations
Modifying Ports
Page 803
<Port>
<CapAnswer>true</CapAnswer>
<CapNotification>true</CapNotification>
<CapMWI>true</CapMWI>
<CapTrapConnection>true</CapTrapConnection>
<HuntOrder>0</HuntOrder>
<SkinnySecurityModeEnum>0</SkinnySecurityModeEnum>
<CapEnabled>true</CapEnabled>
</Port>
RESPONSE Code: 204
Deleting ports
The following is an example of the DELETE request that deletes a Port as represented by <portId>:
https://<connection_server>/vmrest/ports/<objectId>
The output for this request returns the successful response code.
RESPONSE Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API – SIP
Certificates
About SIP Certificates
This section contains information on how to list, modify, and delete SIP Certificates. The SIP certificate is
used only by SIP trunk integrations with Cisco Unified CM 7.0 and later, and is required for authentication
of the Cisco Unity Connection voice messaging ports.
Listing SIP Certificates
Example 1
The following is an example of the GET request that lists the SIP Certificates:
https://<connection_server>/vmrest/sipcertificates
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
771
Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations
Deleting ports
Page 804
<SipCertificates total="1">
<SipCertificate>
<URI>
/vmrest/sipcertificates/c55ef2c3-2475-4505-9566-bcea04a6bb6e
</URI>
<ObjectId>c55ef2c3-2475-4505-9566-bcea04a6bb6e</ObjectId>
<Certificate>
-----BEGIN CERTIFICATE----- MIICVzCCAcCgAwIBAgIQQmAlZbMuRhSQnNHI4sqpDjANBgkqhkiG9w0BAQUFADA6
MTgwNgYDVQQDEy9DaXNjb1VuaXR5LWJlMjc5NzZjLTZlNmUtNDE5Zi04NTNkLWIz
NzY0ODgxZGZiMDAeFw0xMjA3MTgxMzE1MTdaFw0xOTA3MTAwOTAwNThaMDsxGzAZ
BgNVBAoTEkNpc2NvIFN5c3RlbXMgSW5jLjEOMAwGA1UECxMFRUNTQlUxDDAKBgNV
BAMTA2FhYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwslps1QPmb/mtfSD
mHQ8tdnAPcIWriAqF283p7eQcGKdj9ji+YpDGmMFbaKG5NyPBzVCA2EXgNSrh2tX
8PTTUDUOlfGeqrol0H3kT1viFPxNIVVfnn6fuq4A8thoH54+QGlnOWqfuR6+Y4EZ
yT4yhygh5yhRIDW6PTHCyhUnMuUCAwEAAaNdMFswHQYDVR0OBBYEFJ2AaJ5nN36z
W6BaE5jVTEmAj54/MAsGA1UdDwQEAwIDqDAdBgNVHSUEFjAUBggrBgEFBQcDAQYI
KwYBBQUHAwIwDgYDVR0RBAcwBYYDYWFhMA0GCSqGSIb3DQEBBQUAA4GBAJffZqLV
7pmQ+1HEBUO3dVnNdDr7V6izeh3KgoUHW7cEzUuM5wjsRLV7Mh8H9YvGyQP2sMMc
iDRpJp4oNpnXZtwd8WEQcToaXvDOR9TfMr5tX9NdkAQGvb8pvt3kPd5cv3s79/Zy
DRhjKYIr7A0dKZEpNAFUhTTHbTeNQiOibaGF -----END
CERTIFICATE-----
</Certificate>
<PrivateKey>
USkzHb9O2SAH6sofOA1sM91H+Whkpxl+/Sit7MF4+IfPE7u1shotouFO9lT1ouADtbjYp2WsqzndpjPRUZ5I4na9nc4uBqLkrQ6FZ9r2POBgX5EkoA4l5oYUNhJyNIbdqND54Kn1iO6uIKV/NIngQBSGWM0i2Yh+HezEjP2TY9orxD0v6MHtBTsmZvcbWScwpzIAVE6dP2/OeI2+21zG82m+xLmJnfuyiZc/RcmZ2MqOqQYL3IV9Gmo8l09ocQhst2TYBCEsvI6+hId5YujfO1iyL/1r8GD7lQVBzicFPChR0rqUnGzlilrIpnEbenUs2HpLw/F+lg1awgGRwe3S5moYClBEor1b5g8UIPXAi0QJNF0Pm4P+ImLCfERghinxz/DSiuE5IVkwfdPUPzPknZt+4SjcX0/VU0zIg42lZ5Xl7rJRonA8a2bnFQkg9Vm8D/TqrzAy+tdawOGdlnuAN+Hov1prRZnR5zjkpJaImK3zE0WZyqJsyEQdVaMZEK0irb/fePw5nujRxNJi0eF/AsyDkKEaz5YrjDBZ8QuYAFOr1k9IJI0J8ZkU8krRQCztWdY63k89XqCRzkN0SxEwu39UDajCbFOq7dbDmkalvKfp6lcrRMZy0OtpB3XgzbBvdAb6H3YZquQdCrdtwSKb/VovNsqgWXbeocqf0v2SbJC+tdJIbZlDOMt7x/glz6z0GabyGb6w8SjYGN0xSUZ+ioVlmhZ8qMOZ3fwW87ctXaRo68jBDcQJHI2aeYDABMTe3MoMI0R5A4pWUkNWGCjWhyq52kXvY8mjIRhYCEkDxEsvd6l+XRm2A02PCPpX01eXZ5neZ30jApWkdEzfcQfV57DtEtn8NXv3GCiL59qjiABuA0aHtUmA36m6mfuh8QWqMRoZHI5eXUNjeTt3kyV4jINutEu8dVAujShai/e+wNEulE4clWjh6LaoHjfg3MR28f0/bv2yTPRy/z5zW4/7z8QwKDh20fnLsLt7VatD1HcKjV2sXB50DBkLz4izVrmkLebLaIUs5pYorAVGf7MpPgVkqcbaE+A4qxplnl2eQuQGe6a9IioFaY0UVmN3SCBke6lCDqB5qhWkqTOlJGHwV6LBz2hTnjhd62CP868clvL3YZsC6tdA7CxJPpQZ0b36iS6CclJge2mLVa+CQNnBK68HCP+9y0YdGewEiK+8+D+x6fZC7ng+SYn2iQYHYm9BP7nYdP0YWy/aMy/ga39oHRSyjWv8GfsQNcdFdgEUMCxVx+fUK0Ao8tQKiamJjm8xyCM27UK0RBvy98=
</PrivateKey>
<SubjectName>test</SubjectName>
<DisplayName>test</DisplayName>
</SipCertificate>
</SipCertificates>
Response code: 200
Example 2
The following is an example of the GET request that lists a specified SIP Certificate:
https://<connection_server>/vmrest/sipcertificate/<objectId>
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
772
Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations
Listing SIP Certificates
Page 805
<SipCertificate>
<URI>
/vmrest/sipcertificates/c55ef2c3-2475-4505-9566-bcea04a6bb6e
</URI>
<ObjectId>c55ef2c3-2475-4505-9566-bcea04a6bb6e</ObjectId>
<Certificate>
-----BEGIN CERTIFICATE----- MIICVzCCAcCgAwIBAgIQQmAlZbMuRhSQnNHI4sqpDjANBgkqhkiG9w0BAQUFADA6
MTgwNgYDVQQDEy9DaXNjb1VuaXR5LWJlMjc5NzZjLTZlNmUtNDE5Zi04NTNkLWIz
NzY0ODgxZGZiMDAeFw0xMjA3MTgxMzE1MTdaFw0xOTA3MTAwOTAwNThaMDsxGzAZ
BgNVBAoTEkNpc2NvIFN5c3RlbXMgSW5jLjEOMAwGA1UECxMFRUNTQlUxDDAKBgNV
BAMTA2FhYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwslps1QPmb/mtfSD
mHQ8tdnAPcIWriAqF283p7eQcGKdj9ji+YpDGmMFbaKG5NyPBzVCA2EXgNSrh2tX
8PTTUDUOlfGeqrol0H3kT1viFPxNIVVfnn6fuq4A8thoH54+QGlnOWqfuR6+Y4EZ
yT4yhygh5yhRIDW6PTHCyhUnMuUCAwEAAaNdMFswHQYDVR0OBBYEFJ2AaJ5nN36z
W6BaE5jVTEmAj54/MAsGA1UdDwQEAwIDqDAdBgNVHSUEFjAUBggrBgEFBQcDAQYI
KwYBBQUHAwIwDgYDVR0RBAcwBYYDYWFhMA0GCSqGSIb3DQEBBQUAA4GBAJffZqLV
7pmQ+1HEBUO3dVnNdDr7V6izeh3KgoUHW7cEzUuM5wjsRLV7Mh8H9YvGyQP2sMMc
iDRpJp4oNpnXZtwd8WEQcToaXvDOR9TfMr5tX9NdkAQGvb8pvt3kPd5cv3s79/Zy
DRhjKYIr7A0dKZEpNAFUhTTHbTeNQiOibaGF -----END CERTIFICATE-----
</Certificate>
<PrivateKey>
USkzHb9O2SAH6sofOA1sM91H+Whkpxl+/Sit7MF4+IfPE7u1shotouFO9lT1ouADtbjYp2WsqzndpjPRUZ5I4na9nc4uBqLkrQ6FZ9r2POBgX5EkoA4l5oYUNhJyNIbdqND54Kn1iO6uIKV/NIngQBSGWM0i2Yh+HezEjP2TY9orxD0v6MHtBTsmZvcbWScwpzIAVE6dP2/OeI2+21zG82m+xLmJnfuyiZc/RcmZ2MqOqQYL3IV9Gmo8l09ocQhst2TYBCEsvI6+hId5YujfO1iyL/1r8GD7lQVBzicFPChR0rqUnGzlilrIpnEbenUs2HpLw/F+lg1awgGRwe3S5moYClBEor1b5g8UIPXAi0QJNF0Pm4P+ImLCfERghinxz/DSiuE5IVkwfdPUPzPknZt+4SjcX0/VU0zIg42lZ5Xl7rJRonA8a2bnFQkg9Vm8D/TqrzAy+tdawOGdlnuAN+Hov1prRZnR5zjkpJaImK3zE0WZyqJsyEQdVaMZEK0irb/fePw5nujRxNJi0eF/AsyDkKEaz5YrjDBZ8QuYAFOr1k9IJI0J8ZkU8krRQCztWdY63k89XqCRzkN0SxEwu39UDajCbFOq7dbDmkalvKfp6lcrRMZy0OtpB3XgzbBvdAb6H3YZquQdCrdtwSKb/VovNsqgWXbeocqf0v2SbJC+tdJIbZlDOMt7x/glz6z0GabyGb6w8SjYGN0xSUZ+ioVlmhZ8qMOZ3fwW87ctXaRo68jBDcQJHI2aeYDABMTe3MoMI0R5A4pWUkNWGCjWhyq52kXvY8mjIRhYCEkDxEsvd6l+XRm2A02PCPpX01eXZ5neZ30jApWkdEzfcQfV57DtEtn8NXv3GCiL59qjiABuA0aHtUmA36m6mfuh8QWqMRoZHI5eXUNjeTt3kyV4jINutEu8dVAujShai/e+wNEulE4clWjh6LaoHjfg3MR28f0/bv2yTPRy/z5zW4/7z8QwKDh20fnLsLt7VatD1HcKjV2sXB50DBkLz4izVrmkLebLaIUs5pYorAVGf7MpPgVkqcbaE+A4qxplnl2eQuQGe6a9IioFaY0UVmN3SCBke6lCDqB5qhWkqTOlJGHwV6LBz2hTnjhd62CP868clvL3YZsC6tdA7CxJPpQZ0b36iS6CclJge2mLVa+CQNnBK68HCP+9y0YdGewEiK+8+D+x6fZC7ng+SYn2iQYHYm9BP7nYdP0YWy/aMy/ga39oHRSyjWv8GfsQNcdFdgEUMCxVx+fUK0Ao8tQKiamJjm8xyCM27UK0RBvy98=
</PrivateKey>
<SubjectName>test</SubjectName>
<DisplayName>test</DisplayName>
</SipCertificate>
Response code: 200
Modifying SIP Certificates
The following is an example of the PUT request that modifies the SIP Certificates:
https://<connection_server>/vmrest/ sipcertificates/<objectid>
The actual response will depend upon the information given by you.
<SipCertificate>
<SubjectName>test2</SubjectName>
<DisplayName>test2</DisplayName>
</SipCertificate>
Response code: 204
Deleting SIP Certificates
The following is an example of the DELETE request that deletes a specified SIP Certificates as represented
by <sipcertificateid>:
https://<connection_server>/vmrest/sipcertificates/<objectId>
The output for this request returns the successful response code.
Response code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
773
Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations
Modifying SIP Certificates
Page 806
Cisco Unity Connection Provisioning Interface (CUPI) API -- SIP
Profiles
Listing SIP Profiles
Generic Examples to List SIP Profiles
Example 1
The following is an example of the GET request that lists the SIP Profiles:
https:/<server_ip>/vmrest/sipsecurityprofiles
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<SipSecurityProfiles total="2"><SipSecurityProfile>
<URI>/vmrest/sipsecurityprofiles/87cab9a5-c68d-447a-ab4f-7cd2837aa240</URI>
<ObjectId>87cab9a5-c68d-447a-ab4f-7cd2837aa240</ObjectId><Port>5069</Port>
<DoTLS>false</DoTLS><DisplayName>5069</DisplayName>
</SipSecurityProfile><SipSecurityProfile>
<URI>/vmrest/sipsecurityprofiles/4d7e055a-cdcf-43ff-a922-4ce743939a23</URI>
<ObjectId>4d7e055a-cdcf-43ff-a922-4ce743939a23</ObjectId><Port>5066</Port>
<DoTLS>true</DoTLS><DisplayName>5066/TLS</DisplayName>
</SipSecurityProfile></SipSecurityProfiles>
<Pre> RESPONSE Code: 200
Example 2
The following is an example of the GET request that lists a specified SIP Profile:
https://<connection_server>/vmrest/sipsecurityprofiles/<objectId>
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
<SipSecurityProfile>
<URI>/vmrest/sipsecurityprofiles/87cab9a5-c68d-447a-ab4f-7cd2837aa240</URI>
<ObjectId>87cab9a5-c68d-447a-ab4f-7cd2837aa240</ObjectId><Port>5069</Port>
<DoTLS>false</DoTLS><DisplayName>5069</DisplayName>
</SipSecurityProfile><SipSecurityProfile>
<pre> Response code: 200
JSON Examples to List SIP Profiles
Example 1
The following is a JSON example of the GET request that lists the SIP Profiles:
https:/<connection_server>/vmrest/sipsecurityprofiles
Cisco Unity Connection Provisioning Interface (CUPI) API
774
Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations
Cisco Unity Connection Provisioning Interface (CUPI) API -- SIP Profiles
Page 807
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
{
"@total": "6",
"SipSecurityProfile":
{
"URI": "/vmrest/sipsecurityprofiles/08aef04e-8775-4ea5-916b-f7e36cbdb3d4",
"ObjectId": "08aef04e-8775-4ea5-916b-f7e36cbdb3d4",
"Port": "5065",
"DoTLS": "true",
"DisplayName": "5065/TLS"
},
{
"URI": "/vmrest/sipsecurityprofiles/b3c533a4-bc28-4c70-9912-c22edf81910e",
"ObjectId": "b3c533a4-bc28-4c70-9912-c22edf81910e",
"Port": "5062",
"DoTLS": "true",
"DisplayName": "5062/TLS"
},
{
"URI": "/vmrest/sipsecurityprofiles/e667342c-3ce2-49f7-ae2b-27daf850b159",
"ObjectId": "e667342c-3ce2-49f7-ae2b-27daf850b159",
"Port": "5088",
"DoTLS": "true",
"DisplayName": "5088/TLS"
},
{
"URI": "/vmrest/sipsecurityprofiles/9062519a-05d4-42f2-933e-250d5a24efb5",
"ObjectId": "9062519a-05d4-42f2-933e-250d5a24efb5",
"Port": "5067",
"DoTLS": "false",
"DisplayName": "5067"
},
{
"URI": "/vmrest/sipsecurityprofiles/9adbf7ac-c882-4ad1-84d5-d67d56d44d6d",
"ObjectId": "9adbf7ac-c882-4ad1-84d5-d67d56d44d6d",
"Port": "5077",
"DoTLS": "false",
"DisplayName": "5077"
},
{
"URI": "/vmrest/sipsecurityprofiles/15a3a4d9-65a0-456a-be38-4a4aff36554c",
"ObjectId": "15a3a4d9-65a0-456a-be38-4a4aff36554c",
"Port": "5060",
"DoTLS": "false",
"DisplayName": "5060"
}
}
<pre> RESPONSE Code: 200
Example 2
The following is a example of the GET request that lists a specified SIP Profile:
https://<connection_server>/vmrest/sipsecurityprofiles/<objectId>
The following is an example of the response from the above GET request and the actual response will
depend upon the information given by you:
Cisco Unity Connection Provisioning Interface (CUPI) API
775
Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations
Listing SIP Profiles
Page 808
{
"URI": "/vmrest/sipsecurityprofiles/9adbf7ac-c882-4ad1-84d5-d67d56d44d6d",
"ObjectId": "9adbf7ac-c882-4ad1-84d5-d67d56d44d6d",
"Port": "5077",
"DoTLS": "false",
"DisplayName": "5077"
}
RESPONSE Code: 200
Adding a new SIP Profiles
Example 1
The following is an example of the POST request that lists the SIP Profiles:
https://<connection_server>/vmrest/sipsecurityprofiles
The following is an example of the response from the above POST request and the actual response will
depend upon the information given by you:
<SipSecurityProfile>
<Port>5070</Port>
<DoTLS>true</DoTLS>
</SipSecurityProfile>
Response code: 201
Example 2
The following is a JSON example of the POST request that lists the SIP Profiles:
https://<connection_server>/vmrest/sipsecurityprofiles
The following is an example of the response from the above POST request and the actual response will
depend upon the information given by you:
{
"Port": "5080",
"DoTLS": "true"
}
Response code: 201
Modifying SIP Profiles
Example 1
The following is an example of the PUT request that modifies the SIP Profile:
https://<connection_server>/vmrest/sipsecurityprofiles/<objectId>
The actual response will depend upon the information given by you.
Cisco Unity Connection Provisioning Interface (CUPI) API
776
Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations
Adding a new SIP Profiles
Page 809
<SipSecurityProfile>
<Port>5070</Port>
<DoTLS>true</DoTLS>
</SipSecurityProfile>
Response code: 204
Example 2
The following is a JSON example of the PUT request that modifies the SIP Profile:
https://<connection_server>/vmrest/sipsecurityprofiles/<objectId>
The actual response will depend upon the information given by you.
{
"Port": "5077",
"DoTLS": "true"
}
Response code: 204
Deleting SIP Profiles
The following is an example of the DELETE request that deletes a specified SIP Profiles as represented by
<sipsecurityprofileid>:
https://<server-ip>/vmrest/ sipsecurityprofiles/<objectId>
The output for this request returns the successful response code.
Response Code: 204
Cisco Unity Connection Provisioning Interface (CUPI) API
777
Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations
Deleting SIP Profiles
Page 810
Cisco Unity Connection Provisioning Interface (CUPI) API
778
Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations
Deleting SIP Profiles